0) { if ($num > 1) { return '#header(): Zero or One argument needed'; } if ($menu !== NULL) { return '#header(): Already set: ' . htmlsc($menu); } $args = func_get_args(); if (! is_page($args[0])) { return '#header(): No such page: ' . htmlsc($args[0]); } else { $menu = $args[0]; // Set return ''; } } $page = ($menu === NULL) ? HEADER_NAME : $menu; if (HEADER_ENABLE) { $path = explode('/', strip_bracket($vars['page'])); while(! empty($path)) { $_page = join('/', $path) . '/' . HEADER_NAME; if (is_page($_page)) { $page = $_page; break; } array_pop($path); } } if (! is_page($page)) { return ''; } else if ($vars['page'] === $page) { return ''; } else if (!is_page_readable($page)) { return '#header(): ' . htmlsc($page) . ' is not readable'; } else { $headertext = preg_replace('/^(\*{1,3}.*)\[#[A-Za-z][\w-]+\](.*)$/m', '$1$2', get_source($page)); return convert_html($headertext); } }