diff options
author | Andrew Dolgov <[email protected]> | 2006-10-01 05:05:12 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2006-10-01 05:05:12 +0100 |
commit | 461766f33ef735eca51d0bf63fa1557c59aa5451 (patch) | |
tree | a8705bc57d544fed10a1946d81257943136c1e3a /functions.php | |
parent | 803cfab11a6f94bbd395d723c7522b5b5272b3db (diff) |
add debug mode only fast user switcher
Diffstat (limited to 'functions.php')
-rw-r--r-- | functions.php | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/functions.php b/functions.php index e408376b5..02228c886 100644 --- a/functions.php +++ b/functions.php @@ -1011,14 +1011,23 @@ return true; } - function authenticate_user($link, $login, $password) { + function authenticate_user($link, $login, $password, $force_auth = false) { if (!SINGLE_USER_MODE) { $pwd_hash = 'SHA1:' . sha1($password); - - $result = db_query($link, "SELECT id,login,access_level FROM ttrss_users WHERE - login = '$login' AND pwd_hash = '$pwd_hash'"); + + if ($force_auth && defined('_DEBUG_USER_SWITCH')) { + $query = "SELECT id,login,access_level + FROM ttrss_users WHERE + login = '$login'"; + } else { + $query = "SELECT id,login,access_level + FROM ttrss_users WHERE + login = '$login' AND pwd_hash = '$pwd_hash'"; + } + + $result = db_query($link, $query); if (db_num_rows($result) == 1) { $_SESSION["uid"] = db_fetch_result($result, 0, "id"); @@ -1145,6 +1154,14 @@ function login_sequence($link) { if (!SINGLE_USER_MODE) { + if (defined('_DEBUG_USER_SWITCH') && $_SESSION["uid"]) { + $swu = db_escape_string($_REQUEST["swu"]); + if ($swu) { + $_SESSION["prefs_cache"] = false; + return authenticate_user($link, $swu, null, true); + } + } + if (!validate_session($link)) { logout_user(); $redirect_uri = get_login_redirect(); |