get_session(); $registry = $appbox->get_registry(); $request = http_request::getInstance(); $parm = $request->get_parms('salt', 'error', 'sent', 'token', 'form_password', 'form_password_confirm', 'mail'); $needed = array(); if (isset($parm["mail"]) && trim($parm["mail"]) != "") { require_once(__DIR__ . '/../../lib/vendor/PHPMailer_v5.1/class.phpmailer.php'); if (!PHPMailer::ValidateAddress($parm['mail'])) { return phrasea::redirect('/login/forgotpwd.php?error=noaccount'); } try { $usr_id = User_Adapter::get_usr_id_from_email($parm['mail']); $user = User_Adapter::getInstance($usr_id, $appbox); } catch(Exception $e) { return phrasea::redirect('/login/forgotpwd.php?error=noaccount'); } $date = new DateTime('1 day'); $url = random::getUrlToken('password', $user->get_id(), $date); if ($url !== false) { $url = $registry->get('GV_ServerName') . 'login/forgotpwd.php?token=' . $url; if (mail::forgot_passord($parm['mail'], $user->get_login(), $url) === true) { return phrasea::redirect('/login/forgotpwd.php?sent=ok'); } else { return phrasea::redirect('/login/forgotpwd.php?error=mailserver'); } } return phrasea::redirect('/login/forgotpwd.php?error=noaccount'); } if (isset($parm['token']) && isset($parm['form_password']) && isset($parm['form_password_confirm'])) { if ($parm['form_password'] !== $parm['form_password_confirm']) $needed['form_password'] = $needed['form_password_confirm'] = _('forms::les mots de passe ne correspondent pas'); elseif (strlen(trim($parm['form_password'])) < 5) $needed['form_password'] = _('forms::la valeur donnee est trop courte'); elseif (trim($parm['form_password']) != str_replace(array("\r\n", "\n", "\r", "\t", " "), "_", $parm['form_password'])) $needed['form_password'] = _('forms::la valeur donnee contient des caracteres invalides'); if (count($needed) == 0) { try { $datas = random::helloToken($parm['token']); $user = User_Adapter::getInstance($datas['usr_id'], $appbox); $user->set_password($parm['form_password_confirm']); random::removeToken($parm['token']); return phrasea::redirect('/login/index.php?confirm=password-update-ok'); } catch(Exception_NotFound $e) { } } } phrasea::headers(); ?>
get('GV_homeTitle') ?> |