X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/5b94cc8fb8d15c44eb5223f262d091b0fe286944..a034b7a3f5b363f74a47c9f20bfa0cf4f2988b34:/auth.inc.php diff --git a/auth.inc.php b/auth.inc.php index 7ece635..3901609 100644 --- a/auth.inc.php +++ b/auth.inc.php @@ -29,7 +29,11 @@ class User function html() { - return $this->name ?: $this->login; + $name = htmlspecialchars($this->login); + if ($this->name and $this->name != $name) { + $name = "{$this->name} @$name"; + } + return $name; } function email() @@ -43,9 +47,11 @@ class User if (!$this->admin) { return FALSE; # empty results } - @list ($rootlevel, $sublevel) = explode(' ', $permission); - if ($sublevel and isset($this->admin[$rootlevel])) { - return TRUE; # root match + 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 }