\n";
$menu = new ArchiveArticle('menu.inc.html');
ob_start();
if ($User and property_exists($User, 'login') and $User->login) {
print '
';
printf('%s %s',
'👤',
'/login', $User->login
);
if ($User->admin("edit {$Page->link}")) {
$editpage = $Page->link;
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 ' ✍';
}
}
print "
\n";
}
$menu->place['login'] = ob_get_clean();
$nav = $menu->render();
$nav = preg_replace_callback('{(.*?)}', 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])) ? "$html" : $html;
}, $nav);
print $nav;
print "\n\n";
print $Page->render();
register_shutdown_function(function () {
print '\n";
global $User, $Page;
if ($User and $User->admin("edit {$Page->link}")) {
$ckesrc = '/lib/ckeditor'; # local install
if (!file_exists(DOCROOT . $ckesrc)) {
$ckesrc = '//cdn.ckeditor.com/4.15.1/full-all'; # remote fallback
}
printf("\n", "$ckesrc/ckeditor.js");
print ''."\n";
}
print "