mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 17:21:39 +09:00
Add checks for invalid and duplicate phone numbers
This commit is contained in:
parent
1ee59e4196
commit
8cf0903065
7 changed files with 71 additions and 9 deletions
|
|
@ -33,6 +33,7 @@ $lang->group_order = 'Gropu Priority';
|
|||
$lang->group_order_change = 'Change Group Priority';
|
||||
$lang->phone_number_default_country = 'Default Country Code';
|
||||
$lang->phone_number_hide_country = 'Hide Country Code Selection';
|
||||
$lang->phone_number_allow_duplicate = 'Allow Multiple Members';
|
||||
$lang->signature = 'Signature';
|
||||
$lang->profile_image = 'Profile Image';
|
||||
$lang->profile_image_max_width = 'Max Width';
|
||||
|
|
@ -155,6 +156,8 @@ $lang->msg_cannot_delete_admin = 'Admin ID cannot be deleted. Please remove the
|
|||
$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_invalid_phone_number = 'The phone number you have entered is invalid.';
|
||||
$lang->msg_exists_nick_name = 'This nickname already exists. Please try another one.';
|
||||
$lang->msg_signup_disabled = 'You are not able to sign up';
|
||||
$lang->msg_already_logged = 'You have already signed up.';
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ $lang->group_order = '그룹 우선순위';
|
|||
$lang->group_order_change = '그룹 우선순위 변경';
|
||||
$lang->phone_number_default_country = '기본 선택 국가';
|
||||
$lang->phone_number_hide_country = '국가 목록 숨김';
|
||||
$lang->phone_number_allow_duplicate = '중복 가입 허용';
|
||||
$lang->signature = '서명';
|
||||
$lang->profile_image = '프로필 사진';
|
||||
$lang->profile_image_max_width = '가로 제한 길이';
|
||||
|
|
@ -163,6 +164,8 @@ $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_number = '전화번호가 형식에 맞지 않습니다.';
|
||||
$lang->msg_exists_nick_name = '이미 존재하는 닉네임입니다. 다른 닉네임을 입력해주세요.';
|
||||
$lang->msg_signup_disabled = '회원 가입할 수 없습니다.';
|
||||
$lang->msg_already_logged = '이미 회원 가입을 한 상태입니다.';
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ class memberAdminController extends member
|
|||
'limit_day_description',
|
||||
'emailhost_check',
|
||||
'redirect_url',
|
||||
'phone_number_default_country', 'phone_number_hide_country',
|
||||
'phone_number_default_country', 'phone_number_hide_country', 'phone_number_allow_duplicate',
|
||||
'profile_image', 'profile_image_max_width', 'profile_image_max_height', 'profile_image_max_filesize',
|
||||
'image_name', 'image_name_max_width', 'image_name_max_height', 'image_name_max_filesize',
|
||||
'image_mark', 'image_mark_max_width', 'image_mark_max_height', 'image_mark_max_filesize',
|
||||
|
|
@ -330,6 +330,7 @@ class memberAdminController extends member
|
|||
|
||||
$args->phone_number_default_country = preg_replace('/[^0-9-]/', '', $args->phone_number_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->profile_image = $args->profile_image ? 'Y' : 'N';
|
||||
$args->image_name = $args->image_name ? 'Y' : 'N';
|
||||
$args->image_mark = $args->image_mark ? 'Y' : 'N';
|
||||
|
|
|
|||
|
|
@ -2538,13 +2538,20 @@ class memberController extends member
|
|||
$args->phone_country = trim(preg_replace('/[^0-9-]/', '', $args->phone_country), '-');
|
||||
$args->phone_number = preg_replace('/[^0-9]/', '', $args->phone_number);
|
||||
$args->phone_type = '';
|
||||
if(!$args->phone_country && $config->phone_number_default_country)
|
||||
if ($config->phone_number_hide_country || (!$args->phone_country && $config->phone_number_default_country))
|
||||
{
|
||||
$args->phone_country = $config->phone_number_default_country;
|
||||
}
|
||||
if ($args->phone_country == '82')
|
||||
{
|
||||
$args->phone_number = Rhymix\Framework\Korea::formatPhoneNumber($args->phone_number);
|
||||
if (Rhymix\Framework\Korea::isValidPhoneNumber($args->phone_number))
|
||||
{
|
||||
$args->phone_number = Rhymix\Framework\Korea::formatPhoneNumber($args->phone_number);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new BaseObject(-1, 'msg_invalid_phone_number');
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -2561,6 +2568,16 @@ class memberController extends member
|
|||
return new BaseObject(-1, 'msg_exists_email_address');
|
||||
}
|
||||
|
||||
// Check if phone number is duplicate
|
||||
if ($config->phone_number_allow_duplicate !== 'Y' && $args->phone_number)
|
||||
{
|
||||
$member_srl = $oMemberModel->getMemberSrlByPhoneNumber($args->phone_number, $args->phone_country);
|
||||
if($member_srl)
|
||||
{
|
||||
return new BaseObject(-1, 'msg_exists_phone_number');
|
||||
}
|
||||
}
|
||||
|
||||
// Insert data into the DB
|
||||
$args->list_order = -1 * $args->member_srl;
|
||||
|
||||
|
|
@ -2750,13 +2767,20 @@ class memberController extends member
|
|||
$args->phone_country = trim(preg_replace('/[^0-9-]/', '', $args->phone_country), '-');
|
||||
$args->phone_number = preg_replace('/[^0-9]/', '', $args->phone_number);
|
||||
$args->phone_type = '';
|
||||
if(!$args->phone_country && $config->phone_number_default_country)
|
||||
if ($config->phone_number_hide_country || (!$args->phone_country && $config->phone_number_default_country))
|
||||
{
|
||||
$args->phone_country = $config->phone_number_default_country;
|
||||
}
|
||||
if ($args->phone_country == '82')
|
||||
{
|
||||
$args->phone_number = Rhymix\Framework\Korea::formatPhoneNumber($args->phone_number);
|
||||
if (Rhymix\Framework\Korea::isValidPhoneNumber($args->phone_number))
|
||||
{
|
||||
$args->phone_number = Rhymix\Framework\Korea::formatPhoneNumber($args->phone_number);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new BaseObject(-1, 'msg_invalid_phone_number');
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -2802,6 +2826,16 @@ class memberController extends member
|
|||
$args->user_id = $orgMemberInfo->user_id;
|
||||
}
|
||||
|
||||
// Check if phone number is duplicate
|
||||
if ($config->phone_number_allow_duplicate !== 'Y' && $args->phone_number)
|
||||
{
|
||||
$member_srl = $oMemberModel->getMemberSrlByPhoneNumber($args->phone_number, $args->phone_country);
|
||||
if ($member_srl && $args->member_srl != $member_srl)
|
||||
{
|
||||
return new BaseObject(-1, 'msg_exists_phone_number');
|
||||
}
|
||||
}
|
||||
|
||||
// Check if ID is prohibited
|
||||
if($logged_info->is_admin !== 'Y' && $args->user_id && $oMemberModel->isDeniedID($args->user_id))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -453,6 +453,18 @@ class memberModel extends member
|
|||
return $output->data->member_srl;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get member_srl corresponding to phone number
|
||||
*/
|
||||
function getMemberSrlByPhoneNumber($phone_number, $phone_country = null)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->phone_number = $phone_number;
|
||||
$args->phone_country = $phone_country;
|
||||
$output = executeQueryArray('member.getMemberSrl', $args);
|
||||
return count($output->data) ? array_first($output->data)->member_srl : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get member_srl corresponding to nickname
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@
|
|||
<conditions>
|
||||
<condition operation="equal" column="user_id" var="user_id" pipe="and" />
|
||||
<condition operation="equal" column="email_address" var="email_address" pipe="and" />
|
||||
<condition operation="equal" column="phone_number" var="phone_number" pipe="and" />
|
||||
<condition operation="equal" column="phone_country" var="phone_country" pipe="and" />
|
||||
<condition operation="equal" column="nick_name" var="nick_name" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -157,10 +157,17 @@
|
|||
</option>
|
||||
<!--@endif-->
|
||||
<!--@endforeach-->
|
||||
</select><br />
|
||||
<label class="x_inline">{$lang->phone_number_hide_country}</label>
|
||||
<label class="x_inline"><input type="radio" name="phone_number_hide_country" value="Y" checked="checked"|cond="$config->phone_number_hide_country === 'Y'" /> {$lang->cmd_yes}</label>
|
||||
<label class="x_inline"><input type="radio" name="phone_number_hide_country" value="N" checked="checked"|cond="$config->phone_number_hide_country !== 'Y'" /> {$lang->cmd_no}</label>
|
||||
</select>
|
||||
<p class="x_help-block">
|
||||
<label class="x_inline">{$lang->phone_number_hide_country}</label>
|
||||
<label class="x_inline"><input type="radio" name="phone_number_hide_country" value="Y" checked="checked"|cond="$config->phone_number_hide_country === 'Y'" /> {$lang->cmd_yes}</label>
|
||||
<label class="x_inline"><input type="radio" name="phone_number_hide_country" value="N" checked="checked"|cond="$config->phone_number_hide_country !== 'Y'" /> {$lang->cmd_no}</label>
|
||||
</p>
|
||||
<p class="x_help-block">
|
||||
<label class="x_inline">{$lang->phone_number_allow_duplicate}</label>
|
||||
<label class="x_inline"><input type="radio" name="phone_number_allow_duplicate" value="Y" checked="checked"|cond="$config->phone_number_allow_duplicate === 'Y'" /> {$lang->cmd_yes}</label>
|
||||
<label class="x_inline"><input type="radio" name="phone_number_allow_duplicate" value="N" checked="checked"|cond="$config->phone_number_allow_duplicate !== 'Y'" /> {$lang->cmd_no}</label>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div cond="$item->name == 'signature'" class="_subItem" style="display:none;padding-top:5px"|cond="!$item->isUse">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue