Post by angela » Sat Dec 03, 2016 1:18 am

Newly installed plugins, when I attempt to modify/enable them via:
Extensions -> Extensions -> select Module/Order total, etc.

This happens *only* with extensions (default modules work fine):
You do not have permission to access this page, please refer to your system administrator.
I checked:
Users -> User Groups -> Administrator is selected for everything.

Already cleared & refreshed Modifications cache.


Version 2.3.0.2

User avatar
New member

Posts

Joined
Fri Dec 02, 2016 2:14 am

Post by thekrotek » Sat Dec 03, 2016 2:26 am

OC 2.3 has very raw and practically non-existent compatibility with older extensions. Download our OpenCart 2.3 Compatibility Fixes extension on the OpenCart Store, check your permissions, uninstall then install extension again. Should help.

Professional OpenCart extensions, support and custom work.
Contact me via email or Skype by support@thekrotek.com


User avatar
Expert Member
Online

Posts

Joined
Sun Jul 03, 2016 12:24 am


Post by angela » Sat Dec 03, 2016 5:48 am

thekrotek wrote:OC 2.3 has very raw and practically non-existent compatibility with older extensions. Download our OpenCart 2.3 Compatibility Fixes extension, check your permissions, uninstall then install extension again. Should help.
Thank you!

I'm curious though, I had 2.3.0.3_rc installed for a bit and all but one of the "old" extensions I tried worked perfectly.
With the legit version of 2.3.0.3 I had nothing but conflicts.. does the release candidate close some of the conflicts that 2.3.0.3 doesn't?

User avatar
New member

Posts

Joined
Fri Dec 02, 2016 2:14 am

Post by thekrotek » Sat Dec 03, 2016 7:18 am

Nope, compatibility is completely broken since the very first release of OC 2.3 and will never be fixed. Actually, every trace of it will be removed in the upcoming release.

Professional OpenCart extensions, support and custom work.
Contact me via email or Skype by support@thekrotek.com


User avatar
Expert Member
Online

Posts

Joined
Sun Jul 03, 2016 12:24 am


Post by angela » Sat Dec 03, 2016 11:05 am

That's a bummer. Is every release like that, with Opencart? (Loss of functionalities that break extensions)

User avatar
New member

Posts

Joined
Fri Dec 02, 2016 2:14 am

Post by thekrotek » Sat Dec 03, 2016 4:26 pm

Unfortunately, yes, every major release of OC 2.0 breaks things and has no backward compatibility. But OC 2.3 is something special - it breaks ALL extensions on global scale and again has very weak compatibility code. Basically, there's none, because you won't be able to install and access extension properly. This is why we have this little extension, which adds this code and makes possible to use older versions of extensions, which at least compatible with 2.2.

Professional OpenCart extensions, support and custom work.
Contact me via email or Skype by support@thekrotek.com


User avatar
Expert Member
Online

Posts

Joined
Sun Jul 03, 2016 12:24 am


Post by angela » Sun Dec 04, 2016 12:50 pm

Interesting. I'm curious on the technical side of things - assuming there's vast improvements and that's what's causing the breakage.

Adding backwards compatibility, doesn't that create a step back on those improvements?

User avatar
New member

Posts

Joined
Fri Dec 02, 2016 2:14 am

Post by thekrotek » Sun Dec 04, 2016 2:47 pm

angela wrote:Interesting. I'm curious on the technical side of things - assuming there's vast improvements and that's what's causing the breakage.

Adding backwards compatibility, doesn't that create a step back on those improvements?
Depends on improvements. In OC 2.3 they changed the folder structure for extensions, packed them all in "extensions" folder, which also altered paths to controllers and models. Adding backwards compatibility in this case is easy and a must, nothing will become broken or help back.

Professional OpenCart extensions, support and custom work.
Contact me via email or Skype by support@thekrotek.com


User avatar
Expert Member
Online

Posts

Joined
Sun Jul 03, 2016 12:24 am


Post by MarketInSG » Mon Dec 05, 2016 12:45 pm

angela wrote:Interesting. I'm curious on the technical side of things - assuming there's vast improvements and that's what's causing the breakage.

Adding backwards compatibility, doesn't that create a step back on those improvements?
Not all releases of OpenCart kills the extensions...just so happen that 2.2 to 2.3 has quite a few structural change. 2.0 to 2.2 should be fine.


User avatar
Guru Member

Posts

Joined
Wed Nov 16, 2011 11:53 am
Location - Singapore

Post by angela » Tue Dec 06, 2016 7:07 am

thekrotek wrote:OC 2.3 has very raw and practically non-existent compatibility with older extensions. Download our OpenCart 2.3 Compatibility Fixes extension, check your permissions, uninstall then install extension again. Should help.
Is the XML in the zip supposed to go in /vqmod/xml?
I put the XML there and I still don't see the old mod showing in Modules to enable.
I also don't see your mod under "Modifications" to enable/disable.

I cleared & reset the Modifications cache. Is there anything else I have to do?

User avatar
New member

Posts

Joined
Fri Dec 02, 2016 2:14 am

Post by IP_CAM » Tue Dec 06, 2016 11:15 am

in case one has/uses no VqMod, or no VqMod Manager, to check on errors, I changed The Krotek's VqMod a little to hopefully work and be installed/handled like a regular OcMod.
At least, if this LINE, by example, will be handled correctly under OcMod Spec's:
path="admin/controller/extension/extension/" name="dashboard.php .....e.t.c.
It's untested, I use no OC v.2.3.x., so, I will change the code, if someone tell's me to.
Good Luck ;)
Ernie
opencart_2.3_compatibility_fixes.ocmod.xml

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<modification>
<name><![CDATA[OpenCart 2.3 Compatibility Fixes]]></name>
<version><![CDATA[2.0.5]]></version>
<code><![CDATA[krotek_compatibility_fixes]]></code>
<author><![CDATA[The Krotek]]></author>
<!-- Admin: Extensions -->
<file path="admin/controller/extension/extension/" name="dashboard.php,feed.php,fraud.php,module.php,payment.php,shipping.php,theme.php,total.php">
<operation error="log">
<search><![CDATA[$this->load->controller('extension]]></search>
<add position="before"><![CDATA[
		$type = strtolower(str_replace('ControllerExtensionExtension', '', __CLASS__));
		if (__FUNCTION__ == 'install') {
		$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', $type.'/'.$this->request->get['extension']);
		$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', $type.'/'.$this->request->get['extension']);
		}
		$this->load->controller($type.'/'.$this->request->get['extension'].'/'.__FUNCTION__);
]]></add>
</operation>

<operation error="log">
<search><![CDATA[$this->response->setOutput($this->load->view('extension/extension]]></search>
<add position="before"><![CDATA[
		$data['extensions'] = array_unique($data['extensions'], SORT_REGULAR);
		usort($data['extensions'], function($a, $b){ return strcmp($a["name"], $b["name"]); });
]]></add>
</operation>			
</file>
	
<!-- Admin: Compatibility -->
<file path="admin/controller/event/compatibility.php">
<operation error="log">
<search><![CDATA[$route = $part[1] . '/' . $part[2];]]></search>
<add position="after" index="2"><![CDATA[
		$part = explode('/', $route);
		$directories = array($this->config->get('config_admin_language'), $this->language->default, 'english');
		foreach ($directories as $directory) {
		if (!is_file(DIR_LANGUAGE.$directory.'/'.$route.'.php') && is_file(DIR_LANGUAGE.$directory.'/'.$part[1].'/'.$part[2].'.php')) {
		$route = $part[1].'/'.$part[2];
		break;
		}
		}
]]></add>
</operation>
</file>
		
<!-- System: Language -->
<file path="system/library/language.php">
<operation error="log">
<search><![CDATA[private $default = 'en-gb';]]></search>
<add position="replace"><![CDATA[
		public $default = 'en-gb';
]]></add>
</operation>
</file>
		
<!-- System: Config -->
<file path="system/config/catalog.php">
<operation error="log">
<search><![CDATA[$_['action_event'] = array(]]></search>
<add position="after"><![CDATA[
		'controller/extension/analytics/*/before' => 'event/compatibility/controller',
		'controller/extension/captcha/*/before'   => 'event/compatibility/controller',
		'controller/extension/feed/*/before'      => 'event/compatibility/controller',
		'controller/extension/fraud/*/before'     => 'event/compatibility/controller',
		'controller/extension/module/*/before'    => 'event/compatibility/controller',
		'controller/extension/payment/*/before'   => 'event/compatibility/controller',
		'controller/extension/recurring/*/before' => 'event/compatibility/controller',
		'controller/extension/shipping/*/before'  => 'event/compatibility/controller',
		'controller/extension/theme/*/before'     => 'event/compatibility/controller',
		'controller/extension/total/*/before'     => 'event/compatibility/controller',
]]></add>
</operation>
</file>
	
<!-- Catalog: Checkout -->
<file path="catalog/controller/checkout/cart.php">
<operation error="log">
<search><![CDATA[if ($files) {]]></search>
<add position="before"><![CDATA[
		$files = array_merge($files, glob(DIR_APPLICATION.'controller/total/*.php'));
]]></add>
</operation>

<operation error="log">
<search><![CDATA[if ($files) {]]></search>
<add position="after"><![CDATA[
		$modules = array();
]]></add>
</operation>			

<operation error="log">
<search><![CDATA[if ($result) {]]></search>
<add position="before"><![CDATA[
		$modules[] = basename($file, '.php');
		}
		foreach (array_unique($modules) as $module) {
		$result = $this->load->controller('extension/total/'.$module);
]]></add>
</operation>		
</file>
</modification>

I'm rarely active at the OC Forum lately. To reach me, contact: jti@jacob.ch
A Demoversion of my free OpenCart LIGHT v.1.5.6.5 Software Edition
can be seen in real Action here: http://www.jti.li/shop/
---
1'100+ FREE OC Extension-Repositories - from OC v.1.5.x up,
on the world's largest OC-related Github Site: https://github.com/IP-CAM
---
Image


User avatar
Legendary Member

Posts

Joined
Tue Mar 04, 2014 1:37 am
Location - Switzerland

Post by angela » Tue Dec 06, 2016 11:47 pm

IP_CAM wrote:in case one has/uses no VqMod, or no VqMod Manager, to check on errors, I changed The Krotek's VqMod a little to hopefully work and be installed/handled like a regular OcMod.
At least, if this LINE, by example, will be handled correctly under OcMod Spec's:
path="admin/controller/extension/extension/" name="dashboard.php .....e.t.c.
It's untested, I use no OC v.2.3.x., so, I will change the code, if someone tell's me to.
Good Luck ;)
Ernie
I use vqmod, but tried your code, it installed and I now see the Mod under Modifications. I assume it's already enabled? The only option is to disable it.

The one page checkout mod still isn't loading:
MOD DETAILS:
modFile : /var/www/html/vqmod/xml/a_vqmod_d_quickcheckout.xml
id : AJAX QUICK CHECKOUT V6 BY DREAMVENTION
version : 2.0.0.0
vqmver : 2.2.1
author : dreamvention.com
VQModObject::parseMods - Could not resolve path for [system/library/tax.php] (SKIPPED)
VQModObject::parseMods - Could not resolve path for [system/library/tax.php] (SKIPPED)
VQModObject::parseMods - Could not resolve path for [system/library/tax.php] (SKIPPED)
(Isn't the above mod supposed to fix these dependencies?)

Hardcoding system/library/cart/tax.php where system/library/tax.php is called in a_vqmod_d_quickcheckout.xml had no change.

User avatar
New member

Posts

Joined
Fri Dec 02, 2016 2:14 am
Who is online

Users browsing this forum: thekrotek and 26 guests