Permalink
Browse files

Allow specifying database in login form (bug #3499359)

  • Loading branch information...
vrana committed May 14, 2012
1 parent f595f93 commit 8be29afb9b43352db6b075a5aadf6eade5f94ddf
@@ -67,6 +67,7 @@ function loginForm() {
<tr><th><?php echo lang('Server'); ?><td><input name="auth[server]" value="<?php echo h(SERVER); ?>" title="hostname[:port]">
<tr><th><?php echo lang('Username'); ?><td><input id="username" name="auth[username]" value="<?php echo h($_GET["username"]); ?>">
<tr><th><?php echo lang('Password'); ?><td><input type="password" name="auth[password]">
<tr><th><?php echo lang('Database'); ?><td><input name="auth[db]" value="<?php echo h($_GET["db"]); ?>">
</table>
<script type="text/javascript">
var username = document.getElementById('username');
@@ -28,8 +28,9 @@
|| DRIVER != $auth["driver"]
|| SERVER != $auth["server"]
|| $_GET["username"] !== $auth["username"] // "0" == "00"
|| DB != $auth["db"]
) {
redirect(auth_url($auth["driver"], $auth["server"], $auth["username"]));
redirect(auth_url($auth["driver"], $auth["server"], $auth["username"], $auth["db"]));
}
} elseif ($_POST["logout"]) {
if ($token && $_POST["token"] != $token) {
@@ -418,15 +418,17 @@ function set_session($key, $val) {
* @param string
* @param string
* @param string
* @param string
* @return string
*/
function auth_url($driver, $server, $username) {
function auth_url($driver, $server, $username, $db = null) {
global $drivers;
preg_match('~([^?]*)\\??(.*)~', remove_from_uri(implode("|", array_keys($drivers)) . "|username|" . session_name()), $match);
preg_match('~([^?]*)\\??(.*)~', remove_from_uri(implode("|", array_keys($drivers)) . "|username|" . ($db !== null ? "db|" : "") . session_name()), $match);
return "$match[1]?"
. (sid() ? SID . "&" : "")
. ($driver != "server" || $server != "" ? urlencode($driver) . "=" . urlencode($server) . "&" : "")
. "username=" . urlencode($username)
. ($db != "" ? "&db=" . urlencode($db) : "")
. ($match[2] ? "&$match[2]" : "")
;
}
@@ -59,7 +59,7 @@ function typePassword(el, disable) {
function loginDriver(driver) {
var trs = driver.parentNode.parentNode.parentNode.rows;
for (var i=1; i < trs.length; i++) {
for (var i=1; i < trs.length - 1; i++) {
trs[i].className = (/sqlite/.test(driver.value) ? 'hidden' : '');
}
}
View
@@ -2,6 +2,7 @@ Adminer 3.4.0-dev:
Print current time next to executed SQL queries
Highlight code in SQL command by CodeMirror
Link to descending order
Allow specifying database in login form
Link to original table in EXPLAIN of SELECT * FROM table t
MySQL: inform about disabled event_scheduler
SQLite: support binary data

0 comments on commit 8be29af

Please sign in to comment.