summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2018-02-15 13:23:57 +0100
committerSimon Rettberg2018-02-15 13:23:57 +0100
commit092b99fb7964ba15d7f20119ef7bd51ca1f2675f (patch)
tree252b5f4bb3ad7cef2bba88e3369514de9d1f9f57
parent[rebootcontrol] Rewrite permission handling, simplify html/javascript (diff)
downloadslx-admin-092b99fb7964ba15d7f20119ef7bd51ca1f2675f.tar.gz
slx-admin-092b99fb7964ba15d7f20119ef7bd51ca1f2675f.tar.xz
slx-admin-092b99fb7964ba15d7f20119ef7bd51ca1f2675f.zip
[inc/User] getAllowedLocations(): Support cross-module checking
-rw-r--r--inc/user.inc.php8
1 files changed, 6 insertions, 2 deletions
diff --git a/inc/user.inc.php b/inc/user.inc.php
index eee4f883..79facffc 100644
--- a/inc/user.inc.php
+++ b/inc/user.inc.php
@@ -68,8 +68,12 @@ class User
if (!self::isLoggedIn())
return [];
if (Module::isAvailable("permissionmanager")) {
- $module = Page::getModule();
- $permission = $module ? $module->getIdentifier().".".$permission : $permission;
+ if ($permission{0} === '.') {
+ $permission = substr($permission, 1);
+ } else {
+ $module = Page::getModule();
+ $permission = $module ? $module->getIdentifier() . "." . $permission : $permission;
+ }
return PermissionUtil::getAllowedLocations(self::$user['userid'], $permission);
}
if (self::$user['permissions'] & Permission::get('superadmin')) {