login: store passwords in separate user files
[minimedit.git] / login.php
index 35dc55e34873791721c19ae51f356c7abc45cbc2..bcb1edc44cd709a9f9e1bc4b1c6931ee46621946 100644 (file)
--- a/login.php
+++ b/login.php
@@ -1,18 +1,41 @@
 <?php
-require 'auth.inc.php';
+if (isset($_POST['login'])) {
+       if ($User = login($_POST['login'], $_POST['pass'])) {
+               setcookie('login', $User['auth'], 0, '/');
+       }
+       else {
+               echo '<p class="warn">Ongeldige gebruikersnaam of wachtwoord.</p>'."\n\n";
+       }
+}
+elseif (isset($_GET['logout'])) {
+       setcookie('login', '', time(), '/'); # expire immediately
+       $User = NULL;
+       echo '<p class="warn">Uitgelogd.</p>'."\n\n";
+}
 
-if ($editable) {
-       http_response_code(307);
-       header('Location: /');
+if (isset($_GET['goto']) and isset($User)) {
+       ob_clean();
+       $target = ltrim($_GET['goto'], '/');
+       header("Location: /$target");
+       http_response_code(302);
        exit;
 }
 
-header('WWW-Authenticate: Basic realm=""');
-http_response_code(401);
+if (empty($User)) {
+?>
+<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>
+<?php
+       return;
+}
 
-// fallback page shown on authentication failure
-include 'head.inc.php';
+ob_clean();
 ?>
-<h2>Inloggen mislukt</h2>
-<p>Geen geldige login voor sitebeheer.</p>
+<h2>Ingelogd</h2>
+
+<p>Ingelogd als <em><?php print $User['name']; ?></em>.</p>
 
+<p class="nav"><a href="?logout">Uitloggen</a></p>