"link", "key2" => array("link", "desc")), null for nothing, false for driver only, true for driver and server * @param string used after colon in title and heading, should be HTML escaped * @return null */ function page_header($title, $error = "", $breadcrumb = array(), $title2 = "") { global $LANG, $VERSION, $adminer, $drivers, $jush; page_headers(); if (is_ajax() && $error) { page_messages($error); exit; } $title_all = $title . ($title2 != "" ? ": $title2" : ""); $title_page = strip_tags($title_all . (SERVER != "" && SERVER != "localhost" ? h(" - " . SERVER) : "") . " - " . $adminer->name()); ?> <?php echo $title_page; ?> head()) { ?> >
' . $drivers[DRIVER] . ' » '; $link = substr(preg_replace('~\b(db|ns)=[^&]*&~', '', ME), 0, -1); $server = (SERVER != "" ? h(SERVER) : lang('Server')); if ($breadcrumb === false) { echo "$server\n"; } else { echo "$server » "; if ($_GET["ns"] != "" || (DB != "" && is_array($breadcrumb))) { echo '' . h(DB) . ' » '; } if (is_array($breadcrumb)) { if ($_GET["ns"] != "") { echo '' . h($_GET["ns"]) . ' » '; } foreach ($breadcrumb as $key => $val) { $desc = (is_array($val) ? $val[1] : h($val)); if ($desc != "") { echo "$desc » "; } } } echo "$title\n"; } } echo "

$title_all

\n"; echo "\n"; restart_session(); page_messages($error); $databases = &get_session("dbs"); if (DB != "" && $databases && !in_array(DB, $databases, true)) { $databases = null; } stop_session(); define("PAGE_HEADER", 1); } /** Send HTTP headers * @return null */ function page_headers() { global $adminer; header("Content-Type: text/html; charset=utf-8"); header("Cache-Control: no-cache"); if ($adminer->headers()) { header("X-Frame-Options: deny"); // ClickJacking protection in IE8, Safari 4, Chrome 2, Firefox 3.6.9 header("X-XSS-Protection: 0"); // prevents introducing XSS in IE8 by removing safe parts of the page header("X-Content-Type-Options: nosniff"); header("Referrer-Policy: origin-when-cross-origin"); } } /** Print flash and error messages * @param string * @return null */ function page_messages($error) { $uri = preg_replace('~^[^?]*~', '', $_SERVER["REQUEST_URI"]); $messages = $_SESSION["messages"][$uri]; if ($messages) { echo "
" . implode("
\n
", $messages) . "
\n"; unset($_SESSION["messages"][$uri]); } if ($error) { echo "
$error
\n"; } } /** Print HTML footer * @param string "auth", "db", "ns" * @return null */ function page_footer($missing = "") { global $adminer, $token; ?>