From dde28db6ac0c0a39488973fed7db63d5dca5afae Mon Sep 17 00:00:00 2001 From: e107steved Date: Fri, 29 Aug 2008 21:16:39 +0000 Subject: [PATCH] Bugtracker #4490 - show username (login name) rather than display name after password reset --- fpw.php | 59 ++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/fpw.php b/fpw.php index e89f8d4e3..ba8d94411 100644 --- a/fpw.php +++ b/fpw.php @@ -11,8 +11,8 @@ | GNU General Public License (http://gnu.org). | | $Source: /cvs_backup/e107_0.8/fpw.php,v $ -| $Revision: 1.6 $ -| $Date: 2008-06-13 20:20:20 $ +| $Revision: 1.7 $ +| $Date: 2008-08-29 21:16:39 $ | $Author: e107steved $ +----------------------------------------------------------------------------+ */ @@ -39,10 +39,14 @@ else if ($pref['membersonly_enabled']) { - if (!$FPW_TABLE_HEADER) { - if (file_exists(THEME."fpw_template.php")) { + if (!$FPW_TABLE_HEADER) + { + if (file_exists(THEME."fpw_template.php")) + { require_once(THEME."fpw_template.php"); - } else { + } + else + { require_once(e_BASE.$THEMES_DIRECTORY."templates/fpw_template.php"); } } @@ -69,21 +73,22 @@ $fpw_sep = "#"; if (e_QUERY) -{ // User has clicked on link to reset password +{ // User has clicked on the emailed link define("FPW_ACTIVE","TRUE"); $tmp = explode($fpw_sep, e_QUERY); $tmpinfo = preg_replace("#[\W_]#", "", $tp -> toDB($tmp[0], true)); - if ($sql->db_Select("tmp", "*", "tmp_info LIKE '%{$fpw_sep}{$tmpinfo}' ")) + if ($sql->db_Select("tmp", "*", "`tmp_info` LIKE '%{$fpw_sep}{$tmpinfo}' ")) { $row = $sql->db_Fetch(); extract($row); - $sql->db_Delete("tmp", "tmp_info LIKE '%{$fpw_sep}{$tmpinfo}' "); + $sql->db_Delete("tmp", "`tmp_info` LIKE '%{$fpw_sep}{$tmpinfo}' "); $newpw = ""; $pwlen = rand(8, 12); - for($a = 0; $a <= $pwlen; $a++) { + for($a = 0; $a <= $pwlen; $a++) + { $newpw .= chr(rand(97, 122)); } - list($username, $md5) = explode($fpw_sep, $tmp_info); + list($loginName, $md5) = explode($fpw_sep, $tmp_info); // $mdnewpw = md5($newpw); $mdnewpw = $user_info->HashPassword($newpw,$username); @@ -94,13 +99,14 @@ if (e_QUERY) $do_log['user_password'] = $mdnewpw; $admin_log->user_audit(USER_AUDIT_PW_RES,$do_log,0,$do_log['user_name']); - $sql->db_Update("user", "user_password='{$mdnewpw}', user_viewed='' WHERE user_loginname='".$tp -> toDB($username, true)."' "); + $sql->db_Update("user", "`user_password`='{$mdnewpw}', `user_viewed`='' WHERE `user_loginname`='".$tp -> toDB($loginName, true)."' "); + cookie($pref['cookie_name'], "", (time()-2592000)); $_SESSION[$pref['cookie_name']] = ""; $txt = "
".LAN_FPW8."

- +
".LAN_218."{$username}
".LAN_218."{$loginName}
".LAN_FPW9."{$newpw}


".LAN_FPW10." ".LAN_FPW11." ".LAN_FPW12."
"; @@ -117,36 +123,37 @@ if (e_QUERY) // Request to reset password //-------------------------- if (isset($_POST['pwsubmit'])) -{ +{ // Request for password reset submitted require_once(e_HANDLER."mail.php"); $email = $_POST['email']; if ($pref['fpwcode'] && extension_loaded("gd")) { - if (!$sec_img->verify_code($_POST['rand_num'], $_POST['code_verify'])) { + if (!$sec_img->verify_code($_POST['rand_num'], $_POST['code_verify'])) + { fpw_error(LAN_FPW3); } } $clean_email = check_email($tp -> toDB($_POST['email'])); $clean_username = $tp -> toDB($_POST['username']); - $query = "user_email='{$clean_email}' "; + $query = "`user_email`='{$clean_email}' "; // Allow admins to remove 'username' from fpw_template.php if they wish. - $query .= (isset($_POST['username'])) ? " AND user_loginname='{$clean_username}'" : ""; + $query .= (isset($_POST['username'])) ? " AND `user_loginname`='{$clean_username}'" : ""; if ($sql->db_Select("user", "*", $query)) - { + { // Found user in DB $row = $sql->db_Fetch(); extract($row); - if ($user_admin == 1 && $user_perms == "0") + if ($row['user_admin'] == 1 && $row['user_perms'] == "0") { // Main admin expected to be competent enough to never forget password! (And its a security check - so warn them) sendemail($pref['siteadminemail'], LAN_06, LAN_07."".$e107->getip()." ".LAN_08); echo "\n"; die(); } - if ($sql->db_Select("tmp", "*", "tmp_ip = 'pwreset' AND tmp_info LIKE '{$user_name}{$fpw_sep}%'")) + if ($result = $sql->db_Select("tmp", "*", "`tmp_ip` = 'pwreset' AND `tmp_info` LIKE '{$row['user_loginname']}{$fpw_sep}%'")) { fpw_error(LAN_FPW4); exit; @@ -196,18 +203,22 @@ if (isset($_POST['pwsubmit'])) } -if (USE_IMAGECODE) { - +if (USE_IMAGECODE) +{ $FPW_TABLE_SECIMG_LAN = LAN_FPW2; $FPW_TABLE_SECIMG_HIDDEN = ""; $FPW_TABLE_SECIMG_SECIMG = $sec_img->r_image(); $FPW_TABLE_SECIMG_TEXTBOC = ""; } -if (!$FPW_TABLE) { - if (file_exists(THEME."fpw_template.php")) { +if (!$FPW_TABLE) +{ + if (file_exists(THEME."fpw_template.php")) + { require_once(THEME."fpw_template.php"); - } else { + } + else + { require_once(e_BASE.$THEMES_DIRECTORY."templates/fpw_template.php"); } }