/**
  * 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;
 }