Index: branches/5.1.x/core/units/helpers/permissions_helper.php =================================================================== diff -u -N -r13581 -r13584 --- branches/5.1.x/core/units/helpers/permissions_helper.php (.../permissions_helper.php) (revision 13581) +++ branches/5.1.x/core/units/helpers/permissions_helper.php (.../permissions_helper.php) (revision 13584) @@ -1,6 +1,6 @@ Application->isDebugMode(false)) { + // universal "debug" permission + return true; + } + $perm_name = $section.'.'.$perm_name; $perm_status = $this->CheckPermission($perm_name, 1); if (($perm_name == $section.'.add') && $perm_status && ($top_prefix == $event->Prefix)) { @@ -170,7 +175,8 @@ // mapping between specific permissions and common permissions static $perm_mapping = Array( 'add' => 'ADD', 'add.pending' => 'ADD.PENDING', 'edit' => 'MODIFY', - 'edit.pending' => 'MODIFY.PENDING', 'delete' => 'DELETE', 'view' => 'VIEW' + 'edit.pending' => 'MODIFY.PENDING', 'delete' => 'DELETE', 'view' => 'VIEW', + 'debug' => 'DEBUG' ); $top_prefix = $event->getEventParam('top_prefix'); @@ -243,6 +249,12 @@ // not mapped permission (e.g. advanced:approve) -> skip continue; } + + if ($perm_name == 'debug' && $this->Application->isDebugMode(false)) { + // universal "debug" permission + return true; + } + $perm_name = $item_prefix.'.'.$perm_mapping[$perm_name]; $perm_status = $this->CheckPermission($perm_name, 0, (int)$category_id);