Allow specifying server name displayed in breadcrumbs

This commit is contained in:
Jakub Vrana 2018-02-08 14:27:44 +01:00
parent 76d7560d27
commit a1927d5b71
6 changed files with 24 additions and 2 deletions

View file

@ -39,6 +39,14 @@ class Adminer {
function bruteForceKey() { function bruteForceKey() {
return $_SERVER["REMOTE_ADDR"]; return $_SERVER["REMOTE_ADDR"];
} }
/** Get server name displayed in breadcrumbs
* @param string
* @return string HTML code or null
*/
function serverName($server) {
return h($server);
}
/** Identifier of selected database /** Identifier of selected database
* @return string * @return string
@ -922,7 +930,7 @@ class Adminer {
} }
$dbs = $_SESSION["db"][$vendor][$server][$username]; $dbs = $_SESSION["db"][$vendor][$server][$username];
foreach (($dbs ? array_keys($dbs) : array("")) as $db) { foreach (($dbs ? array_keys($dbs) : array("")) as $db) {
echo "<a href='" . h(auth_url($vendor, $server, $username, $db)) . "'>($drivers[$vendor]) " . h($username . ($server != "" ? "@$server" : "") . ($db != "" ? " - $db" : "")) . "</a><br>\n"; echo "<a href='" . h(auth_url($vendor, $server, $username, $db)) . "'>($drivers[$vendor]) " . h($username . ($server != "" ? "@" . $this->serverName($server) : "") . ($db != "" ? " - $db" : "")) . "</a><br>\n";
} }
} }
} }

View file

@ -70,7 +70,8 @@ var thousandsSeparator = '<?php echo js_escape(lang(',')); ?>';
$link = substr(preg_replace('~\b(username|db|ns)=[^&]*&~', '', ME), 0, -1); $link = substr(preg_replace('~\b(username|db|ns)=[^&]*&~', '', ME), 0, -1);
echo '<p id="breadcrumb"><a href="' . h($link ? $link : ".") . '">' . $drivers[DRIVER] . '</a> &raquo; '; echo '<p id="breadcrumb"><a href="' . h($link ? $link : ".") . '">' . $drivers[DRIVER] . '</a> &raquo; ';
$link = substr(preg_replace('~\b(db|ns)=[^&]*&~', '', ME), 0, -1); $link = substr(preg_replace('~\b(db|ns)=[^&]*&~', '', ME), 0, -1);
$server = (SERVER != "" ? h(SERVER) : lang('Server')); $server = $adminer->serverName(SERVER);
$server = ($server != "" ? $server : lang('Server'));
if ($breadcrumb === false) { if ($breadcrumb === false) {
echo "$server\n"; echo "$server\n";
} else { } else {

View file

@ -12,6 +12,7 @@ PostgreSQL: Cast to string when searching using LIKE (bug #325)
PostgreSQL: Fix condition for selecting no rows PostgreSQL: Fix condition for selecting no rows
PostgreSQL: Support TRUNCATE+INSERT export PostgreSQL: Support TRUNCATE+INSERT export
Customization: Support connecting to MySQL via SSL Customization: Support connecting to MySQL via SSL
Customization: Allow specifying server name displayed in breadcrumbs
Adminer 4.6.0 (released 2018-02-05): Adminer 4.6.0 (released 2018-02-05):
Fix counting selected rows after going back to select page Fix counting selected rows after going back to select page

View file

@ -23,6 +23,9 @@ class Adminer {
function bruteForceKey() { function bruteForceKey() {
return $_SERVER["REMOTE_ADDR"]; return $_SERVER["REMOTE_ADDR"];
} }
function serverName($server) {
}
function database() { function database() {
global $connection; global $connection;

View file

@ -19,6 +19,10 @@ class AdminerLoginServers {
$this->driver = $driver; $this->driver = $driver;
} }
function serverName($server) {
return h($this->servers[$server]);
}
function login($login, $password) { function login($login, $password) {
// check if server is allowed // check if server is allowed
foreach ($this->servers as $key => $val) { foreach ($this->servers as $key => $val) {

View file

@ -107,6 +107,11 @@ class AdminerPlugin extends Adminer {
return $this->_applyPlugin(__FUNCTION__, $args); return $this->_applyPlugin(__FUNCTION__, $args);
} }
function serverName($server) {
$args = func_get_args();
return $this->_applyPlugin(__FUNCTION__, $args);
}
function database() { function database() {
$args = func_get_args(); $args = func_get_args();
return $this->_applyPlugin(__FUNCTION__, $args); return $this->_applyPlugin(__FUNCTION__, $args);