function wp_emember_generate_and_mail_password($email) { global $wpdb; if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) { if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) { return array('status_code' => false, 'msg' => EMEMBER_EMAIL_NOT_EXIST); } } $emember_config = Emember_Config::getInstance(); $emailId = esc_sql(trim($email)); $user = dbAccess::find(WP_EMEMBER_MEMBERS_TABLE_NAME, 'email=\'' . $emailId . '\''); if ($user) { require_once 'rand_pass.php'; include_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash(8, TRUE); $reset_pass = utility::generate_password(); //send mail from here with user name & password $wp_user_id = username_exists($user->user_name); if ($wp_user_id) { $wp_user_info = array(); $wp_user_info['user_pass'] = $reset_pass; $wp_user_info['ID'] = $wp_user_id; wp_update_user($wp_user_info); } $fields = array(); $password = $wp_hasher->HashPassword($reset_pass); $fields['password'] = esc_sql($password); dbAccess::update(WP_EMEMBER_MEMBERS_TABLE_NAME, 'member_id = ' . $user->member_id, $fields); $email_body = $emember_config->getValue('eMember_fogot_pass_email_body'); $email_subject = $emember_config->getValue('eMember_fogot_pass_email_subject'); $tags1 = array("{first_name}", "{last_name}", "{user_name}", "{password}"); $vals1 = array($user->first_name, $user->last_name, $user->user_name, $reset_pass); $email_body = str_replace($tags1, $vals1, $email_body); $from_address = $emember_config->getValue('eMember_fogot_pass_senders_email_address'); $headers = 'From: ' . $from_address . "\r\n"; wp_mail($emailId, $email_subject, $email_body, $headers); eMember_log_debug("Member password reset email sent to : " . $emailId, true); //Update the affiliate profile password if applicable eMember_handle_affiliate_password_reset($emailId, $password); return array('status_code' => true, 'msg' => EMEMBER_PASS_EMAILED_MSG); } else { return array('status_code' => false, 'msg' => EMEMBER_EMAIL_NOT_EXIST); } }