From c3a4746d44a3909e1281bbb575987888ae80ac7b Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 14 Feb 2018 13:19:58 +0100 Subject: [inc/Permission] Add parameter to helper; fix for querying foreign module --- inc/permission.inc.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/inc/permission.inc.php b/inc/permission.inc.php index defa9f4d..cd41e986 100644 --- a/inc/permission.inc.php +++ b/inc/permission.inc.php @@ -16,23 +16,32 @@ class Permission } - public static function addGlobalTags(&$array, $locationid, $disabled) + // TODO: Doc/Refactor + public static function addGlobalTags(&$array, $locationid, $disabled, $noneAvailDisabled = null) { if (!Module::isAvailable('permissionmanager')) return; + $one = false; foreach ($disabled as $perm) { - if (User::hasPermission($perm, $locationid)) + if (User::hasPermission($perm, $locationid)) { + $one = true; continue; + } if (strpos($perm, '.') === false) { $array[$perm]['disabled'] = 'disabled'; continue; } $temp =& $array; foreach (explode('.', $perm) as $sub) { + if (empty($sub)) + continue; $temp =& $temp[$sub]; } $temp['disabled'] = 'disabled'; } + if (!$one && !is_null($noneAvailDisabled)) { + $array[$noneAvailDisabled]['disabled'] = true; + } } } -- cgit v1.2.3-55-g7522