626a6e552cf7b5be4405084aab17795560849999
[minimedit.git] / login / pass / index.php
1 <?php
2 if (isset($_GET['token'])) {
3         @list ($username, $token) = explode(':', $_GET['token']);
4         $userdir = strtolower("profile/$username");
5         if ($verify = @file_get_contents("$userdir/.token")
6         and $verify == $token) {
7                 $User = [
8                         'name' => $username,
9                         'dir'  => $userdir,
10                         'pass' => NULL,
11                 ];
12         }
13         else {
14                 http_response_code(403);
15                 print "<p class=warn>Code onjuist, geen toestemming om wachtwoord in te stellen.</p>\n";
16                 return TRUE;
17         }
18 }
19 elseif (!$User) {
20         http_response_code(303);
21         $target = urlencode($_SERVER['REQUEST_URI']);
22         header("Location: /login?goto=$target");
23         exit;
24 }
25
26 if ($_POST) {
27         require_once('login/pass.inc.php');
28         $error = passform($User, $_POST);
29         if (empty($error)) {
30                 print "<p>Het wachtwoord is aangepast voor <em>{$User['name']}</em>. Voortaan met het nieuwe wachtwoord inloggen.</p>\n\n";
31                 return;
32         }
33         http_response_code(400);
34         print "<p class=warn>$error</p>\n\n";
35 }
36
37 ?>
38 <form method="post">
39 <p>
40 Hier kun je een nieuwe inlogcode instellen voor <em><?= htmlspecialchars($User['name']) ?></em>.
41 Dit zal de huidige code vervangen.
42 </p>
43 <p>
44 <?php if (!empty($User['pass'])) { ?>
45 <input type="password" name="oldpass" value="" placeholder="Huidig wachtwoord" />
46 <?php } ?>
47 <input type="password" name="newpass" value="" placeholder="Nieuw wachtwoord" />
48 <input type="password" name="passconf" value="" placeholder="Nogmaals" />
49 <input type="submit" value="Wijzig" />
50 </p>
51 </form>