From 3d88bb5a4223d3fdc9084eee3e75defc8da674b0 Mon Sep 17 00:00:00 2001 From: Udo Walter Date: Tue, 21 Nov 2017 17:24:44 +0100 Subject: [permissionmanager] added key relationships to install script; changed nested php for loops to sql code; standardized sql column naming; small bugfixes; --- modules-available/permissionmanager/inc/permissionutil.inc.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'modules-available/permissionmanager/inc/permissionutil.inc.php') diff --git a/modules-available/permissionmanager/inc/permissionutil.inc.php b/modules-available/permissionmanager/inc/permissionutil.inc.php index 5c3eef58..17257eec 100644 --- a/modules-available/permissionmanager/inc/permissionutil.inc.php +++ b/modules-available/permissionmanager/inc/permissionutil.inc.php @@ -11,7 +11,7 @@ class PermissionUtil } $res = Database::simpleQuery("SELECT role_x_permission.permissionid as 'permissionid', - role_x_location.locid as 'locationid' + role_x_location.locationid as 'locationid' FROM user_x_role INNER JOIN role_x_permission ON user_x_role.roleid = role_x_permission.roleid LEFT JOIN role_x_location ON role_x_permission.roleid = role_x_location.roleid @@ -29,11 +29,11 @@ class PermissionUtil public static function getAllowedLocations($userid, $permissionid) { - $res = Database::simpleQuery("SELECT role_x_permission.permissionid as 'permissionid', - role_x_location.locid as 'locationid' + $res = Database::simpleQuery("SELECT role_x_permission.permissionid, rxl.locationid FROM user_x_role INNER JOIN role_x_permission ON user_x_role.roleid = role_x_permission.roleid - LEFT JOIN role_x_location ON role_x_permission.roleid = role_x_location.roleid + LEFT JOIN (SELECT roleid, COALESCE(locationid, 0) AS locationid FROM role_x_location) rxl + ON role_x_permission.roleid = rxl.roleid WHERE user_x_role.userid = :userid", array("userid" => $userid)); $allowedLocations = array(); @@ -53,7 +53,7 @@ class PermissionUtil return $allowedLocations; } - private static function getSublocations($tree, $locations) { + public static function getSublocations($tree, $locations) { $result = array_flip($locations); foreach ($tree as $location) { if (array_key_exists("children", $location)) { -- cgit v1.2.3-55-g7522