summaryrefslogtreecommitdiffstats
path: root/inc/permission.inc.php
diff options
context:
space:
mode:
authorroot2019-02-19 18:53:50 +0100
committerroot2019-02-19 18:53:50 +0100
commit0ad4c0f8196b61699754762aacbaab0223478ab9 (patch)
treede434c4aea8d07ecd01cd3badd48d057d62c2d1b /inc/permission.inc.php
parent[usb-lock-off] Edit rule cleanup and fix of the dropdown boxes. (diff)
parent[statistics] Fix RAM change warning to handle increase too (diff)
downloadslx-admin-0ad4c0f8196b61699754762aacbaab0223478ab9.tar.gz
slx-admin-0ad4c0f8196b61699754762aacbaab0223478ab9.tar.xz
slx-admin-0ad4c0f8196b61699754762aacbaab0223478ab9.zip
Merge branch 'master' into usb-lock-offusb-lock-off
Diffstat (limited to 'inc/permission.inc.php')
-rw-r--r--inc/permission.inc.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/inc/permission.inc.php b/inc/permission.inc.php
index d04e3c3b..aaef6ba6 100644
--- a/inc/permission.inc.php
+++ b/inc/permission.inc.php
@@ -15,5 +15,41 @@ class Permission
return self::$permissions[$permission];
}
+
+ // TODO: Doc/Refactor
+ public static function addGlobalTags(&$array, $locationid, $disabled, $noneAvailDisabled = null)
+ {
+ if (Module::get('permissionmanager') === false)
+ return;
+ $one = false;
+ foreach ($disabled as $perm) {
+ if (User::hasPermission($perm, $locationid)) {
+ $one = true;
+ continue;
+ }
+ if (strpos($perm, '.') === false) {
+ $array[$perm] = ['disabled' => 'disabled', 'readonly' => 'readonly'];
+ continue;
+ }
+ $temp =& $array;
+ foreach (explode('.', $perm) as $sub) {
+ if (empty($sub) || $sub === '*')
+ continue;
+ $temp =& $temp[$sub];
+ }
+ $temp = ['disabled' => 'disabled', 'readonly' => 'readonly'];
+ }
+ if (!$one && !is_null($noneAvailDisabled)) {
+ $array[$noneAvailDisabled]['disabled'] = true;
+ }
+ }
+
+ public static function moduleHasPermissions($moduleId)
+ {
+ if (Module::get('permissionmanager') === false)
+ return true;
+ return file_exists('modules/' . $moduleId . '/permissions/permissions.json');
+ }
+
}