Why invent the bicycle?
because, frequent re-inventions revive the Market and so the Business. I know well, a former certified 2-wheel Mechanic, after the Mountain Bike Trend was 'born', the entire branch started to reflourish again, after a good decade of plain stagnation! I sold thousands...
It's a free choice market around OC, nothing more, Open Source, as it is called, so, why not just let the market decide ? And it would make very little sense, to 'present' a GIFT to Shop Users, all built-in, ready to start getting rich quick, without any idea, or clue, how something works.
One needs to learn, to at least basically understand Windows, even the cheapest Smart Phone, and one should learn to know a little about OC. And those, unwilling or unable to, just need to get a PRO. This is the way, it should work, exactly as it does in real Life, or then, every brainless Frog could eventually do, for what others invested a lot of time and brain. But this is strictly my personal opinion, the real market will select anyway...
---
But to possibly make real OC2 Life at least a little easier for you, last night, I modified a nice little free OcMod, to also work with my Custom Test OC v.2.2.6. So, I at least have ONE PLACE, to see all my Errors, instead of switching into different places, to have them all. It will also show VqMod installations+Errors, at least, if used in combination with the
integrated VqMod Extension, but I cannot test it in any other way or version...
I basically only changed in the DB Lines from SSL to TRUE, as I recall, to work with my Custom Multiseller Test OC v.2.2.6!
---
Take it as a little Gift, to calm down, there is nothing, we can do about, but take it or leave!
Ernie
---
Source used:
View all error logs on error logs Page, OCmod, free, OC v.2.0.0.0 - 2.0.2.0
https://www.opencart.com/index.php?rout ... n_id=22053
---
All error logs on one Page, OcMod, free, Modified Version for OC v.2.2.x
Filename:
error_log_all_logs.ocmod.xml
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<modification>
<name><![CDATA[Error log all logs]]></name>
<version><![CDATA[1.2.2 - OC_2.2.x]]></version>
<author><![CDATA[Quality Works - IP_CAM]]></author>
<code><![CDATA[oc22x_all_error_log]]></code>
<file path="admin/controller/tool/error_log.php">
<operation error="log">
<search><![CDATA[$file = DIR_LOGS . $this->config->get('config_error_filename');]]></search>
<add position="replace"><![CDATA[
if (isset($this->request->get['log'])) {
$file = DIR_LOGS . $this->request->get['log'];
$data['selected'] = $this->request->get['log'];
} else {
$file = DIR_LOGS . $this->config->get('config_error_filename');
$data['selected'] = $this->config->get('config_error_filename');
}
]]></add>
</operation>
<operation error="log">
<search><![CDATA[$data['text_confirm'] = $this->language->get('text_confirm');]]></search>
<add position="after"><![CDATA[
$data['entry_log'] = $this->language->get('entry_log');
]]></add>
</operation>
<operation error="log">
<search><![CDATA[$data['clear'] = $this->url->link('tool/error_log/clear', 'token=' . $this->session->data['token'], true);]]></search>
<add position="replace"><![CDATA[
if (isset($this->request->get['log'])) {
$data['clear'] = $this->url->link('tool/error_log/clear', 'token=' . $this->session->data['token'] . '&log=' . $this->request->get['log'], true);
} else {
$data['clear'] = $this->url->link('tool/error_log/clear', 'token=' . $this->session->data['token'], true);
}
$data['url'] = $this->url->link('tool/error_log', 'token=' . $this->session->data['token'], true);
]]></add>
</operation>
<operation error="log">
<search><![CDATA[$data['log'] = '';]]></search>
<add position="after"><![CDATA[
$data['files'] = array();
foreach (glob(DIR_LOGS . '*.log') as $result) {
$data['files'][] = $result;
}
]]></add>
</operation>
<operation error="log">
<search><![CDATA[$this->response->redirect($this->url->link('tool/error_log', 'token=' . $this->session->data['token'], true));]]></search>
<add position="replace"><![CDATA[
$this->response->redirect($this->url->link('tool/error_log', 'token=' . $this->session->data['token'] . '&log=' . basename($file), true));
]]></add>
</operation>
</file>
<file path="admin/language/*/tool/error_log.php">
<operation error="log">
<search><![CDATA[$_['text_list'] = 'Errors List';]]></search>
<add position="after"><![CDATA[
// Entry
$_['entry_log'] = 'Select log:';
]]></add>
</operation>
</file>
<file path="admin/view/template/tool/error_log.tpl">
<operation error="log">
<search><![CDATA[<textarea wrap="off" rows="15" readonly class="form-control"><?php echo $log; ?></textarea>]]></search>
<add position="replace"><![CDATA[
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label" for="input-log"><?php echo $entry_log; ?></label>
<div class="col-sm-10">
<select name="log" id="input-log" class="form-control">
<?php foreach ($files as $file) { ?>
<?php if ($selected == basename($file)) { ?>
<option value="<?php echo basename($file); ?>" selected="selected"><?php echo basename($file); ?></option>
<?php } else { ?>
<option value="<?php echo basename($file); ?>"><?php echo basename($file); ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<textarea wrap="off" rows="15" readonly="readonly" class="form-control"><?php echo htmlspecialchars($log); ?></textarea>
</div>
</div>
</form>
]]></add>
</operation>
<operation error="log">
<search><![CDATA[<?php echo $footer; ?>]]></search>
<add position="before"><![CDATA[
<script type="text/javascript"><!--
$('#input-log').on('change', function() {
var url = '<?php echo htmlspecialchars_decode($url); ?>&log=' + $('#input-log').val();
$(location).attr('href', url);
});
//--></script>
]]></add>
</operation>
</file>
</modification>