X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Flostpass.php;h=cc31efd973f663c9ee9697129efa65a0f44a1146;hb=5f1ef732e05c79584e6ea1cdb14360a7dd388a9d;hp=335a1f5127127bf91de16d73465f211d5bbfaecc;hpb=4043ede08052846fd02751519b1568d6b8987bfd;p=friendica.git diff --git a/mod/lostpass.php b/mod/lostpass.php index 335a1f5127..cc31efd973 100644 --- a/mod/lostpass.php +++ b/mod/lostpass.php @@ -1,20 +1,26 @@ get_baseurl()); + $loginame = notags(trim($_POST['login-name'])); + if(! $loginame) + goaway(z_root()); - $r = q("SELECT * FROM `user` WHERE ( `email` = '%s' OR `nickname` = '%s' ) LIMIT 1", - dbesc($email), - dbesc($email) + $r = q("SELECT * FROM `user` WHERE ( `email` = '%s' OR `nickname` = '%s' ) AND `verified` = 1 AND `blocked` = 0 LIMIT 1", + dbesc($loginame), + dbesc($loginame) ); - if(! count($r)) - goaway($a->get_baseurl()); + + if(! count($r)) { + notice( t('No valid account found.') . EOL); + goaway(z_root()); + } + $uid = $r[0]['uid']; $username = $r[0]['username']; + $email = $r[0]['email']; $new_password = autoname(12) . mt_rand(100,9999); $new_password_encoded = hash('whirlpool',$new_password); @@ -24,9 +30,9 @@ function lostpass_post(&$a) { intval($uid) ); if($r) - notice( t('Password reset request issued. Check your email.') . EOL); + info( t('Password reset request issued. Check your email.') . EOL); - $email_tpl = load_view_file("view/lostpass_eml.tpl"); + $email_tpl = get_intltext_template("lostpass_eml.tpl"); $email_tpl = replace_macros($email_tpl, array( '$sitename' => $a->config['sitename'], '$siteurl' => $a->get_baseurl(), @@ -35,10 +41,14 @@ function lostpass_post(&$a) { '$reset_link' => $a->get_baseurl() . '/lostpass?verify=' . $new_password )); - $res = mail($email, sprintf( t('Password reset requested at %s'),$a->config['sitename']), - $email_tpl, 'From: ' . t('Administrator') . '@' . $_SERVER[SERVER_NAME]); + $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' ); + - goaway($a->get_baseurl()); + goaway(z_root()); } @@ -54,7 +64,7 @@ function lostpass_content(&$a) { ); if(! count($r)) { notice( t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed.") . EOL); - goaway($a->get_baseurl()); + goaway(z_root()); return; } $uid = $r[0]['uid']; @@ -69,16 +79,23 @@ function lostpass_content(&$a) { intval($uid) ); if($r) { - $tpl = load_view_file('view/pwdreset.tpl'); + $tpl = get_markup_template('pwdreset.tpl'); $o .= replace_macros($tpl,array( + '$lbl1' => t('Password Reset'), + '$lbl2' => t('Your password has been reset as requested.'), + '$lbl3' => t('Your new password is'), + '$lbl4' => t('Save or copy your new password - and then'), + '$lbl5' => '' . t('click here to login') . '.', + '$lbl6' => t('Your password may be changed from the Settings page after successful login.'), '$newpass' => $new_password, '$baseurl' => $a->get_baseurl() + )); - notice("Your password has been reset." . EOL); + info("Your password has been reset." . EOL); - $email_tpl = load_view_file("view/passchanged_eml.tpl"); + $email_tpl = get_intltext_template("passchanged_eml.tpl"); $email_tpl = replace_macros($email_tpl, array( '$sitename' => $a->config['sitename'], '$siteurl' => $a->get_baseurl(), @@ -87,14 +104,19 @@ function lostpass_content(&$a) { '$new_password' => $new_password, '$uid' => $newuid )); - $res = mail($email,"Your password has changed at {$a->config['sitename']}",$email_tpl,"From: Administrator@{$_SERVER[SERVER_NAME]}"); + $subject = sprintf( t('Your password has been changed at %s'), $a->config['sitename']); + + $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' ); return $o; } } else { - $tpl = load_view_file('view/lostpass.tpl'); + $tpl = get_markup_template('lostpass.tpl'); $o .= replace_macros($tpl,array( '$title' => t('Forgot your Password?'), @@ -106,4 +128,4 @@ function lostpass_content(&$a) { return $o; } -} \ No newline at end of file +}