Don't require user_id if member is inserted through other module

https://xetown.com/tips/1516822
This commit is contained in:
Kijin Sung 2021-01-29 15:52:22 +09:00
parent 4377c06d6b
commit 9228d3b8a9

View file

@ -2633,10 +2633,15 @@ class memberController extends member
$args->member_srl = getNextSequence();
$args->list_order = -1 * $args->member_srl;
// Execute insert or update depending on the value of member_srl
if(!$args->user_id) $args->user_id = 't'.$args->member_srl;
// Enter the user's identity changed to lowercase
else $args->user_id = strtolower($args->user_id);
// Set user_id if empty. Otherwise convert to lowercase.
if (trim($args->user_id ?? '') === '')
{
$args->user_id = 't' . $args->member_srl;
}
else
{
$args->user_id = strtolower($args->user_id);
}
if(!$args->user_name) $args->user_name = $args->member_srl;
if(!$args->nick_name) $args->nick_name = $args->member_srl;
@ -2812,9 +2817,6 @@ class memberController extends member
// Insert data into the DB
$args->list_order = -1 * $args->member_srl;
if(!$args->user_id) $args->user_id = 't'.$args->member_srl;
if(!$args->user_name) $args->user_name = $args->member_srl;
$oDB = &DB::getInstance();
$oDB->begin();
@ -3830,6 +3832,7 @@ class memberController extends member
*/
protected function _checkSignUpFields($config, $args, $mode = 'insert')
{
$not_required_if_indirect_insert = ['user_id'];
$not_required_in_update = ['password'];
foreach($config->signupForm as $formInfo)
@ -3840,9 +3843,16 @@ class memberController extends member
{
// pass
}
elseif (!isset($args->{$formInfo->name}) || !$args->{$formInfo->name})
elseif (!isset($args->{$formInfo->name}) || trim($args->{$formInfo->name} ?? '') === '')
{
return new BaseObject(-1, sprintf(lang('common.filter.isnull'), $formInfo->title));
if (in_array($formInfo->name, $not_required_if_indirect_insert) && !preg_match('/^procMember.+/i', Context::get('act')))
{
// pass
}
else
{
return new BaseObject(-1, sprintf(lang('common.filter.isnull'), $formInfo->title));
}
}
}
if ($formInfo->name === 'email_address' && $args->{$formInfo->name} && !Mail::isVaildMailAddress($args->{$formInfo->name}))