Separate agreement info into its own table

선택약관 동의 내역을 쉽게 관리할 수 있도록
확장변수가 아닌 별도의 테이블로 분리
This commit is contained in:
Kijin Sung 2019-09-13 23:46:56 +09:00
parent 73c5b6d84b
commit ee7f11b0f1
5 changed files with 70 additions and 22 deletions

View file

@ -100,12 +100,6 @@ class memberAdminController extends member
unset($all_args->reset_password); unset($all_args->reset_password);
if(!isset($args->limit_date)) $args->limit_date = ""; if(!isset($args->limit_date)) $args->limit_date = "";
$extra_vars = delObjectVars($all_args, $args); $extra_vars = delObjectVars($all_args, $args);
// Merge extra vars with existing data
if($args->member_srl)
{
$extra_vars->accept_agreement = $member_info->accept_agreement;
}
$args->extra_vars = serialize($extra_vars); $args->extra_vars = serialize($extra_vars);
// remove whitespace // remove whitespace

View file

@ -608,7 +608,6 @@ class memberController extends member
throw new Rhymix\Framework\Exception('msg_accept_agreement'); throw new Rhymix\Framework\Exception('msg_accept_agreement');
} }
$accept_agreement_rearranged[$i] = $accept_agreement[$i] === 'Y' ? 'Y' : 'N'; $accept_agreement_rearranged[$i] = $accept_agreement[$i] === 'Y' ? 'Y' : 'N';
$accept_agreement_rearranged[$i] .= ':' . date('YmdHis', RX_TIME);
} }
// Check phone number // Check phone number
@ -718,7 +717,6 @@ class memberController extends member
if($config->enable_confirm == 'Y') $args->denied = 'Y'; if($config->enable_confirm == 'Y') $args->denied = 'Y';
// Add extra vars after excluding necessary information from all the requested arguments // Add extra vars after excluding necessary information from all the requested arguments
$extra_vars = delObjectVars($all_args, $args); $extra_vars = delObjectVars($all_args, $args);
$extra_vars->accept_agreement = $accept_agreement_rearranged;
$args->extra_vars = serialize($extra_vars); $args->extra_vars = serialize($extra_vars);
// remove whitespace // remove whitespace
@ -730,8 +728,27 @@ class memberController extends member
$args->{$val} = preg_replace('/[\pZ\pC]+/u', '', html_entity_decode($args->{$val})); $args->{$val} = preg_replace('/[\pZ\pC]+/u', '', html_entity_decode($args->{$val}));
} }
} }
// Insert member info
$output = $this->insertMember($args); $output = $this->insertMember($args);
if(!$output->toBool()) return $output; if($output instanceof BaseObject && !$output->toBool())
{
return $output;
}
// Insert agreement info
foreach($accept_agreement_rearranged as $agreement_sequence => $agreed)
{
$ag_args = new stdClass;
$ag_args->member_srl = $args->member_srl;
$ag_args->agreement_sequence = $agreement_sequence;
$ag_args->agreed = $agreed;
$output = executeQuery('member.insertAgreed', $ag_args);
if($output instanceof BaseObject && !$output->toBool())
{
return $output;
}
}
// insert ProfileImage, ImageName, ImageMark // insert ProfileImage, ImageName, ImageMark
$profile_image = Context::get('profile_image'); $profile_image = Context::get('profile_image');
@ -768,6 +785,7 @@ class memberController extends member
} }
} }
// Log-in // Log-in
if($config->enable_confirm != 'Y') if($config->enable_confirm != 'Y')
{ {
@ -990,10 +1008,6 @@ class memberController extends member
unset($all_args->use_html); unset($all_args->use_html);
unset($all_args->_filter); unset($all_args->_filter);
$extra_vars = delObjectVars($all_args, $args); $extra_vars = delObjectVars($all_args, $args);
// Merge extra vars with existing data
$member_info = $oMemberModel->getMemberInfoByMemberSrl($args->member_srl);
$extra_vars->accept_agreement = $member_info->accept_agreement;
$args->extra_vars = serialize($extra_vars); $args->extra_vars = serialize($extra_vars);
// remove whitespace // remove whitespace
@ -3076,6 +3090,7 @@ class memberController extends member
$args = new stdClass(); $args = new stdClass();
$args->member_srl = $member_srl; $args->member_srl = $member_srl;
// Delete the entries in member_auth_mail // Delete the entries in member_auth_mail
$output = executeQuery('member.deleteAuthMail', $args); $output = executeQuery('member.deleteAuthMail', $args);
if(!$output->toBool()) if(!$output->toBool())
@ -3083,15 +3098,23 @@ class memberController extends member
$oDB->rollback(); $oDB->rollback();
return $output; return $output;
} }
executeQuery('member.deleteMemberModifyNickNameLog', $args);
// TODO: If the table is not an upgrade may fail. // Delete agreement info
/* $output = executeQuery('member.deleteAgreed', $args);
if(!$output->toBool()) { if(!$output->toBool())
$oDB->rollback(); {
return $output; $oDB->rollback();
} return $output;
*/ }
// Delete nickname log
$output = executeQuery('member.deleteMemberModifyNickNameLog', $args);
if(!$output->toBool())
{
$oDB->rollback();
return $output;
}
// Delete the entries in member_group_member // Delete the entries in member_group_member
$output = executeQuery('member.deleteMemberGroupMember', $args); $output = executeQuery('member.deleteMemberGroupMember', $args);
if(!$output->toBool()) if(!$output->toBool())
@ -3099,13 +3122,15 @@ class memberController extends member
$oDB->rollback(); $oDB->rollback();
return $output; return $output;
} }
// member removed from the table
// Delete main member info
$output = executeQuery('member.deleteMember', $args); $output = executeQuery('member.deleteMember', $args);
if(!$output->toBool()) if(!$output->toBool())
{ {
$oDB->rollback(); $oDB->rollback();
return $output; return $output;
} }
// Call a trigger (after) // Call a trigger (after)
ModuleHandler::triggerCall('member.deleteMember', 'after', $trigger_obj); ModuleHandler::triggerCall('member.deleteMember', 'after', $trigger_obj);

View file

@ -0,0 +1,9 @@
<query id="deleteAgreed" action="delete">
<tables>
<table name="member_agreed" />
</tables>
<conditions>
<condition operation="equal" column="member_srl" var="member_srl" filter="number" notnull="notnull" />
<condition operation="equal" column="agreement_sequence" var="agreement_sequence" filter="number" pipe="and" />
</conditions>
</query>

View file

@ -0,0 +1,12 @@
<query id="insertAgreed" action="insert">
<tables>
<table name="member_agreed" />
</tables>
<columns>
<column name="member_srl" var="member_srl" notnull="notnull" filter="number" />
<column name="agreement_sequence" var="agreement_sequence" notnull="notnull" filter="number" />
<column name="agreed" var="agreed" notnull="notnull" />
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
<column name="regdate" var="regdate" default="curdate()" />
</columns>
</query>

View file

@ -0,0 +1,8 @@
<table name="member_agreed">
<column name="id" type="number" primary_key="primary_key" auto_increment="auto_increment" />
<column name="member_srl" type="number" notnull="notnull" index="idx_member_srl" />
<column name="agreement_sequence" type="number" notnull="notnull" index="idx_agreement_sequence" />
<column name="agreed" type="char" size="1" notnull="notnull" index="idx_agreed" />
<column name="ipaddress" type="varchar" size="80" notnull="notnull" />
<column name="regdate" type="date" notnull="notnull" />
</table>