diff --git a/modules/member/member.class.php b/modules/member/member.class.php index 840963d6a..0f47cb905 100644 --- a/modules/member/member.class.php +++ b/modules/member/member.class.php @@ -170,6 +170,12 @@ class Member extends ModuleObject if(!$oDB->isColumnExists('member_devices', 'device_token_type')) return true; if(!$oDB->isColumnExists('member_devices', 'last_active_date')) return true; + // Check member_auth_mail table + if(!$oDB->isColumnExists('member_auth_mail', 'auth_type')) return true; + if(!$oDB->isIndexExists('member_auth_mail', 'unique_auth_key')) return true; + if(!$oDB->isIndexExists('member_auth_mail', 'idx_member_srl')) return true; + if($oDB->isIndexExists('member_auth_mail', 'unique_key')) return true; + // Update status column $output = executeQuery('member.getDeniedAndStatus'); if ($output->data->count) @@ -383,6 +389,25 @@ class Member extends ModuleObject $oDB->query("UPDATE member_devices SET last_active_date = regdate WHERE last_active_date = ''"); } + // Check member_auth_mail table + if(!$oDB->isColumnExists('member_auth_mail', 'auth_type')) + { + $oDB->addColumn('member_auth_mail', 'auth_type', 'varchar', '20', 'password_v1', true, 'new_password'); + $oDB->query("UPDATE member_auth_mail SET auth_type = 'signup' WHERE is_register = 'Y'"); + } + if(!$oDB->isIndexExists('member_auth_mail', 'unique_auth_key')) + { + $oDB->addIndex('member_auth_mail', 'unique_auth_key', ['auth_key'], true); + } + if(!$oDB->isIndexExists('member_auth_mail', 'idx_member_srl')) + { + $oDB->addIndex('member_auth_mail', 'idx_member_srl', ['member_srl']); + } + if($oDB->isIndexExists('member_auth_mail', 'unique_key')) + { + $oDB->dropIndex('member_auth_mail', 'unique_key'); + } + // Update status column $output = executeQuery('member.getDeniedAndStatus'); if ($output->data->count) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index f9020bc8c..fd1c37929 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1670,6 +1670,7 @@ class MemberController extends Member $args->member_srl = $member_info->member_srl; $args->new_password = Rhymix\Framework\Password::getRandomPassword(8); $args->auth_key = Rhymix\Framework\Security::getRandom(40, 'hex'); + $args->auth_type = 'password_v1'; $args->is_register = 'N'; $output = executeQuery('member.insertAuthMail', $args); @@ -2858,6 +2859,7 @@ class MemberController extends Member $auth_args->member_srl = $args->member_srl; $auth_args->new_password = $args->password; $auth_args->auth_key = Rhymix\Framework\Security::getRandom(40, 'hex'); + $args->auth_type = 'signup'; $auth_args->is_register = 'Y'; $output = executeQuery('member.insertAuthMail', $auth_args); @@ -3435,6 +3437,8 @@ class MemberController extends Member $auth_args->member_srl = $member_info->member_srl; $auth_args->auth_key = Rhymix\Framework\Security::getRandom(40, 'hex'); $auth_args->new_password = 'XE_change_emaill_address'; + $auth_args->auth_type = 'change_email'; + $auth_args->is_register = 'N'; $output = executeQuery('member.insertAuthMail', $auth_args); if(!$output->toBool()) @@ -3499,7 +3503,7 @@ class MemberController extends Member $output = executeQuery('member.updateMemberEmailAddress', $args); if(!$output->toBool()) return $output; - // Remove all values having the member_srl and new_password equal to 'XE_change_emaill_address' from authentication table + // Remove all values having the member_srl and auth_type = change_email executeQuery('member.deleteAuthChangeEmailAddress',$args); self::clearMemberCache($args->member_srl); diff --git a/modules/member/queries/deleteAuthChangeEmailAddress.xml b/modules/member/queries/deleteAuthChangeEmailAddress.xml index 48d35b132..05d788c46 100644 --- a/modules/member/queries/deleteAuthChangeEmailAddress.xml +++ b/modules/member/queries/deleteAuthChangeEmailAddress.xml @@ -4,6 +4,9 @@ - + + + + diff --git a/modules/member/queries/insertAuthMail.xml b/modules/member/queries/insertAuthMail.xml index 00390eae5..1cd2d39bb 100644 --- a/modules/member/queries/insertAuthMail.xml +++ b/modules/member/queries/insertAuthMail.xml @@ -3,10 +3,11 @@ + - + diff --git a/modules/member/schemas/member_auth_mail.xml b/modules/member/schemas/member_auth_mail.xml index 490c264f1..e625a742a 100644 --- a/modules/member/schemas/member_auth_mail.xml +++ b/modules/member/schemas/member_auth_mail.xml @@ -1,8 +1,9 @@
- - + + - - + + +