@@ -23,8 +23,6 @@ class Mage_Admin_Model_Resource_Acl extends Mage_Core_Model_Resource_Db_Abstract
23
23
{
24
24
public const ACL_ALL_RULES = 'all ' ;
25
25
26
- protected $ _orphanedResources = [];
27
-
28
26
/**
29
27
* Initialize resource
30
28
*
@@ -114,6 +112,7 @@ public function loadRoles(Mage_Admin_Model_Acl $acl, array $rolesArr)
114
112
*/
115
113
public function loadRules (Mage_Admin_Model_Acl $ acl , array $ rulesArr )
116
114
{
115
+ $ orphanedResources = [];
117
116
foreach ($ rulesArr as $ rule ) {
118
117
$ role = $ rule ['role_type ' ] . $ rule ['role_id ' ];
119
118
$ resource = $ rule ['resource_id ' ];
@@ -134,8 +133,8 @@ public function loadRules(Mage_Admin_Model_Acl $acl, array $rulesArr)
134
133
$ acl ->deny ($ role , $ resource , $ privileges , $ assert );
135
134
}
136
135
} catch (Zend_Acl_Exception $ e ) {
137
- if (!in_array ($ resource , $ this -> _orphanedResources ) && strpos ($ e ->getMessage (), "Resource ' $ resource' not found " ) !== false ) {
138
- $ this -> _orphanedResources [] = $ resource ;
136
+ if (!in_array ($ resource , $ orphanedResources ) && strpos ($ e ->getMessage (), "Resource ' $ resource' not found " ) !== false ) {
137
+ $ orphanedResources [] = $ resource ;
139
138
}
140
139
} catch (Exception $ e ) {
141
140
if (Mage::getIsDeveloperMode ()) {
@@ -144,11 +143,11 @@ public function loadRules(Mage_Admin_Model_Acl $acl, array $rulesArr)
144
143
}
145
144
}
146
145
147
- if ($ this -> _orphanedResources !== []) {
146
+ if ($ orphanedResources !== [] && $ acl -> isAllowed (Mage:: getSingleton ( ' admin/session ' )-> getUser ()-> getAclRole (), ' admin/system/acl/orphaned_resources ' ) ) {
148
147
Mage::getSingleton ('adminhtml/session ' )->addNotice (
149
148
Mage::helper ('adminhtml ' )->__ (
150
149
'The following role resources are no longer available in the system: %s. You can delete them by <a href="%s">clicking here</a>. ' ,
151
- implode (', ' , $ this -> _orphanedResources ),
150
+ implode (', ' , $ orphanedResources ),
152
151
Mage::helper ("adminhtml " )->getUrl ('adminhtml/permissions_orphanedResource ' )
153
152
)
154
153
);
0 commit comments