there are 2 days that I have this error.
If I try to modify my moduled installed have error Permission Denied.
I tried everything...first in user group give permisson to all,also for modification,
then tried to generate a new api and selected it to my settings but still now have this problem.
tried to create a new user, new user group , resetted my db permission, cancelled cookie , cancelled vqmod cache.
I tried also a fresh install also have disable all my added extensions but without good result.
I sow 1 thing that at first time when I install a new module/extension with default installer it's ok but as soon as I install a second extension the first one gives me the error of permission denied.
if disable and enable it take control and can modify but other modules then have error of permission denied.
look like I have permission for only 1 extension at time does not depend on kind of extension i'm installing.
Please help me
can create also a user or ftp account for people that can try help me.
thank you
thank you for your replay and help.
but the only 2 extension that I have on my site are journal theme that is compatible and nitropack who gives me support and resolve the compatibilty.
I will try the extension you wrote.
I thing there is some bugs also but this is my idea.
thank you
to help someone else who has the same problem.
this is the fix from a nice boy on github.
Thank you DREAMVENTION'S
save the obove code on xml and put on directory xml of your vqmod.
Code: Select all
<modification>
<id>d_compatibilty_fix_230</id>
<version>1.0.0</version>
<vqmver>2.1.1</vqmver>
<author>Dreamvention.com</author>
<file name="admin/controller/event/compatibility.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="replace"><![CDATA[$route = $part[1] . '/' . $part[2];]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml 1]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml 1
unset($part[0]);
$route = implode('/', $part);
]]></add>
</operation>
<!-- <operation error="skip" info="fix for 2.3.0.x">
<search position="replace" offset="2"><![CDATA[if (!is_file(DIR_LANGUAGE . $this->config->get('config_language') . '/' . $route . '.php') && is_file(DIR_LANGUAGE . $this->config->get('config_language') . '/' . $part[1] . '/' . $part[2] . '.php')) {]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml 2]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml 2
$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>
<file name="admin/controller/extension/extension/feed.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="after"><![CDATA[$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/feed/' . $this->request->get['extension']);]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'feed/' . $this->request->get['extension']);
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'feed/' . $this->request->get['extension']);
]]></add>
</operation>
</file>
<file name="admin/controller/extension/extension/fraud.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="after"><![CDATA[$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/fraud/' . $this->request->get['extension']);]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'fraud/' . $this->request->get['extension']);
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'fraud/' . $this->request->get['extension']);
]]></add>
</operation>
</file>
<file name="admin/controller/extension/extension/module.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="after"><![CDATA[$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/module/' . $this->request->get['extension']);]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'module/' . $this->request->get['extension']);
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'module/' . $this->request->get['extension']);
]]></add>
</operation>
</file>
<file name="admin/controller/extension/extension/payment.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="after"><![CDATA[$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/payment/' . $this->request->get['extension']);]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'payment/' . $this->request->get['extension']);
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'payment/' . $this->request->get['extension']);
]]></add>
</operation>
</file>
<file name="admin/controller/extension/extension/shipping.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="after"><![CDATA[$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/shipping/' . $this->request->get['extension']);]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'shipping/' . $this->request->get['extension']);
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'shipping/' . $this->request->get['extension']);
]]></add>
</operation>
</file>
<file name="admin/controller/extension/extension/theme.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="after"><![CDATA[$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/theme/' . $this->request->get['extension']);]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'theme/' . $this->request->get['extension']);
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'theme/' . $this->request->get['extension']);
]]></add>
</operation>
</file>
<file name="admin/controller/extension/extension/total.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="after"><![CDATA[$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/total/' . $this->request->get['extension']);]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'total/' . $this->request->get['extension']);
$this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'total/' . $this->request->get['extension']);
]]></add>
</operation>
</file>
<file name="catalog/controller/event/compatibility.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="replace"><![CDATA[$route = $part[1] . '/' . $part[2];]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml 1]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml 1
unset($part[0]);
$route = implode('/', $part);
]]></add>
</operation>
<!-- <operation error="skip" info="fix for 2.3.0.x">
<search position="replace" offset="2"><![CDATA[if (!is_file(DIR_LANGUAGE . $this->config->get('config_language') . '/' . $route . '.php') && is_file(DIR_LANGUAGE . $this->config->get('config_language') . '/' . $part[1] . '/' . $part[2] . '.php')) {]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml 2]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml 2
$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>
<file name="system/library/cart/user.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="replace"><![CDATA[return in_array($value, $this->permission[$key]);]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml
$part = explode('/', $value);
unset($part[0]);
return (in_array($value, $this->permission[$key]) || in_array(implode('/', $part), $this->permission[$key])) ? true: false;
]]></add>
</operation>
</file>
<!-- <file name="system/library/language.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="replace"><![CDATA[private $default = 'en-gb';]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml 1]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml 1
public $default = 'en-gb';
]]></add>
</operation>
<operation error="skip" info="fix for 2.3.0.x">
<search position="replace"><![CDATA[$old_file = DIR_LANGUAGE . 'english/' . str_replace('extension/', '', $filename) . '.php';]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml 2]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml 2
]]></add>
</operation>
<operation error="skip" info="fix for 2.3.0.x">
<search position="replace" offset="1"><![CDATA[} elseif (is_file($old_file)) {]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml 2]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml 2
]]></add>
</operation>
<operation error="skip" info="fix for 2.3.0.x">
<search position="replace"><![CDATA[$old_file = DIR_LANGUAGE . $this->default . '/' . str_replace('extension/', '', $filename) . '.php';]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml 3]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml 3
]]></add>
</operation>
<operation error="skip" info="fix for 2.3.0.x">
<search position="replace"><![CDATA[$old_file = DIR_LANGUAGE . $this->directory . '/' . str_replace('extension/', '', $filename) . '.php';]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml 4]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml 4
]]></add>
</operation>
</file> -->
<file name="system/config/catalog.php">
<operation error="skip" info="fix for 2.3.0.x">
<search position="after"><![CDATA[$_['action_event'] = array(]]></search>
<ignoreif><![CDATA[//d_compatibilty_fix_230.xml]]></ignoreif>
<add><![CDATA[
//d_compatibilty_fix_230.xml
'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>
</modification>
The issue I have is when you go to // admin/index.php?route=user/user_permission as a top administrator.
Everything in access permission and modify permission is checked ...
If we hit save ...
Everything in access permission is saved ... but some in modify permission becomes unchecked
Any idea ?
I have this problem too. and search google for it. but i did not find at all!
I solved by this method. go to database > oc or any perfix_user_group > Edit Administrator account > Add this tag "user\/user","user\/user_permission" to end permission .
After you set the rights back in the database it works oke, then when you set all the rights back in the backend of opencart you can save one or two things and then all the user group rights are reseted to almost no rights again.
We need a fix for this!!!
December 2017 and oc 2.3.0.2 has this issue. :/
It's such a time waster.
I am currently having this issue too
Self Taught Opencart User & Developer Since 2010.
Well, in December 2017 OC 2.3.0.2 is still OC 2.3.0.2 and it will remain OC 2.3.0.2 in December 2018. What did you expect?Rainforest wrote: ↑Mon Dec 11, 2017 5:16 amI can't believe this is STILL going on.
December 2017 and oc 2.3.0.2 has this issue. :/
It's such a time waster.
I am currently having this issue too
Professional OpenCart extensions, support and custom work.
Contact me via email or Skype by support@thekrotek.com
Well, the OP uses two of the most cumbersome 3rd party OpenCart extensions. The Journal theme in particular does not abide by the OpenCart standards and often will cause conflicts with other 3rd party extensions. In order to narrow it down, it is always a good idea to first test a new extension using the OpenCart default theme.thekrotek wrote: ↑Mon Dec 11, 2017 5:39 amWell, in December 2017 OC 2.3.0.2 is still OC 2.3.0.2 and it will remain OC 2.3.0.2 in December 2018. What did you expect?Rainforest wrote: ↑Mon Dec 11, 2017 5:16 amI can't believe this is STILL going on.
December 2017 and oc 2.3.0.2 has this issue. :/
It's such a time waster.
I am currently having this issue too
Export/Import Tool * SpamBot Buster * Unused Images Manager * Instant Option Price Calculator * Number Option * Google Tag Manager * Survey Plus * OpenTwig
Self Taught Opencart User & Developer Since 2010.
I am not saying not to use certain extensions, just, that you need to be aware of potential conflicts between various 3rd party extensions. The Journal theme is one which can be in conflict with many other extensions. Hence in order to narrow it down, you can temporarily disable Journal, to see whether this resolves the issues. If it does, then you can always ask the author of Journal to make it compatible with whatever other extensions you use. This approach has helped me resolving many issues in the past.Rainforest wrote: ↑Mon Dec 11, 2017 6:59 pmI use Journal theme (many people too) and some 3rd party extensions, too. I think it's unrealistic to think people wouldn't be using 3rd party extensions. Also, journal theme is quite popular. Thanks anyway, I'm just trying to figure this out.
Export/Import Tool * SpamBot Buster * Unused Images Manager * Instant Option Price Calculator * Number Option * Google Tag Manager * Survey Plus * OpenTwig
Anyone any progress with this error of the user rights are set back right (to almost no rights) after a setting? I made a copy of the files and database and tried to find the error in the copy by uninstalling all the 3rd pary extensions, which was very hard because of this problem. I uninstalled them all without any result on the 'Permission Denied' error, except for one event extension of the template (from Themeburn) which i could not uninstall also could not find it manually in the files.
But so far the error is still there and i was wondering if any of you made any progress with this still going on problem! My website is working but making changes is hard or impossible!
Any ideas / suggestions or solutions?
Attachments
events extension - screenshot events used by extensions.PNG (34.93 KiB) Viewed 6455 times
error modify user groups 2 - screenshot - error modify user groups 2.PNG (42.82 KiB) Viewed 6455 times
error modify user groups - screenshot - error modify user groups.PNG (31.25 KiB) Viewed 6455 times
The database modification was not correct. First i set all the reading right so i know all the rights which has to be set to modify as well. Then i opened the permission value of the oc_user_group in he database and copied it into a txt file.
Then i search for "modify" and copy all the data that was after "access": to after the "modify": so that the access and modify rights where the same.
That solved my problem! I hope it can help some of you guys too!
If you upgraded from a previous version of OC you have old extension files. Those are causing conflicts and "resetting" your admin privalleges.
You need to go folder by folder and remove the old files. It took me like 1 hour. I'm running 2.3.0.2 and I found old extensions from 1.5.4! I felt much better deleting these leftover files. You will, too.
This is all assuming you are running a store that was upgraded.
Self Taught Opencart User & Developer Since 2010.
Users browsing this forum: No registered users and 75 guests