diff --git a/adminer/call.inc.php b/adminer/call.inc.php index 33f4cd78..1800ee16 100644 --- a/adminer/call.inc.php +++ b/adminer/call.inc.php @@ -40,7 +40,7 @@ if (!$error && $_POST) { if (!$result) { echo "

" . error() . "\n"; } else { - $connection2 = connect(); + $connection2 = connect($adminer->credentials()); if (is_object($connection2)) { $connection2->select_db(DB); } diff --git a/adminer/drivers/mongo.inc.php b/adminer/drivers/mongo.inc.php index a64f214b..ebacdc1f 100644 --- a/adminer/drivers/mongo.inc.php +++ b/adminer/drivers/mongo.inc.php @@ -421,10 +421,10 @@ if (isset($_GET["mongo"])) { return $credentials[1]; } - function connect() { + function connect($credentials) { global $adminer; $connection = new Db; - list($server, $username, $password) = $adminer->credentials(); + list($server, $username, $password) = $credentials; if ($server == "") { $server = "localhost:27017"; diff --git a/adminer/drivers/mssql.inc.php b/adminer/drivers/mssql.inc.php index ea7067bd..6c97323a 100644 --- a/adminer/drivers/mssql.inc.php +++ b/adminer/drivers/mssql.inc.php @@ -280,15 +280,11 @@ if (isset($_GET["mssql"])) { return ($_GET["ns"] != "" ? idf_escape($_GET["ns"]) . "." : "") . idf_escape($idf); } - function connect() { - global $adminer; + function connect($credentials) { $connection = new Db; - $credentials = $adminer->credentials(); - if ($credentials[0] == "") { $credentials[0] = "localhost:1433"; } - if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) { return $connection; } diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index 78df8232..6878f101 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -421,12 +421,11 @@ if (!defined('Adminer\DRIVER')) { } /** Connect to the database + * @param array [$server, $username, $password] * @return mixed Db or string for error */ - function connect() { - global $adminer; + function connect($credentials) { $connection = new Db; - $credentials = $adminer->credentials(); if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) { $connection->set_charset(charset($connection)); // available in MySQLi since PHP 5.0.5 $connection->query("SET sql_quote_show_create = 1, autocommit = 1"); diff --git a/adminer/drivers/oracle.inc.php b/adminer/drivers/oracle.inc.php index 009c8a99..86f52e51 100644 --- a/adminer/drivers/oracle.inc.php +++ b/adminer/drivers/oracle.inc.php @@ -211,10 +211,8 @@ if (isset($_GET["oracle"])) { return idf_escape($idf); } - function connect() { - global $adminer; + function connect($credentials) { $connection = new Db; - $credentials = $adminer->credentials(); if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) { return $connection; } diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index cf9f63c6..354b6192 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -312,10 +312,8 @@ if (isset($_GET["pgsql"])) { return idf_escape($idf); } - function connect() { - global $adminer; + function connect($credentials) { $connection = new Db; - $credentials = $adminer->credentials(); if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) { if (min_version(9, 0, $connection)) { $connection->query("SET application_name = 'Adminer'"); diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php index 8d0e10d6..ee75d48d 100644 --- a/adminer/drivers/sqlite.inc.php +++ b/adminer/drivers/sqlite.inc.php @@ -190,9 +190,8 @@ if (isset($_GET["sqlite"])) { return idf_escape($idf); } - function connect() { - global $adminer; - list(, , $password) = $adminer->credentials(); + function connect($credentials) { + list(, , $password) = $credentials; if ($password != "") { return lang('Database does not support password.'); } diff --git a/adminer/include/auth.inc.php b/adminer/include/auth.inc.php index 965b54f8..9244d28d 100644 --- a/adminer/include/auth.inc.php +++ b/adminer/include/auth.inc.php @@ -163,7 +163,7 @@ if (isset($_GET["username"]) && is_string(get_password())) { auth_error(lang('Connecting to privileged ports is not allowed.')); } check_invalid_login(); - $connection = connect(); + $connection = connect($adminer->credentials()); $driver = new Driver($connection); if ($adminer->operators === null) { $adminer->operators = $driver->operators; diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 18734af9..c386aa6b 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -1302,7 +1302,7 @@ function slow_query($query) { $db = $adminer->database(); $timeout = $adminer->queryTimeout(); $slow_query = $driver->slowQuery($query, $timeout); - if (!$slow_query && support("kill") && is_object($connection2 = connect()) && ($db == "" || $connection2->select_db($db))) { + if (!$slow_query && support("kill") && is_object($connection2 = connect($adminer->credentials())) && ($db == "" || $connection2->select_db($db))) { $kill = $connection2->result(connection_id()); // MySQL and MySQLi can use thread_id but it's not in PDO_MySQL ?> > diff --git a/adminer/sql.inc.php b/adminer/sql.inc.php index 28884a7f..593cd63f 100644 --- a/adminer/sql.inc.php +++ b/adminer/sql.inc.php @@ -52,7 +52,7 @@ if (!$error && $_POST) { $delimiter = ";"; $offset = 0; $empty = true; - $connection2 = connect(); // connection for exploring indexes and EXPLAIN (to not replace FOUND_ROWS()) //! PDO - silent error + $connection2 = connect($adminer->credentials()); // connection for exploring indexes and EXPLAIN (to not replace FOUND_ROWS()) //! PDO - silent error if (is_object($connection2) && DB != "") { $connection2->select_db(DB); if ($_GET["ns"] != "") { diff --git a/plugins/drivers/clickhouse.php b/plugins/drivers/clickhouse.php index ae6854f1..b1ab4647 100644 --- a/plugins/drivers/clickhouse.php +++ b/plugins/drivers/clickhouse.php @@ -234,10 +234,9 @@ if (isset($_GET["clickhouse"])) { return apply_queries("DROP TABLE", $tables); } - function connect() { - $adminer = adminer(); + function connect($credentials) { $connection = new Db; - list($server, $username, $password) = $adminer->credentials(); + list($server, $username, $password) = $credentials; if (!preg_match('~^(https?://)?[-a-z\d.]+(:\d+)?$~', $server)) { return lang('Invalid server.'); } diff --git a/plugins/drivers/elastic.php b/plugins/drivers/elastic.php index 465cedb3..151b2332 100644 --- a/plugins/drivers/elastic.php +++ b/plugins/drivers/elastic.php @@ -286,10 +286,10 @@ if (isset($_GET["elastic"])) { } } - function connect() { + function connect($credentials) { $connection = new Db; - list($server, $username, $password) = adminer()->credentials(); + list($server, $username, $password) = $credentials; if (!preg_match('~^(https?://)?[-a-z\d.]+(:\d+)?$~', $server)) { return lang('Invalid server.'); } diff --git a/plugins/drivers/elastic5.php b/plugins/drivers/elastic5.php index f2301dff..ca536929 100644 --- a/plugins/drivers/elastic5.php +++ b/plugins/drivers/elastic5.php @@ -273,10 +273,10 @@ if (isset($_GET["elastic5"])) { } } - function connect() { + function connect($credentials) { $connection = new Db; - list($server, $username, $password) = adminer()->credentials(); + list($server, $username, $password) = $credentials; if (!preg_match('~^(https?://)?[-a-z\d.]+(:\d+)?$~', $server)) { return lang('Invalid server.'); } diff --git a/plugins/drivers/firebird.php b/plugins/drivers/firebird.php index e2c7309a..2e22084d 100644 --- a/plugins/drivers/firebird.php +++ b/plugins/drivers/firebird.php @@ -131,10 +131,8 @@ if (isset($_GET["firebird"])) { return idf_escape($idf); } - function connect() { - $adminer = adminer(); + function connect($credentials) { $connection = new Db; - $credentials = $adminer->credentials(); if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) { return $connection; } diff --git a/plugins/drivers/simpledb.php b/plugins/drivers/simpledb.php index 241d1774..36cfb820 100644 --- a/plugins/drivers/simpledb.php +++ b/plugins/drivers/simpledb.php @@ -251,9 +251,8 @@ if (isset($_GET["simpledb"])) { - function connect() { - $adminer = adminer(); - list($host, , $password) = $adminer->credentials(); + function connect($credentials) { + list($host, , $password) = $credentials; if (!preg_match('~^(https?://)?[-a-z\d.]+(:\d+)?$~', $host)) { return lang('Invalid server.'); }