<?php
-$body = ob_get_clean();
+$body = getoutput(@$Place);
-include_once './head.inc.php';
+include_once 'head.inc.php';
print "<header>\n";
ob_start();
-include './menu.html';
-$nav = ob_get_clean();
+include 'menu.html';
+ob_start();
+if (!empty($User)) {
+ print '<div class="login"><p>';
+ printf('<span>Ingelogd: <b><a href="%s">%s</a></b></span>', '/login', $User['name']);
+ if (!empty($User['admin'])) {
+ $editpage = $Page.$Args;
+ if (is_dir($editpage)) {
+ if (file_exists("$editpage/index.html")) {
+ $editpage .= '/index.html';
+ }
+ }
+ else {
+ $editpage .= '.html';
+ }
+ if (!file_exists($editpage) or is_writable($editpage)) {
+ print ' <a href="#edit">Wijzig</a>';
+ }
+ }
+ print "</p></div>\n";
+}
+$nav = getoutput(['login' => ob_get_clean()]);
+
$nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
$request = $_SERVER['REQUEST_URI'];
$html = $request == $m[1] ? $m[2] : $m[0]; # text or full link
return $m[1] == substr($request, 0, strlen($m[1])) ? "<b>$html</b>" : $html;
}, $nav);
-if (isset($User)) {
+if (!empty($User)) {
$nav = preg_replace('{\s*<li class="logout">.*?</li>}', '', $nav);
- $nav = str_replace('[[login]]', $User['name'], $nav);
}
else {
$nav = preg_replace('{\s*<li class="login">.*?</li>}', '', $nav);
print $body;
-$footinc = realpath('footer.html'); # cwd lost during shutdown
register_shutdown_function(function () {
print '<footer>';
- @include $GLOBALS['footinc'];
+ @include 'footer.html';
print "</footer>\n";
global $User;
- if (isset($User) and $User['admin']) {
- print '<script src="//cdn.ckeditor.com/4.7.3/full-all/ckeditor.js"></script>'."\n";
- print '<script src="/edit.js"></script>'."\n";
+ if (!empty($User['admin'])) {
+ $ckesrc = '/lib/ckeditor'; # local install
+ if (!file_exists(DOCROOT . $ckesrc)) {
+ $ckesrc = '//cdn.ckeditor.com/4.7.3/full-all'; # remote fallback
+ }
+ printf('<script src="%s"></script>'."\n", "$ckesrc/ckeditor.js");
+ print '<script src="/edit/page.js"></script>'."\n";
}
print "</body></html>\n";