summaryrefslogtreecommitdiffstats
path: root/inc/permission.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/permission.inc.php')
-rw-r--r--inc/permission.inc.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/inc/permission.inc.php b/inc/permission.inc.php
new file mode 100644
index 00000000..b63e9d45
--- /dev/null
+++ b/inc/permission.inc.php
@@ -0,0 +1,25 @@
+<?php
+
+class Permission
+{
+ private static $permissions = false;
+
+ public static function get($permission)
+ {
+ self::init();
+ if (!isset(self::$permissions[$permission])) Util::traceError('Invalid permission: ' . $permission);
+ return self::$permissions[$permission];
+ }
+
+ private static function init()
+ {
+ if (self::$permissions !== false) return;
+ self::$permissions = array();
+ $res = Database::simpleQuery('SELECT mask, identifier FROM permission');
+ while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
+ self::$permissions[$row['identifier']] = $row['mask'];
+ }
+ }
+
+}
+