page: replace login placeholder by precomposed paragraph
[minimedit.git] / page.inc.php
1 <?php
2 $body = ob_get_clean();
3
4 include_once DOCROOT.'head.inc.php';
5
6 print "<header>\n";
7 ob_start();
8 include DOCROOT.'menu.html';
9 ob_start();
10 if (isset($User)) {
11         printf('<p class="login">Ingelogd: %s</p>'."\n", $User['name']);
12 }
13 $nav = getoutput(['login' => ob_get_clean()]);
14
15 $nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
16         $request = $_SERVER['REQUEST_URI'];
17         $html = $request == $m[1] ? $m[2] : $m[0]; # text or full link
18         return $m[1] == substr($request, 0, strlen($m[1])) ? "<b>$html</b>" : $html;
19 }, $nav);
20 if (isset($User)) {
21         $nav = preg_replace('{\s*<li class="logout">.*?</li>}', '', $nav);
22 }
23 else {
24         $nav = preg_replace('{\s*<li class="login">.*?</li>}', '', $nav);
25 }
26 print $nav;
27 print "</header>\n\n";
28
29 print $body;
30
31 register_shutdown_function(function () {
32         print '<footer>';
33         @include DOCROOT.'footer.html';
34         print "</footer>\n";
35
36         global $User;
37         if (isset($User) and $User['admin']) {
38                 print '<script src="//cdn.ckeditor.com/4.7.3/full-all/ckeditor.js"></script>'."\n";
39                 print '<script src="/edit.js"></script>'."\n";
40         }
41
42         print "</body></html>\n";
43 });
44