diff --git a/abstraction.inc.php b/abstraction.inc.php
index a86f9856..1b55f35a 100644
--- a/abstraction.inc.php
+++ b/abstraction.inc.php
@@ -189,7 +189,7 @@ if (extension_loaded("mysqli")) {
$mysql = new Min_PDO_MySQL;
} else {
- page_header(lang('No MySQL extension'));
+ page_header(lang('No MySQL extension'), null);
echo "
" . lang('None of supported PHP extensions (%s) are available.', 'mysqli, mysql, pdo') . "
\n";
page_footer("auth");
exit;
diff --git a/auth.inc.php b/auth.inc.php
index 9a19018d..461280df 100644
--- a/auth.inc.php
+++ b/auth.inc.php
@@ -37,7 +37,7 @@ function auth_error() {
$_POST["token"] = token();
}
unset($_SESSION["usernames"][$_GET["server"]]);
- page_header(lang('Login'));
+ page_header(lang('Login'), null);
if (isset($username)) {
echo "" . lang('Invalid credentials.') . "
\n";
} elseif (isset($_POST["server"])) {
diff --git a/connect.inc.php b/connect.inc.php
index 3b7e87e9..8580df3d 100644
--- a/connect.inc.php
+++ b/connect.inc.php
@@ -3,7 +3,7 @@ if (!(strlen($_GET["db"]) ? $mysql->select_db($_GET["db"]) : isset($_GET["sql"])
if (strlen($_GET["db"])) {
unset($_SESSION["databases"][$_GET["server"]]);
}
- page_header(lang('Select database'));
+ page_header(lang('Select database'), (strlen($_GET["db"]) ? false : null));
if (strlen($_GET["db"])) {
echo "" . lang('Invalid database.') . "
\n";
} else {
diff --git a/create.inc.php b/create.inc.php
index 2ac1a29f..7257c62a 100644
--- a/create.inc.php
+++ b/create.inc.php
@@ -54,7 +54,7 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"]) {
}
$error = $mysql->error;
}
-page_header(strlen($_GET["create"]) ? lang('Alter table') . ': ' . htmlspecialchars($_GET["create"]) : lang('Create table'));
+page_header(strlen($_GET["create"]) ? lang('Alter table') : lang('Create table'), array("table" => $_GET["create"]), $_GET["create"]);
$engines = array();
$result = $mysql->query("SHOW ENGINES");
diff --git a/createv.inc.php b/createv.inc.php
index 415253ed..2e78ce09 100644
--- a/createv.inc.php
+++ b/createv.inc.php
@@ -9,7 +9,7 @@ if ($_POST && !$error) {
$error = $mysql->error;
}
-page_header(strlen($_GET["createv"]) ? lang('Alter view') . ": " . htmlspecialchars($_GET["createv"]) : lang('Create view'));
+page_header(strlen($_GET["createv"]) ? lang('Alter view') : lang('Create view'), array("view" => $_GET["createv"]), $_GET["createv"]);
if ($_POST) {
$row = $_POST;
diff --git a/database.inc.php b/database.inc.php
index b13b2032..bb4a3304 100644
--- a/database.inc.php
+++ b/database.inc.php
@@ -29,7 +29,7 @@ if ($_POST && !$error) {
$error = $mysql->error;
}
-page_header(strlen($_GET["db"]) ? lang('Alter database') . ": " . htmlspecialchars($_GET["db"]) : lang('Create database'));
+page_header(strlen($_GET["db"]) ? lang('Alter database') : lang('Create database'), array(), $_GET["db"]);
$collations = collations();
if ($_POST) {
diff --git a/design.inc.php b/design.inc.php
index 1d2da28c..2978fdd9 100644
--- a/design.inc.php
+++ b/design.inc.php
@@ -1,6 +1,6 @@
@@ -9,7 +9,7 @@ function page_header($title) {
$title\n";
+ if (isset($breadcrumb)) {
+ $link = substr(preg_replace('~db=[^&]*&~', '', $SELF), 0, -1);
+ echo '
' . (isset($_GET["server"]) ? htmlspecialchars($_GET["server"]) : lang('Server')) . ' > ';
+ if (is_array($breadcrumb)) {
+ if (strlen($_GET["db"])) {
+ echo '' . htmlspecialchars($_GET["db"]) . ' > ';
+ }
+ foreach ($breadcrumb as $key => $val) {
+ if (strlen($val)) {
+ echo '' . htmlspecialchars($val) . ' > ';
+ }
+ }
+ }
+ echo "$title
\n";
+ }
+ echo "
$title" . (strlen($title2) ? ": " . htmlspecialchars($title2) : "") . "
\n";
if ($_SESSION["message"]) {
echo "
$_SESSION[message]
\n";
$_SESSION["message"] = "";
@@ -39,7 +54,7 @@ function page_footer($missing = false) {