/** * Sending the password reset e-mail with token * * @return void */ function moove_password_reset_request() { $email_address = sanitize_email($_POST['email']); if (is_email($email_address)) { $user = get_user_by('email', $email_address); } else { $user = false; } if ($user === false) { echo json_encode(array('success' => false)); } else { $token = sha1($email_address . substr(str_shuffle(str_repeat('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', mt_rand(1, 20))), 1, 20)); $model = new Moove_User(); $model->moove_set_activation_key($token, $user->user_login); $subject = get_option('blogname') . ' - Reset your password'; $view_data = array('name' => $user->display_name, 'email' => $email_address, 'link' => site_url('/reset-password/?token=' . $token)); $_mailcontent = Moove_View::load('moove.mail.remind'); $mailcontent = Moove_User_Custom_Settings::moove_password_reset_content(array('mail' => $_mailcontent, 'view_data' => $view_data)); wp_mail($email_address, $subject, $mailcontent, 'Content-type: text/html' . "\r\n"); echo json_encode(array('success' => true)); } die; }