login: templating support for warning message
[minimedit.git] / login.php
index db276d191b04ff1dbc0f59ab30d9e7fd050f4d8e..bcc2856bbae3c787f8375337dd7ff1dba70d55c4 100644 (file)
--- a/login.php
+++ b/login.php
@@ -1,29 +1,42 @@
 <?php
-include 'page.inc.php';
-?>
-<h2>Inloggen</h2>
+$message = NULL;
 
-<?php
 if (isset($_POST['login'])) {
-       if ($user = login($_POST['login'], $_POST['pass'])) {
-               setcookie('login', $user['auth'], 0, '/');
-
-               $target = ltrim(@$_GET['goto'], '/');
-               header("Location: /$target");
-               http_response_code(302);
-               exit;
+       if ($User = login($_POST['login'], $_POST['pass'])) {
+               login_setcookie();
+       }
+       else {
+               $message = 'Ongeldige gebruikersnaam of wachtwoord.';
        }
-
-       echo '<p class="warn">Ongeldige gebruikersnaam of wachtwoord.</p>'."\n\n";
 }
-elseif (!empty($User)) {
+elseif (isset($_GET['logout'])) {
        setcookie('login', '', time(), '/'); # expire immediately
-       echo '<p class="warn">Uitgelogd.</p>'."\n\n";
+       $User = NULL;
+       $message = 'Uitgelogd.';
+}
+
+if (empty($User)) {
+       ob_clean();
+       require_once 'login.inc.php';
+       $part = ['warn' => $message];
+       print getoutput($part);
+       return TRUE;
+}
+
+if (isset($_GET['goto'])) {
+       ob_clean();
+       $target = ltrim($_GET['goto'], '/');
+       header("Location: /$target");
+       http_response_code(302);
+       exit;
 }
 
-?>
-<form action="" method="post">
-       <input id="login" name="login" placeholder="Huisnummer" />
-       <input id="pass" name="pass" type="password" value="" placeholder="Wachtwoord" />
-       <input type="submit" value="Log in" />
-</form>
+$part = [
+       'user'  => $User['name'],
+];
+print getoutput($part);
+
+if (empty($Args) and !empty($User['admin'])) {
+       include_once 'admin/index.html';
+       include_once 'admin.php';
+}