X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/0080b6c4c668dd3cc4e309afe4ab33c62393d8c2..2573a637bff34caeb3de0f3489c0c6dfbf6d2a1d:/login/index.php diff --git a/login/index.php b/login/index.php index 0ac33ac..7038dcb 100644 --- a/login/index.php +++ b/login/index.php @@ -35,29 +35,35 @@ 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') { + # run forbidden handler to determine metadata + #TODO: generic solution + $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; } + $Page->image = $target->image; + $Page->teaser = $target->teaser; } + ob_start(); require_once 'login/form.inc.php'; - $Place['warn'] = $message; - return; + $Page->raw = ob_get_clean(); + $Page->place['warn'] = $message; + return TRUE; } if (isset($_REQUEST['goto'])) { @@ -67,10 +73,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'; }