From 5f8f7accedbe6e2b3e1ed5011ddc28b414c2e550 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Fri, 31 Dec 2021 14:25:36 +0900 Subject: [PATCH] Prevent sending SMS to phone number that has already been registered #1826 + Clean up some error messages --- modules/member/lang/en.php | 6 +++--- modules/member/lang/ko.php | 14 +++++++------- modules/member/member.controller.php | 12 ++++++++++++ 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/modules/member/lang/en.php b/modules/member/lang/en.php index e5685150f..565804080 100644 --- a/modules/member/lang/en.php +++ b/modules/member/lang/en.php @@ -174,9 +174,9 @@ $lang->msg_not_delete_default = 'Default items cannot be deleted'; $lang->msg_not_exists_member = 'Invalid member'; $lang->msg_cannot_delete_admin = 'Admin ID cannot be deleted. Please remove the ID from administration and try again.'; $lang->msg_column_id_not_available = 'The ID already exists or is not usable.'; -$lang->msg_exists_user_id = 'This ID already exists. Please try another one.'; -$lang->msg_exists_email_address = 'This email address already exists. Please try another one.'; -$lang->msg_exists_phone_number = 'This phone number already exists. Please try another one.'; +$lang->msg_exists_user_id = 'This username already exists. Please try another one.'; +$lang->msg_exists_email_address = 'This email address has already been registered.'; +$lang->msg_exists_phone_number = 'This phone number has already been registered.'; $lang->msg_invalid_phone_country = 'The phone number belongs to an unsupported country.'; $lang->msg_invalid_phone_number = 'The phone number you have entered is invalid.'; $lang->msg_exists_nick_name = 'This nickname already exists. Please try another one.'; diff --git a/modules/member/lang/ko.php b/modules/member/lang/ko.php index 760321a61..eb99ee4ad 100644 --- a/modules/member/lang/ko.php +++ b/modules/member/lang/ko.php @@ -179,16 +179,16 @@ $lang->msg_leave_member = '회원 탈퇴'; $lang->msg_group_is_null = '등록된 그룹이 없습니다.'; $lang->msg_not_delete_default = '기본 항목을 삭제할 수 없습니다.'; $lang->msg_not_exists_member = '존재하지 않는 회원입니다.'; -$lang->msg_cannot_delete_admin = '관리자 아이디는 삭제할 수 없습니다. 관리자 해제 후 다시 삭제시도해주세요.'; -$lang->msg_column_id_not_available = '이미 존재하거나 사용할 수 없는 ID입니다.'; -$lang->msg_exists_user_id = '이미 존재하는 아이디입니다. 다른 아이디를 입력해주세요.'; -$lang->msg_exists_email_address = '이미 존재하는 메일 주소입니다. 다른 메일 주소를 입력해주세요.'; -$lang->msg_exists_phone_number = '이미 존재하는 전화번호입니다. 다른 전화번호를 입력해주세요.'; +$lang->msg_cannot_delete_admin = '관리자 아이디는 삭제할 수 없습니다. 관리자 해제 후 다시 삭제를 시도해 주세요.'; +$lang->msg_column_id_not_available = '이미 사용중이거나, 사용할 수 없는 ID입니다.'; +$lang->msg_exists_user_id = '이미 사용중인 아이디입니다. 다른 아이디를 선택해 주세요.'; +$lang->msg_exists_email_address = '이미 가입된 메일 주소입니다.'; +$lang->msg_exists_phone_number = '이미 가입된 전화번호입니다.'; $lang->msg_invalid_phone_country = '전화번호의 국가가 잘못 선택되었습니다.'; $lang->msg_invalid_phone_number = '전화번호가 형식에 맞지 않습니다.'; -$lang->msg_exists_nick_name = '이미 존재하는 닉네임입니다. 다른 닉네임을 입력해주세요.'; +$lang->msg_exists_nick_name = '이미 사용중인 닉네임입니다. 다른 닉네임을 선택해 주세요.'; $lang->msg_signup_disabled = '회원 가입할 수 없습니다.'; -$lang->msg_already_logged = '이미 회원 가입을 한 상태입니다.'; +$lang->msg_already_logged = '이미 로그인되어 있습니다.'; $lang->msg_not_logged = '로그인을 하지 않았습니다.'; $lang->msg_insert_group_name = '그룹명을 입력해 주세요.'; $lang->msg_check_group = '그룹을 선택해 주세요.'; diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 853547187..23b003e93 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -3600,6 +3600,18 @@ class memberController extends member } $is_special = ($config->special_phone_number && $config->special_phone_number === preg_replace('/[^0-9]/', '', $phone_number)); + + // Check if phone number is duplicate + if (!$is_special && $config->phone_number_allow_duplicate !== 'Y') + { + $member_srl = MemberModel::getMemberSrlByPhoneNumber($phone_number, $phone_country); + if($member_srl) + { + return new BaseObject(-1, 'msg_exists_phone_number'); + } + } + + // Generate code and store in session $code = intval(mt_rand(100000, 999999)); $_SESSION['verify_by_sms'] = array( 'country' => $phone_country,