auth: admin permissions per function
[minimedit.git] / auth.inc.php
index ca34e4f9de909316bcb904955341913f64e6dee0..a1ccedf50cf16ea328ac107e4c8ee8fd9326fa15 100644 (file)
@@ -27,9 +27,25 @@ class User
                return htmlspecialchars(implode(' & ', explode("\n", $this->rawname)));
        }
 
-       function admin()
+       function html()
        {
-               return @file_exists("{$this->dir}/.admin");
+               return $this->name ?: $this->login;
+       }
+
+       function email()
+       {
+               return rtrim(@file_get_contents("{$this->dir}/email.txt"));
+       }
+
+       function admin($permission = NULL)
+       {
+               if (isset($permission)) {
+                       return $this->admin && isset($this->admin[$permission]);  # check level
+               }
+               if (!@file_exists("{$this->dir}/.admin")) {
+                       return FALSE;  # not an admin
+               }
+               return array_fill_keys(explode("\n", file_get_contents("{$this->dir}/.admin")), TRUE);
        }
 
        function seen()