<?php
+date_default_timezone_set('Europe/Amsterdam');
+
+class User
+{
+ function __construct($dir)
+ {
+ if (!file_exists($dir)) {
+ throw new Exception("Gebruiker niet gevonden in $dir");
+ }
+ $this->dir = $dir;
+ $this->login = basename($dir);
+ }
+
+ function __get($col)
+ {
+ return $this->$col = $this->$col(); # run method and cache
+ }
+
+ function rawname()
+ {
+ return @file_get_contents("{$this->dir}/name.txt");
+ }
+
+ function name()
+ {
+ return htmlspecialchars(implode(' & ', explode("\n", $this->rawname)));
+ }
+
+ function admin()
+ {
+ return @file_exists("{$this->dir}/.admin");
+ }
+
+ function seen()
+ {
+ return @filemtime("{$this->dir}/last.log");
+ }
+}
+
function login_password_verify($input, $test)
{
if (substr($test, 0, 1) != '$') {
}
# find password data by user name
- $userdir = 'login/'.strtolower($inuser);
+ $userdir = 'profile/'.preg_replace('/[^a-z0-9]+/', '-', strtolower($inuser));
$pwfile = "$userdir/.passwd";
if (!file_exists($pwfile)) return;
$usertest = trim(file_get_contents($pwfile));
return [
'name' => $inuser,
+ 'dir' => $userdir,
'admin' => file_exists("$userdir/.admin"),
+ 'pass' => $usertest,
'auth' => "$inuser:$authhash",
];
}