login: target page in description and image metadata
[minimedit.git] / login / index.php
index c7d705df7c2c69a337a001383591dc12877df3ab..c69ec3c5d48395939d6e612564303b0bb9cd760c 100644 (file)
@@ -36,32 +36,47 @@ elseif (isset($_GET['logout'])) {
 }
 
 if (empty($User)) {
-       ob_clean();
-       require_once 'login/form.inc.php';
-       $Place['warn'] = $message;
-       $Place['title'] = 'Inloggen';
+       $Article->title = 'Inloggen';
        if (isset($_REQUEST['goto'])) {
-               require_once 'nieuws.inc.php';
                $target = ltrim($_REQUEST['goto'], '/');
                $target = new ArchiveArticle("$target.html");
-               if ($target->file) {
-                       if ($target->title) {
-                               $Place['title'] .= ' voor ' . $target->title;
-                       }
+
+               if ($Page = $target->handler and $target->handler == 'melding') {
+                       $caller = $Article;
+                       $Article = $target;
+                       $Args = $target->path;
+                       ob_start();
+                       include "./{$target->handler}/index.php";
+                       ob_end_clean();
+                       $Article = $caller;
+               }
+
+               if ($target->title) {
+                       $Article->title .= ' voor ' . $target->title;
+               }
+               if ($target->image) {
+                       $Article->image = $target->image;
                }
        }
+       ob_start();
+       require_once 'login/form.inc.php';
+       $Article->raw = ob_get_clean();
+       $Place['warn'] = $message;
        return TRUE;
 }
 
 if (isset($_REQUEST['goto'])) {
-       ob_clean();
        $target = ltrim($_REQUEST['goto'], '/');
        header("Location: /$target");
        http_response_code(302);
        exit;
 }
 
-if (empty($Args) and !empty($User['admin'])) {
+if (isset($Article->raw)) {
+       print $Article->raw;
+}
+if (empty($Args) and $User and $User->admin) {
        include_once 'login/admin.html';
 }
 
+return;