summaryrefslogtreecommitdiffstats
path: root/modules-available/permissionmanager/inc/permissionutil.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/permissionmanager/inc/permissionutil.inc.php')
-rw-r--r--modules-available/permissionmanager/inc/permissionutil.inc.php14
1 files changed, 2 insertions, 12 deletions
diff --git a/modules-available/permissionmanager/inc/permissionutil.inc.php b/modules-available/permissionmanager/inc/permissionutil.inc.php
index 46b8c065..6aa97600 100644
--- a/modules-available/permissionmanager/inc/permissionutil.inc.php
+++ b/modules-available/permissionmanager/inc/permissionutil.inc.php
@@ -83,14 +83,12 @@ class PermissionUtil
$locations = [0];
} else {
$locations = Location::getLocationRootChain($locationid);
- if (empty($locations)) { // Non-existent location, still continue as user might have global perms
- $locations = [0];
- }
+ $locations[] = 0;
}
$cache =& self::$permissionCacheLoc;
if (array_key_exists($key, $cache)) {
if (array_key_exists($locationid, $cache[$key]))
- return $cache[$key][$locationid]; // Exact match - return immedtiately
+ return $cache[$key][$locationid]; // Exact match - return immediately
foreach ($locations as $lid) {
if (array_key_exists($lid, $cache[$key]) && $cache[$key][$lid]) {
$cache[$key][$locationid] = true;
@@ -149,14 +147,6 @@ class PermissionUtil
$cache[$key] = $retval;
} else {
$cache[$key][$locationid] = $retval;
- if ($cacheAll) {
- $locations = array_keys($allLocs);
- }
- foreach ($locations as $lid) {
- if (!array_key_exists($lid, $cache[$key])) {
- $cache[$key][$lid] = false;
- }
- }
}
return $retval;
}