X-Git-Url: http://git.shiar.nl/minimedit.git/blobdiff_plain/34be7d127264397af1f2fc8d0ce45fd408b31eb4..e64861a7760cfe34596e193a6a3ed2ef39b25892:/page.php diff --git a/page.php b/page.php index a4440cb..a9607c0 100644 --- a/page.php +++ b/page.php @@ -16,9 +16,7 @@ $staticpage = "$request.html"; if (file_exists($staticpage)) { if (is_link($staticpage)) { $target = preg_replace('/\.html$/', '', readlink($staticpage)); - header("HTTP/1.1 302 Shorthand"); - header("Location: $target"); - exit; + abort($target, '302 Shorthand'); } } elseif (file_exists("$request/index.html")) { @@ -35,10 +33,8 @@ include_once 'auth.inc.php'; // sets global $User if ($Page->restricted) { # access restriction if (!$User->login) { - http_response_code(303); $target = urlencode($Page->link); - header("Location: /login?goto=$target"); - exit; + abort("/login?goto=$target", '303 Eerst inloggen'); } } @@ -46,7 +42,7 @@ if ($Page->restricted) { header(sprintf('Content-Security-Policy: %s', implode('; ', [ "default-src 'self' 'unsafe-inline' http://cdn.ckeditor.com", # some overrides remain - "img-src 'self' data: http://cdn.ckeditor.com", # inline svg (in css) + "img-src 'self' data: blob: http://cdn.ckeditor.com", # inline svg (in css) "base-uri 'self'", # only local pages "frame-ancestors 'none'", # prevent malicious embedding ]))); @@ -56,33 +52,18 @@ $Page->place += [ 'url' => htmlspecialchars($_SERVER['REQUEST_URI']), ]; -if (!isset($Page->raw) and $User->admin("edit {$Page->link}")) { - # open bottom template as initial contents - $template = 'template.inc.html'; - if ($Page->handler and file_exists("{$Page->handler}/$template")) { - $template = "{$Page->handler}/$template"; - } - $Page->raw($template); - $Page->meta['article:published_time'] = date('Y-m-d h:i:s O'); - $Page->meta['article:author'] = '/' . $User->dir; - $Page->body = NULL; +if ($User->admin("edit {$Page->link}")) { + include_once 'edit/head.inc.php'; } if (isset($Page->raw)) { - if ($User->admin("edit {$Page->link}")) { - # restore meta tags in static contents for editing - foreach (array_reverse($Page->meta) as $metaprop => $val) { - $Page->raw = sprintf( - ''."\n", - $metaprop, $val - ) . $Page->raw; - } - } $Page->raw = '
'."\n\n".$Page->raw."
\n\n"; } # output dynamic and/or static html +include_once 'format.inc.php'; + ob_start(); if ($Page->handler and !require("./{$Page->handler}/index.php")) { # replace contents by code output on false return