From 092b99fb7964ba15d7f20119ef7bd51ca1f2675f Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 15 Feb 2018 13:23:57 +0100 Subject: [inc/User] getAllowedLocations(): Support cross-module checking --- inc/user.inc.php | 8 ++++++-- 1 file 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')) { -- cgit v1.2.3-55-g7522