diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index ad8c1be2..8368d8ae 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -21,6 +21,31 @@ function adminer_database() { return call_adminer('database', $_GET["db"]); } +/** Print login form +* @param string +* @return bool whether to display default login form +*/ +function adminer_login_form($username) { + if (call_adminer('login_form', true, $username)) { + ?> + +
"> +
+
+
+getMessage() : ($dbh ? $dbh : lang('Invalid credentials.'))) : (isset($_POST["server"]) ? lang('Sessions must be enabled.') : ($_POST ? lang('Session expired, please login again.') : ""))), null); - ?> -
- -
"> -
-
-
-

-getMessage() : (is_string($dbh) ? $dbh : lang('Invalid credentials.'))) : (isset($_POST["server"]) ? lang('Sessions must be enabled.') : ($_POST ? lang('Session expired, please login again.') : ""))), null); + echo "\n"; + adminer_login_form($login); + echo "

\n"; hidden_fields($_POST, $ignore); // expired session foreach ($_FILES as $key => $val) { echo ''; @@ -67,8 +61,8 @@ if (!isset($username)) { $username = $_GET["username"]; // default username can be passed in URL } $dbh = (isset($username) ? connect() : ''); -unset($username); -if (is_string($dbh)) { +if (is_string($dbh) || !adminer_login($username, $_SESSION["passwords"][$_GET["server"]])) { auth_error(); exit; } +unset($username); diff --git a/adminer/include/bootstrap.inc.php b/adminer/include/bootstrap.inc.php index 2941bf1d..daa26a00 100644 --- a/adminer/include/bootstrap.inc.php +++ b/adminer/include/bootstrap.inc.php @@ -91,7 +91,7 @@ if (isset($_GET["coverage"])) { } include "../adminer/include/pdo.inc.php"; include "../adminer/include/mysql.inc.php"; -include "./include/auth.inc.php"; +include "../adminer/include/auth.inc.php"; include "./include/connect.inc.php"; include "./include/editing.inc.php"; include "./include/export.inc.php"; diff --git a/editor/include/adminer.inc.php b/editor/include/adminer.inc.php index 0f6f4507..ff082f32 100644 --- a/editor/include/adminer.inc.php +++ b/editor/include/adminer.inc.php @@ -12,6 +12,21 @@ function adminer_database() { return call_adminer('database', (count($dbs) == 1 ? $dbs[0] : (count($dbs) == 2 && information_schema($dbs[0]) ? $dbs[1] : 'test'))); } +function adminer_login_form($username) { + if (call_adminer('login_form', true, $username)) { + ?> + +
+
+
+