page: replace global variables by $Page object
[minimedit.git] / login / index.php
index 0ac33ac863f7d59bded2317e5c837358de36f53a..4ecee456f8d77f52dcdbb8c751521cfa875d3377 100644 (file)
@@ -35,29 +35,34 @@ elseif (isset($_GET['logout'])) {
        $message = "Je bent uitgelogd. Graag tot ziens!";
 }
 
-if (empty($User)) {
-       $Article->title = 'Inloggen';
+if (!$User or !$User->login) {
+       $Page->title = 'Inloggen';
        if (isset($_REQUEST['goto'])) {
+               if (empty($message)) http_response_code(403);
                $target = ltrim($_REQUEST['goto'], '/');
                $target = new ArchiveArticle("$target.html");
 
-               if ($Page = $target->handler and $target->handler == 'melding') {
-                       $caller = $Article;
-                       $Article = $target;
-                       $Args = $target->path;
+               if ($target and $target->handler == 'melding') {
+                       $caller = $Page;
+                       $Page = $target;
                        ob_start();
                        include "./{$target->handler}/index.php";
                        ob_end_clean();
-                       $Article = $caller;
+                       $Page = $caller;
                }
 
                if ($target->title) {
-                       $Article->title .= ' voor ' . $target->title;
+                       $Page->title .= ' voor ' . $target->title;
+               }
+               if ($target->image) {
+                       $Page->image = $target->image;
                }
        }
+       ob_start();
        require_once 'login/form.inc.php';
+       $Page->raw = ob_get_clean();
        $Place['warn'] = $message;
-       return;
+       return TRUE;
 }
 
 if (isset($_REQUEST['goto'])) {
@@ -67,10 +72,10 @@ if (isset($_REQUEST['goto'])) {
        exit;
 }
 
-if (isset($Article->raw)) {
-       print $Article->raw;
+if (isset($Page->raw)) {
+       print $Page->raw;
 }
-if (empty($Args) and $User and $User->admin) {
+if (empty($Page->path) and $User->admin) {
        include_once 'login/admin.html';
 }