From 0e9ce525da7b4aa657d2b33150cb75637650ad9c Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 18 Mar 2020 22:05:19 +0900 Subject: [PATCH] Store three-letter country code instead of calling code --- modules/member/member.admin.controller.php | 6 +- modules/member/member.admin.view.php | 26 +++++---- modules/member/member.controller.php | 57 ++++++++++++++----- modules/member/member.model.php | 13 ++++- modules/member/member.view.php | 10 ++-- .../queries/getMemberInfoByPhoneNumber.xml | 2 +- modules/member/tpl/member_list.html | 9 ++- modules/member/tpl/signup_config.html | 2 +- 8 files changed, 87 insertions(+), 38 deletions(-) diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 763214ac7..54815348b 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -339,7 +339,11 @@ class memberAdminController extends member $args->redirect_url = getNotEncodedFullUrl('','mid',$redirectModuleInfo->mid); } - $args->phone_number_default_country = preg_replace('/[^0-9-]/', '', $args->phone_number_default_country); + $args->phone_number_default_country = preg_replace('/[^A-Z]/', '', $args->phone_number_default_country); + if (!array_key_exists($args->phone_number_default_country, Rhymix\Framework\i18n::listCountries())) + { + return new BaseObject('-1', 'msg_need_default_country'); + } $args->phone_number_hide_country = $args->phone_number_hide_country == 'Y' ? 'Y' : 'N'; $args->phone_number_allow_duplicate = $args->phone_number_allow_duplicate == 'Y' ? 'Y' : 'N'; $args->phone_number_verify_by_sms = $args->phone_number_verify_by_sms == 'Y' ? 'Y' : 'N'; diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index b765baf2e..603036e17 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -598,24 +598,28 @@ class memberAdminView extends member else if($formInfo->name == 'phone_number') { $formTag->type = 'phone'; + $match_country = $memberInfo['phone_country']; + if(!$match_country && $member_config->phone_number_default_country) + { + $match_country = $member_config->phone_number_default_country; + } + if($match_country && !preg_match('/^[A-Z]{3}$/', $match_country)) + { + $match_country = Rhymix\Framework\i18n::getCountryCodeByCallingCode($match_country); + } + if(!$match_country && Context::get('lang_type') === 'ko') + { + $match_country = 'KOR'; + } if($member_config->phone_number_hide_country !== 'Y') { $inputTag = ' -