From 1b7657f581317e2567b5978cee24ed46fef99b0c Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 27 Mar 2024 00:20:18 +0900 Subject: [PATCH] Fix #2297 add tel_v2 and tel_intl_v2 extra var types with single input for phone number --- classes/extravar/Extravar.class.php | 50 ++++++++++++----------------- common/lang/en.php | 6 ++-- common/lang/ko.php | 6 ++-- 3 files changed, 29 insertions(+), 33 deletions(-) diff --git a/classes/extravar/Extravar.class.php b/classes/extravar/Extravar.class.php index 71dbf5eda..4fad1c5ed 100644 --- a/classes/extravar/Extravar.class.php +++ b/classes/extravar/Extravar.class.php @@ -210,32 +210,10 @@ class ExtraItem } return escape($value, false); - case 'tel' : - if(is_array($value)) - { - $values = $value; - } - elseif(strpos($value, '|@|') !== FALSE) - { - $values = explode('|@|', $value); - } - elseif(strpos($value, ',') !== FALSE) - { - $values = explode(',', $value); - } - else - { - $values = array($value); - } - - $values = array_values($values); - for($i = 0, $c = count($values); $i < $c; $i++) - { - $values[$i] = trim(escape($values[$i], false)); - } - return $values; - - case 'tel_intl' : + case 'tel': + case 'tel_v2': + case 'tel_intl': + case 'tel_intl_v2': if(is_array($value)) { $values = $value; @@ -345,8 +323,10 @@ class ExtraItem return ($value) ? sprintf('%s', $value, $value) : ""; case 'tel' : + case 'tel_v2' : return $value ? implode('-', $value) : ''; case 'tel_intl' : + case 'tel_intl_v2' : $country_number = $value[0] ?? ''; $array_slice = $value ? array_slice($value, 1) : []; $phone_number = implode('-', $array_slice); @@ -423,8 +403,13 @@ class ExtraItem $buff[] = ''; $buff[] = ''; break; + // Phone Number v2 (single input) + case 'tel_v2' : + $buff[] = ''; + break; // Select Country Number case 'tel_intl' : + case 'tel_intl_v2' : $lang_type = Context::get('lang_type'); $country_list = Rhymix\Framework\i18n::listCountries($lang_type === 'ko' ? Rhymix\Framework\i18n::SORT_NAME_KOREAN : Rhymix\Framework\i18n::SORT_NAME_ENGLISH); $buff[] = ''; - $buff[] = ''; - $buff[] = ''; - $buff[] = ''; + if ($type === 'tel_intl_v2') + { + $buff[] = ''; + } + else + { + $buff[] = ''; + $buff[] = ''; + $buff[] = ''; + } break; // Select Country case 'country': diff --git a/common/lang/en.php b/common/lang/en.php index 37a161c4d..b2e49423b 100644 --- a/common/lang/en.php +++ b/common/lang/en.php @@ -313,8 +313,10 @@ $lang->column_type = 'Column Type'; $lang->column_type_list['text'] = 'one-line text'; $lang->column_type_list['homepage'] = 'URL'; $lang->column_type_list['email_address'] = 'e-mail address'; -$lang->column_type_list['tel'] = 'phone number'; -$lang->column_type_list['tel_intl'] = 'Phone number (International number)'; +$lang->column_type_list['tel'] = 'Phone number (3 inputs)'; +$lang->column_type_list['tel_v2'] = 'Phone number (1 input)'; +$lang->column_type_list['tel_intl'] = 'International phone number (4 inputs)'; +$lang->column_type_list['tel_intl_v2'] = 'International phone number (2 inputs)'; $lang->column_type_list['textarea'] = 'multi-line textarea'; $lang->column_type_list['password'] = 'password'; $lang->column_type_list['radio'] = 'radio button(radio)'; diff --git a/common/lang/ko.php b/common/lang/ko.php index 747d12bee..5a3f0b353 100644 --- a/common/lang/ko.php +++ b/common/lang/ko.php @@ -315,8 +315,10 @@ $lang->column_type = '형식'; $lang->column_type_list['text'] = '한줄 입력칸(text)'; $lang->column_type_list['homepage'] = 'URL 형식'; $lang->column_type_list['email_address'] = '이메일 형식(email)'; -$lang->column_type_list['tel'] = '전화번호 형식(phone)'; -$lang->column_type_list['tel_intl'] = '전화번호 형식 (국제번호)'; +$lang->column_type_list['tel'] = '전화번호 (입력란 3개)'; +$lang->column_type_list['tel_v2'] = '전화번호 (입력란 1개)'; +$lang->column_type_list['tel_intl'] = '국제전화번호 (입력란 4개)'; +$lang->column_type_list['tel_intl_v2'] = '국제전화번호 (입력란 2개)'; $lang->column_type_list['textarea'] = '여러 줄 입력칸(textarea)'; $lang->column_type_list['password'] = '숨김 입력칸(password)'; $lang->column_type_list['radio'] = '단일 선택(radio)';