From 3e4c27599f920e6f630f048f494f5d196fc81b8e Mon Sep 17 00:00:00 2001 From: Udo Walter Date: Tue, 25 Apr 2017 14:50:37 +0200 Subject: [permissionmanager] added possibility to get a list of allowed locations for a given permission + bugfixes --- inc/user.inc.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'inc') diff --git a/inc/user.inc.php b/inc/user.inc.php index 3606f025..13e56cd3 100644 --- a/inc/user.inc.php +++ b/inc/user.inc.php @@ -30,15 +30,24 @@ class User { if (!self::isLoggedIn()) return false; - if (Module::get("permissionmanager")) { - require_once "modules/permissionmanager/inc/permissionutil.inc.php"; - $module = Request::get("do", false); - $permission = $module ? $module.".".$permission : $permission; + if (Module::isAvailable("permissionmanager")) { + $module = Page::getModule(); + $permission = $module ? $module->getIdentifier().".".$permission : $permission; return PermissionUtil::userHasPermission(self::$user['userid'], $permission, $locationid); } return (self::$user['permissions'] & (Permission::get($permission) | Permission::get('superadmin'))) != 0; } + public static function getAllowedLocations($permission) + { + if (Module::isAvailable("permissionmanager")) { + $module = Page::getModule(); + $permission = $module ? $module->getIdentifier().".".$permission : $permission; + return PermissionUtil::getAllowedLocations(self::$user['userid'], $permission); + } + return array(); + } + public static function load() { if (self::isLoggedIn()) -- cgit v1.2.3-55-g7522