978709e5fe5515f51f66ba30f224bb653915dfbd
[minimedit.git] / login / index.php
1 <?php
2 $message = NULL;
3
4 if (isset($_POST['mail'])) {
5         $input = trim($_POST['mail']);
6         $inputq = sprintf('<em>%s</em>', $input);
7         try {
8                 require_once 'login/mailpass.inc.php';
9                 if ( $found = mailtoken($input) ) {
10                         $message = "Er is een e-mail verstuurd naar $inputq.";
11                 }
12                 else {
13                         http_response_code(404);
14                         $message = "E-mailadres $inputq is nergens ingesteld.";
15                 }
16         }
17         catch (Exception $e) {
18                 http_response_code(500);
19                 $message = "E-mail kon niet verstuurd worden."
20                         . " Probeer het later nog eens of neem contact op.";
21         }
22 }
23 elseif (isset($_POST['login'])) {
24         if ($User = login($_POST['login'], $_POST['pass'])) {
25                 login_setcookie();
26         }
27         else {
28                 http_response_code(403);
29                 $message = 'Ongeldige gebruikersnaam of wachtwoord.';
30         }
31 }
32 elseif (isset($_GET['logout'])) {
33         setcookie('login', '', time(), '/'); # expire immediately
34         $User = NULL;
35         $message = "Je bent uitgelogd. Graag tot ziens!";
36 }
37
38 if (empty($User)) {
39         ob_clean();
40         require_once 'login/form.inc.php';
41         $Place['warn'] = $message;
42         $Place['title'] = 'Inloggen';
43         if (isset($_REQUEST['goto'])) {
44                 $target = ltrim($_REQUEST['goto'], '/');
45                 $target = new ArchiveArticle("$target.html");
46                 if ($target->file) {
47                         if ($target->title) {
48                                 $Place['title'] .= ' voor ' . $target->title;
49                         }
50                 }
51         }
52         return TRUE;
53 }
54
55 if (isset($_REQUEST['goto'])) {
56         ob_clean();
57         $target = ltrim($_REQUEST['goto'], '/');
58         header("Location: /$target");
59         http_response_code(302);
60         exit;
61 }
62
63 if (empty($Args) and $User and $User->admin) {
64         include_once 'login/admin.html';
65 }
66