X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/1df0d6467575a4664c03f02ecc471870b4cfb93b..4d7efe1c7eacff8a21bea95828ef0528a47f503e:/auth.inc.php diff --git a/auth.inc.php b/auth.inc.php index a792ef6..aceb2de 100644 --- a/auth.inc.php +++ b/auth.inc.php @@ -40,7 +40,16 @@ class User function admin($permission = NULL) { if (isset($permission)) { - return $this->admin && isset($this->admin[$permission]); # check level + if (!$this->admin) { + return FALSE; # empty results + } + preg_match_all('{[ /]}', $permission, $parts, PREG_OFFSET_CAPTURE); + foreach ($parts[0] as $part) { + if (isset($this->admin[substr($permission, 0, $part[1])])) { + return TRUE; # partial match + } + } + return isset($this->admin[$permission]); # check level } if (!@file_exists("{$this->dir}/.admin")) { return FALSE; # not an admin