class User
{
- function __construct($dir)
+ function __construct($dir, $existing = TRUE)
{
- if (!file_exists($dir)) {
+ if (!file_exists($dir) and $existing) {
throw new Exception("Gebruiker niet gevonden in $dir");
}
$this->dir = $dir;
function admin($permission = NULL)
{
if (isset($permission)) {
- return $this->admin && isset($this->admin[$permission]); # check level
+ if (!$this->admin) {
+ return FALSE; # empty results
+ }
+ @list ($rootlevel, $sublevel) = explode(' ', $permission);
+ if ($sublevel and isset($this->admin[$rootlevel])) {
+ return TRUE; # root match
+ }
+ return isset($this->admin[$permission]); # check level
}
if (!@file_exists("{$this->dir}/.admin")) {
return FALSE; # not an admin