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 ?>