nieuws: drop prompt for article (back)date
[minimedit.git] / login.php
index eb09f8a571dbb80e765d0f11ae9df9554549b488..5287678ce1d7c542eb66b65125fadcb68bfeafbd 100644 (file)
--- a/login.php
+++ b/login.php
@@ -1,17 +1,59 @@
 <?php
-require 'auth.inc.php';
+$message = NULL;
 
-if (!$Admin) {
-       require 'logout.php';
-       exit;
+if (isset($_POST['mail'])) {
+       $input = trim($_POST['mail']);
+       $inputq = sprintf('<em>%s</em>', $input);
+       try {
+               require_once 'login/mailpass.inc.php';
+               if ( $found = mailtoken($input) ) {
+                       $message = "Er is een e-mail verstuurd naar $inputq.";
+               }
+               else {
+                       $message = "E-mailadres $inputq is nergens ingesteld.";
+               }
+       }
+       catch (Exception $e) {
+               $message = "E-mail kon niet verstuurd worden."
+                       . " Probeer het later nog eens of neem contact op.";
+       }
+}
+elseif (isset($_POST['login'])) {
+       if ($User = login($_POST['login'], $_POST['pass'])) {
+               login_setcookie();
+       }
+       else {
+               $message = 'Ongeldige gebruikersnaam of wachtwoord.';
+       }
+}
+elseif (isset($_GET['logout'])) {
+       setcookie('login', '', time(), '/'); # expire immediately
+       $User = NULL;
+       $message = "Je bent uitgelogd. Graag tot ziens!";
 }
 
-include 'head.inc.php';
-?>
+if (empty($User)) {
+       ob_clean();
+       require_once 'login/form.inc.php';
+       $part = ['warn' => $message];
+       print getoutput($part);
+       return TRUE;
+}
 
-<h2>Sitebeheer</h2>
+if (isset($_GET['goto'])) {
+       ob_clean();
+       $target = ltrim($_GET['goto'], '/');
+       header("Location: /$target");
+       http_response_code(302);
+       exit;
+}
 
-<p>
-Welkom, je bent ingelogd als <em><?php echo $User; ?></em>. Onderaan elke pagina staat een link om inhoud aan te passen.
-</p>
+$part = [
+       'user'  => $User['name'],
+];
+print getoutput($part);
 
+if (empty($Args) and !empty($User['admin'])) {
+       include_once 'login/admin.html';
+       include_once 'login/admin.php';
+}