page: api attribute indicate index requests
[minimedit.git] / login / index.php
index 2b073f03d6da4c563bfbab9639610047070ebcea..38b7c234465006445ac2d89491b9c3cc7c60cc7b 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-if (!$User) return;
+if ($Page->api) return;
 $message = NULL;
 
 if (isset($_POST['mail'])) {
@@ -42,17 +42,7 @@ if (!$User or !$User->login) {
                if (empty($message)) http_response_code(403);
                $target = ltrim($_REQUEST['goto'], '/');
                $target = new ArchiveArticle("$target.html");
-
-               if ($target and $target->handler) {
-                       # run forbidden handler to determine metadata
-                       $User = NULL;
-                       $caller = $Page;
-                       $Page = $target;
-                       ob_start();
-                       include "./{$target->handler}/index.php";
-                       ob_end_clean();
-                       $Page = $caller;
-               }
+               $target->index; # run forbidden handler to determine metadata
 
                if ($target->title) {
                        $Page->title .= ' voor ' . $target->title;
@@ -69,9 +59,7 @@ if (!$User or !$User->login) {
 
 if (isset($_REQUEST['goto'])) {
        $target = ltrim($_REQUEST['goto'], '/');
-       header("Location: /$target");
-       http_response_code(302);
-       exit;
+       abort("/$target", 302);
 }
 
 if (isset($Page->raw)) {