Index: trunk/kernel/parser.php =================================================================== diff -u -r1025 -r1035 --- trunk/kernel/parser.php (.../parser.php) (revision 1025) +++ trunk/kernel/parser.php (.../parser.php) (revision 1035) @@ -2243,7 +2243,7 @@ function m_confirm_password_link($attribs = array()) { - global $m_var_list_update, $objSession, $objConfig; + global $m_var_list_update, $var_list_update, $objSession, $objConfig; $template = "forgotpw_reset_result"; // $user = $objSession->Get("tmp_user_id").";".$objSession->Get("tmp_email"); @@ -2257,8 +2257,8 @@ $conn->Execute($sql); - $m_var_list_update["t"] = $template; - + $var_list_update["t"] = $template; + $ret = ($attribs["_secure"]?"https://":"http://").ThisDomain().$objConfig->Get("Site_Path")."index.php?env=".BuildEnv().$query; return $ret; @@ -2273,24 +2273,8 @@ */ function m_codevalidationresult($attribs=Array()) { - $passed_key = $_GET['user_key']; - $conn = &GetADODBConnection(); - $sql = 'SELECT PwRequestTime FROM '.GetTablePrefix().'PortalUser WHERE PwResetConfirm="'.$passed_key.'"'; - $rs = $conn->Execute($sql); - $PwRequestTime = $rs->Fields['PwRequestTime']; - - if (!$rs->EOF) - { - if ($PwRequestTime + 3600 < mktime()) - { - return m_language(Array('_phrase'=>'lu_code_expired')); - } - return m_language(Array('_phrase'=>'lu_forgotpw_confirm_text')); - } - else - { - return m_language(Array('_phrase'=>'lu_code_is_not_valid')); - } + global $m_var_list_update; + return $m_var_list_update['codevalidationresult']; } /* Index: trunk/kernel/frontaction.php =================================================================== diff -u -r1031 -r1035 --- trunk/kernel/frontaction.php (.../frontaction.php) (revision 1031) +++ trunk/kernel/frontaction.php (.../frontaction.php) (revision 1035) @@ -73,6 +73,7 @@ $u->Set("PwRequestTime", 0); if ($exp_time > mktime()) { + $m_var_list_update['codevalidationresult'] = 'lu_resetpw_confirm_text'; $newpw = makepassword(); $objSession->Set('password', $newpw); $u->Set("Password",$newpw); @@ -85,19 +86,24 @@ $u->Set("Password",md5($newpw)); $u->Update(); $u->Clean(); + } else { + $m_var_list_update['codevalidationresult'] = 'lu_code_expired'; } - } + } else { + $m_var_list_update['codevalidationresult'] = 'lu_code_is_not_valid'; + } break; case "m_forgotpw": $MissingCount = SetMissingDataErrors("forgotpw"); - $pass_reset_add = $objConfig->Get("Users_AllowReset"); +// $pass_reset_add = $objConfig->Get("Users_AllowReset"); if($MissingCount==0) { $username = $_POST["username"]; $email = $_POST["email"]; $found = false; + $allow_reset = true; if(strlen($username)) { $u = $objUsers->GetItemByField("Login",$username); @@ -145,15 +151,28 @@ } else { - if(strlen($username)) - $FormError["forgotpw"]["username"] = language("lu_ferror_unknown_username"); - if(strlen($email)) - $FormError["forgotpw"]["email"] = language("lu_ferror_unknown_email"); - if (!$allow_reset) { - $FormError["forgotpw"]["username"] = language("lu_ferror_reset_denied"); - //$FormError["forgotpw"] = language("lu_ferror_reset_denied"); - } - $MissingCount++; + $error_phrases=Array(); + + if($allow_reset) + { + $error_phrases['username']='lu_ferror_unknown_username'; + $error_phrases['email']='lu_ferror_unknown_email'; + } + else + { + $error_phrases['username']='lu_ferror_reset_denied'; + $error_phrases['email']='lu_ferror_reset_denied'; + } + + foreach ($error_phrases as $field_name => $phrase_name) { + if(GetVar($field_name)) + { + $FormError["forgotpw"][$field_name] = language($phrase_name); + break; + } + } + + $MissingCount++; } if(strlen($_GET["error"])) $var_list["t"] = $_GET["error"]; Index: trunk/kernel/include/modules.php =================================================================== diff -u -r787 -r1035 --- trunk/kernel/include/modules.php (.../modules.php) (revision 787) +++ trunk/kernel/include/modules.php (.../modules.php) (revision 1035) @@ -153,15 +153,15 @@ $env = $sessionkey; } $env .= "-"; - - if (isset($var_list_update["t"])) + + if (isset($var_list_update["t"])) { if($var_list_update["t"]=="_referer_") { $var_list_update["t"] =$objSession->GetVariable("Template_Referer"); } - $t = $var_list_update["t"]; + $t = $var_list_update["t"]; if(!is_numeric($t)) { if(!is_object($theme))