diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 777366e91..30fe75570 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -615,8 +615,15 @@ class MemberAdminController extends Member { return new BaseObject(-1, 'msg_need_enabled_identifier'); } + if (in_array('email_address', $args->identifiers) && $config->enable_confirm === 'Y') + { + $args->identifier = 'email_address'; + } + else + { + $args->identifier = array_first($args->identifiers) === 'email_address' ? 'email_address' : 'user_id'; + } $args->signupForm = $config->signupForm; - $args->identifier = (count($args->identifiers) == 1 && $args->identifiers[0] == 'email_address') ? 'email_address' : 'user_id'; if(!$args->change_password_date) { diff --git a/modules/member/member.model.php b/modules/member/member.model.php index a8128c424..bf3342012 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -106,7 +106,14 @@ class MemberModel extends Member // Set login config $config->identifiers = $config->identifiers ?? array('user_id', 'email_address'); - $config->identifier = (count($config->identifiers) == 1 && $config->identifiers[0] == 'email_address') ? 'email_address' : 'user_id'; + if (in_array('email_address', $config->identifiers) && $config->enable_confirm === 'Y') + { + $config->identifier = 'email_address'; + } + else + { + $config->identifier = array_first($config->identifiers) === 'email_address' ? 'email_address' : 'user_id'; + } $config->change_password_date = $config->change_password_date ?? 0; $config->enable_login_fail_report = $config->enable_login_fail_report ?? 'Y'; $config->max_error_count = $config->max_error_count ?? 10;