page: store placeholder values in $Page object
[minimedit.git] / login / post / index.php
1 <?php
2 if (!$User->login) {
3         http_response_code(303);
4         $target = urlencode($_SERVER['REQUEST_URI']);
5         header("Location: /login?goto=$target");
6         exit;
7 }
8 elseif ($User->admin('user') and $username = @$_REQUEST['login']) {
9         try {
10                 $user = new User("profile/$username");
11         }
12         catch (Exception $e) {
13                 printf('<p class=warn>%s</p>', $e->getMessage());
14                 return;
15         }
16         $Page->title = $user->login . ': ' . $Page->title;
17 }
18 else {
19         $user = $User;
20 }
21
22 $Page->place['login/name'] = $user->name ?: 'bewoner';
23 $Page->place['user'] = $user->login;
24 if ( $password = trim(@file_get_contents("{$user->dir}/.passwd")) ) {
25         if (substr($password, 0, 1) == '$') {
26                 $password = NULL; // hashed
27         }
28         $Page->place['pass'] = htmlspecialchars($password) ?: '<em>zelf ingesteld</em>';
29 }
30 else {
31         $Page->place['pass'] = '<em>onbekend</em>';
32 }
33
34 print '<aside class="nav"><a href="javascript:window.print()">Print</a></aside>'."\n";