login/pass: error messages below page title
[minimedit.git] / login / pass / index.php
index 626a6e552cf7b5be4405084aab17795560849999..8db1c885a0dc383561c6d066b096fcc119511e96 100644 (file)
@@ -4,44 +4,39 @@ if (isset($_GET['token'])) {
        $userdir = strtolower("profile/$username");
        if ($verify = @file_get_contents("$userdir/.token")
        and $verify == $token) {
-               $User = [
-                       'name' => $username,
-                       'dir'  => $userdir,
-                       'pass' => NULL,
-               ];
+               $User = new User($userdir);
+               $User->pass = NULL;
        }
        else {
                http_response_code(403);
-               print "<p class=warn>Code onjuist, geen toestemming om wachtwoord in te stellen.</p>\n";
+               $Page->place['warn'] = "Code onjuist, geen toestemming om wachtwoord in te stellen.";
                return TRUE;
        }
 }
-elseif (!$User) {
-       http_response_code(303);
+elseif (!$User->login) {
        $target = urlencode($_SERVER['REQUEST_URI']);
-       header("Location: /login?goto=$target");
-       exit;
+       abort("/login?goto=$target", 303);
 }
 
 if ($_POST) {
        require_once('login/pass.inc.php');
        $error = passform($User, $_POST);
        if (empty($error)) {
-               print "<p>Het wachtwoord is aangepast voor <em>{$User['name']}</em>. Voortaan met het nieuwe wachtwoord inloggen.</p>\n\n";
+               print "<p>Het wachtwoord is aangepast voor <em>{$User->login}</em>. Voortaan met het nieuwe wachtwoord inloggen.</p>\n\n";
                return;
        }
        http_response_code(400);
-       print "<p class=warn>$error</p>\n\n";
+       $Page->place['warn'] = $error;
 }
 
 ?>
 <form method="post">
 <p>
-Hier kun je een nieuwe inlogcode instellen voor <em><?= htmlspecialchars($User['name']) ?></em>.
+Hier kun je een nieuwe inlogcode instellen voor <em><?= htmlspecialchars($User->login) ?></em>.
 Dit zal de huidige code vervangen.
 </p>
 <p>
-<?php if (!empty($User['pass'])) { ?>
+<?php if ($User->login and strlen($User->pass)) { ?>
 <input type="password" name="oldpass" value="" placeholder="Huidig wachtwoord" />
 <?php } ?>
 <input type="password" name="newpass" value="" placeholder="Nieuw wachtwoord" />
@@ -49,3 +44,5 @@ Dit zal de huidige code vervangen.
 <input type="submit" value="Wijzig" />
 </p>
 </form>
+<?php
+$Page->raw .= ob_get_clean();