]> git.joonet.de Git - adminer.git/commitdiff
Allow specifying server name displayed in breadcrumbs
authorJakub Vrana <jakub@vrana.cz>
Thu, 8 Feb 2018 13:27:44 +0000 (14:27 +0100)
committerJakub Vrana <jakub@vrana.cz>
Thu, 8 Feb 2018 13:32:21 +0000 (14:32 +0100)
adminer/include/adminer.inc.php
adminer/include/design.inc.php
changes.txt
editor/include/adminer.inc.php
plugins/login-servers.php
plugins/plugin.php

index 325b348438556966c59cea0c0495de668852a945..a234cf3c54ee7a4c1621d5bb64621b094833b44a 100644 (file)
@@ -39,6 +39,14 @@ class Adminer {
        function bruteForceKey() {
                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
        * @return string
@@ -922,7 +930,7 @@ class Adminer {
                                                        }
                                                        $dbs = $_SESSION["db"][$vendor][$server][$username];
                                                        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";
                                                        }
                                                }
                                        }
index ac09ba782ef118461ec8288660f21cab54d61236..544fb5fa2c9e80a39ef2bbc33827fbd1b167360a 100644 (file)
@@ -70,7 +70,8 @@ var thousandsSeparator = '<?php echo js_escape(lang(',')); ?>';
                $link = substr(preg_replace('~\b(username|db|ns)=[^&]*&~', '', ME), 0, -1);
                echo '<p id="breadcrumb"><a href="' . h($link ? $link : ".") . '">' . $drivers[DRIVER] . '</a> &raquo; ';
                $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) {
                        echo "$server\n";
                } else {
index 3b6eb249d8895976cf7b6a3f4e17203f5c89bfc0..bb20f0e3aa8cac28c618476074c89c86ad7d9bed 100644 (file)
@@ -12,6 +12,7 @@ PostgreSQL: Cast to string when searching using LIKE (bug #325)
 PostgreSQL: Fix condition for selecting no rows
 PostgreSQL: Support TRUNCATE+INSERT export
 Customization: Support connecting to MySQL via SSL
+Customization: Allow specifying server name displayed in breadcrumbs
 
 Adminer 4.6.0 (released 2018-02-05):
 Fix counting selected rows after going back to select page
index e96c879ac6ff99eacce55c256451bfce8023d260..fe8ab6bed6e0d8e9e829a40d959234b81e26cd0f 100644 (file)
@@ -23,6 +23,9 @@ class Adminer {
        function bruteForceKey() {
                return $_SERVER["REMOTE_ADDR"];
        }
+       
+       function serverName($server) {
+       }
 
        function database() {
                global $connection;
index 053c93db6a1268c846fd67f564fd74df18e7252e..30bc5107a6f0db573af879a00777491dee28eab5 100644 (file)
@@ -19,6 +19,10 @@ class AdminerLoginServers {
                $this->driver = $driver;
        }
        
+       function serverName($server) {
+               return h($this->servers[$server]);
+       }
+       
        function login($login, $password) {
                // check if server is allowed
                foreach ($this->servers as $key => $val) {
index de34a0140b6e6921a6aa3e313345e4bf493c45f0..c910edb6a0e3434df941600fe0dce87bbd6459f0 100644 (file)
@@ -107,6 +107,11 @@ class AdminerPlugin extends Adminer {
                return $this->_applyPlugin(__FUNCTION__, $args);
        }
 
+       function serverName($server) {
+               $args = func_get_args();
+               return $this->_applyPlugin(__FUNCTION__, $args);
+       }
+
        function database() {
                $args = func_get_args();
                return $this->_applyPlugin(__FUNCTION__, $args);