ERROR: The username field is empty.'); if ( empty( $_POST['user_email'] ) ) $errors['user_email'] = __('ERROR: The e-mail field is empty.'); do_action('lostpassword_post'); if ( empty( $errors ) ) { $user_data = get_userdatabylogin(trim($_POST['user_login'])); // redefining user_login ensures we return the right case in the email $user_login = $user_data->user_login; $user_email = $user_data->user_email; if (!$user_email || $user_email != $_POST['user_email']) { $errors['invalidcombo'] = __('ERROR: Invalid username / e-mail combination.'); } else { do_action('retreive_password', $user_login); // Misspelled and deprecated do_action('retrieve_password', $user_login); // Generate something random for a password... md5'ing current time with a rand salt $key = substr( md5( uniqid( microtime() ) ), 0, 8); // Now insert the new pass md5'd into the db $wpdb->query("UPDATE $wpdb->users SET user_activation_key = '$key' WHERE user_login = '$user_login'"); $message = __('Someone has asked to reset the password for the following site and username.') . "\r\n\r\n"; $message .= get_option('siteurl') . "\r\n\r\n"; $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n"; $message .= __('To reset your password visit the following address, otherwise just ignore this email and nothing will happen.') . "\r\n\r\n"; $message .= get_option('siteurl') . "/wp-content/plugins/ajax-login-widget/resetpassword.php?key=$key\r\n"; if (FALSE == wp_mail($user_email, sprintf(__('[%s] Password Reset'), get_option('blogname')), $message)) { echo ALW_FAILURE; echo "\n"; echo "The e-mail could not be sent."; exit(); } else { echo ALW_SUCCESS; exit(); } } } } if ( !empty( $error ) ) { $errors['error'] = $error; unset($error); } if ( !empty( $errors ) ) { if ( is_array( $errors ) ) { $newerrors = ""; foreach ( $errors as $error ) { $stripped = str_replace("", "", $error); $stripped = str_replace("", "", $stripped); $newerrors .= $stripped . "\n"; } $errors = $newerrors; } } echo ALW_FAILURE; echo "\n"; echo apply_filters('login_errors', $errors); exit(); ?>