diff options
author | Simon Rettberg | 2018-02-15 13:23:57 +0100 |
---|---|---|
committer | Simon Rettberg | 2018-02-15 13:23:57 +0100 |
commit | 092b99fb7964ba15d7f20119ef7bd51ca1f2675f (patch) | |
tree | 252b5f4bb3ad7cef2bba88e3369514de9d1f9f57 | |
parent | [rebootcontrol] Rewrite permission handling, simplify html/javascript (diff) | |
download | slx-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.php | 8 |
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')) { |