X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Flostpass.php;h=f955c020e40ce817a6b09abeed381e880d8e7fba;hb=9a0c37eb47cde20f532d7dcac583ca95a8cd4d24;hp=cc31efd973f663c9ee9697129efa65a0f44a1146;hpb=6881edf1f77436609ca0c70ac027b6db45f06689;p=friendica.git diff --git a/mod/lostpass.php b/mod/lostpass.php index cc31efd973..f955c020e4 100644 --- a/mod/lostpass.php +++ b/mod/lostpass.php @@ -1,6 +1,7 @@ $a->config['sitename'], - '$siteurl' => $a->get_baseurl(), - '$username' => $username, - '$email' => $email, - '$reset_link' => $a->get_baseurl() . '/lostpass?verify=' . $new_password - )); - $res = mail($email, email_header_encode(sprintf( t('Password reset requested at %s'),$a->config['sitename']),'UTF-8'), - $email_tpl, - 'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n" - . 'Content-type: text/plain; charset=UTF-8' . "\n" - . 'Content-transfer-encoding: 8bit' ); + $sitename = $a->config['sitename']; + $siteurl = $a->get_baseurl(); + $resetlink = $a->get_baseurl() . '/lostpass?verify=' . $new_password; + $preamble = deindent(t(' + Dear %1$s, + A request was recently received at "%2$s" to reset your account + password. In order to confirm this request, please select the verification link + below or paste it into your web browser address bar. + + If you did NOT request this change, please DO NOT follow the link + provided and ignore and/or delete this email. + + Your password will not be changed unless we can verify that you + issued this request.')); + $body = deindent(t(' + Follow this link to verify your identity: + + %1$s + + You will then receive a follow-up message containing the new password. + You may change that password from your account settings page after logging in. + + The login details are as follows: + + Site Location: %2$s + Login Name: %3$s')); + + $preamble = sprintf($preamble, $username, $sitename); + $body = sprintf($body, $resetlink, $siteurl, $email); + + notification(array( + 'type' => "SYSTEM_EMAIL", + 'to_email' => $email, + 'subject'=> sprintf( t('Password reset requested at %s'),$sitename), + 'preamble'=> $preamble, + 'body' => $body)); goaway(z_root()); + } @@ -63,9 +88,8 @@ function lostpass_content(&$a) { dbesc($hash) ); if(! count($r)) { - notice( t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed.") . EOL); - goaway(z_root()); - return; + $o = t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed."); + return $o; } $uid = $r[0]['uid']; $username = $r[0]['username']; @@ -74,7 +98,7 @@ function lostpass_content(&$a) { $new_password = autoname(6) . mt_rand(100,9999); $new_password_encoded = hash('whirlpool',$new_password); - $r = q("UPDATE `user` SET `password` = '%s', `pwdreset` = '' WHERE `uid` = %d LIMIT 1", + $r = q("UPDATE `user` SET `password` = '%s', `pwdreset` = '' WHERE `uid` = %d", dbesc($new_password_encoded), intval($uid) ); @@ -94,26 +118,38 @@ function lostpass_content(&$a) { info("Your password has been reset." . EOL); + $sitename = $a->config['sitename']; + $siteurl = $a->get_baseurl(); + // $username, $email, $new_password + $preamble = deindent(t(' + Dear %1$s, + Your password has been changed as requested. Please retain this + information for your records (or change your password immediately to + something that you will remember). + ')); + $body = deindent(t(' + Your login details are as follows: + + Site Location: %1$s + Login Name: %2$s + Password: %3$s - $email_tpl = get_intltext_template("passchanged_eml.tpl"); - $email_tpl = replace_macros($email_tpl, array( - '$sitename' => $a->config['sitename'], - '$siteurl' => $a->get_baseurl(), - '$username' => $username, - '$email' => $email, - '$new_password' => $new_password, - '$uid' => $newuid )); + You may change that password from your account settings page after logging in. + ')); - $subject = sprintf( t('Your password has been changed at %s'), $a->config['sitename']); + $preamble = sprintf($preamble, $username); + $body = sprintf($body, $siteurl, $email, $new_password); - $res = mail($email, email_header_encode( $subject, 'UTF-8'), $email_tpl, - 'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n" - . 'Content-type: text/plain; charset=UTF-8' . "\n" - . 'Content-transfer-encoding: 8bit' ); + notification(array( + 'type' => "SYSTEM_EMAIL", + 'to_email' => $email, + 'subject'=> sprintf( t('Your password has been changed at %s'),$sitename), + 'preamble'=> $preamble, + 'body' => $body)); return $o; } - + } else { $tpl = get_markup_template('lostpass.tpl'); @@ -122,7 +158,7 @@ function lostpass_content(&$a) { '$title' => t('Forgot your Password?'), '$desc' => t('Enter your email address and submit to have your password reset. Then check your email for further instructions.'), '$name' => t('Nickname or Email: '), - '$submit' => t('Reset') + '$submit' => t('Reset') )); return $o;