page: prepare static output before dynamic code
[minimedit.git] / page.inc.php
1 <?php
2 $body = ob_get_clean();
3
4 include_once './head.inc.php';
5
6 print "<header>\n";
7 ob_start();
8 include './menu.html';
9 $nav = ob_get_clean();
10 $nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
11         $request = $_SERVER['REQUEST_URI'];
12         $html = $request == $m[1] ? $m[2] : $m[0]; # text or full link
13         return $m[1] == substr($request, 0, strlen($m[1])) ? "<b>$html</b>" : $html;
14 }, $nav);
15 print $nav;
16 print "</header>\n\n";
17
18 print $body;
19
20 register_shutdown_function(function () {
21         include 'foot.inc.php';
22         print "</body></html>\n";
23 });
24