updated plugin Easy Digital Downloads
version 3.1.1.4.2
This commit is contained in:
@ -247,6 +247,22 @@ add_action( 'edd_user_reset_password', 'edd_validate_password_reset' );
|
||||
* @return void
|
||||
*/
|
||||
function edd_validate_password_reset( $data ) {
|
||||
|
||||
// We don't need or use AJAX requests for this, so die if one is received.
|
||||
if ( edd_doing_ajax() ) {
|
||||
wp_die( __( 'Invalid password reset request.', 'easy-digital-downloads' ), __( 'Error', 'easy-digital-downloads' ), array( 'response' => 400 ) );
|
||||
}
|
||||
|
||||
if ( empty( $data['rp_key'] ) ) {
|
||||
edd_set_error( 'password_reset_failed', __( 'Invalid password reset request.', 'easy-digital-downloads' ) );
|
||||
}
|
||||
|
||||
$user = check_password_reset_key( $data['rp_key'], $data['user_login'] );
|
||||
|
||||
if ( ! $user || is_wp_error( $user ) ) {
|
||||
edd_set_error( 'password_reset_failed', __( 'Invalid password reset request.', 'easy-digital-downloads' ) );
|
||||
}
|
||||
|
||||
// Check if password is one or all empty spaces.
|
||||
if ( ! empty( $data['pass1'] ) ) {
|
||||
$_POST['pass1'] = trim( $data['pass1'] );
|
||||
@ -262,13 +278,15 @@ function edd_validate_password_reset( $data ) {
|
||||
}
|
||||
|
||||
$user = get_user_by( 'login', $data['user_login'] );
|
||||
if ( ! $user || is_wp_error( $user ) ) {
|
||||
if ( false === $user ) {
|
||||
edd_set_error( 'password_reset_unsuccessful', __( 'Your password could not be reset.', 'easy-digital-downloads' ) );
|
||||
}
|
||||
|
||||
$redirect = remove_query_arg( 'action', $data['edd_redirect'] );
|
||||
|
||||
// If no errors were registered then reset the password.
|
||||
if ( ! edd_get_errors() ) {
|
||||
$errors = edd_get_errors();
|
||||
if ( empty( $errors ) ) {
|
||||
reset_password( $user, $data['pass1'] );
|
||||
edd_set_success( 'password_reset_successful', __( 'Your password was successfully reset.', 'easy-digital-downloads' ) );
|
||||
// todo: check if this is correct
|
||||
|
Reference in New Issue
Block a user