login: derive user permissions from .admin file
[minimedit.git] / auth.inc.php
index e849da9b997957c7fc81a2cfb2266f86baeb2230..b20331ac60ceb15d2f785d0301881e3f1f31b3ce 100644 (file)
@@ -7,7 +7,8 @@ function login($inuser, $inpass = NULL)
        }
 
        # find password data by user name
-       $pwfile = sprintf('login/%s/.passwd', strtolower($inuser));
+       $userdir = 'login/'.strtolower($inuser);
+       $pwfile = "$userdir/.passwd";
        if (!file_exists($pwfile)) return;
        $usertest = trim(file_get_contents($pwfile));
        if (!$usertest) return;
@@ -21,9 +22,11 @@ function login($inuser, $inpass = NULL)
                if ($inauth !== $authhash) return;
        }
 
+       if (function_exists('apache_note')) apache_note('user', $inuser);
+
        return [
                'name'  => $inuser,
-               'admin' => !empty($inuser) && strtolower($inuser) != 'lid',
+               'admin' => file_exists("$userdir/.admin"),
                'auth'  => "$inuser:$authhash",
        ];
 }