From b77120f71fc931e510c0e0b5c42a040ebb8848d1 Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Tue, 6 Feb 2024 15:33:50 +0200 Subject: [PATCH] - enhancement related to issue #1455; - fixed #1455; --- includes/core/um-filters-login.php | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/includes/core/um-filters-login.php b/includes/core/um-filters-login.php index 18af141c..2f697ea0 100644 --- a/includes/core/um-filters-login.php +++ b/includes/core/um-filters-login.php @@ -53,45 +53,46 @@ function um_wp_form_errors_hook_ip_test( $user, $username, $password ) { } add_filter( 'authenticate', 'um_wp_form_errors_hook_ip_test', 10, 3 ); - /** * Login checks through the WordPress admin login. * - * @param $user - * @param $username - * @param $password + * @param WP_Error|WP_User $user * * @return WP_Error|WP_User */ -function um_wp_form_errors_hook_logincheck( $user, $username, $password ) { +function um_wp_form_errors_hook_logincheck( $user ) { + if ( is_wp_error( $user ) ) { + return $user; + } if ( isset( $user->ID ) ) { - um_fetch_user( $user->ID ); $status = um_user( 'account_status' ); - switch( $status ) { + $error = null; + switch ( $status ) { case 'inactive': - return new WP_Error( $status, __( 'Your account has been disabled.', 'ultimate-member' ) ); + $error = new WP_Error( $status, __( 'Your account has been disabled.', 'ultimate-member' ) ); break; case 'awaiting_admin_review': - return new WP_Error( $status, __( 'Your account has not been approved yet.', 'ultimate-member' ) ); + $error = new WP_Error( $status, __( 'Your account has not been approved yet.', 'ultimate-member' ) ); break; case 'awaiting_email_confirmation': - return new WP_Error( $status, __( 'Your account is awaiting e-mail verification.', 'ultimate-member' ) ); + $error = new WP_Error( $status, __( 'Your account is awaiting e-mail verification.', 'ultimate-member' ) ); break; case 'rejected': - return new WP_Error( $status, __( 'Your membership request has been rejected.', 'ultimate-member' ) ); + $error = new WP_Error( $status, __( 'Your membership request has been rejected.', 'ultimate-member' ) ); break; } + if ( null !== $error ) { + return $error; + } } return $user; - } -add_filter( 'authenticate', 'um_wp_form_errors_hook_logincheck', 50, 3 ); - +add_filter( 'authenticate', 'um_wp_form_errors_hook_logincheck', 50 ); /** * Change lost password url in UM Login form