Add method to update extra_vars of a member

This commit is contained in:
Kijin Sung 2017-12-05 00:11:17 +09:00
parent f97a16e7e8
commit 2c64e16bd2
2 changed files with 47 additions and 0 deletions

View file

@ -2727,12 +2727,47 @@ class memberController extends member
$oDB->commit();
// Remove from cache
unset($GLOBALS['__member_info__'][$args->member_srl]);
$this->_clearMemberCache($args->member_srl, $args->site_srl);
$output->add('member_srl', $args->member_srl);
return $output;
}
/**
* Modify member extra variable
*/
function updateMemberExtraVars($member_srl, array $values)
{
$args = new stdClass();
$args->member_srl = $member_srl;
$output = executeQuery('member.getMemberInfoByMemberSrl', $args, array('extra_vars'));
if (!$output->toBool())
{
return $output;
}
$extra_vars = $output->data->extra_vars ? unserialize($output->data->extra_vars) : new stdClass;
foreach ($values as $key => $val)
{
$extra_vars->{$key} = $val;
}
$args = new stdClass();
$args->member_srl = $member_srl;
$args->extra_vars = serialize($extra_vars);
$output = executeQuery('member.updateMemberExtraVars', $args);
if (!$output->toBool())
{
return $output;
}
unset($GLOBALS['__member_info__'][$member_srl]);
$this->_clearMemberCache($member_srl);
return $output;
}
/**
* Modify member password
*/
@ -2763,6 +2798,7 @@ class memberController extends member
$result = executeQuery('member.updateChangePasswordDate', $args);
}
unset($GLOBALS['__member_info__'][$args->member_srl]);
$this->_clearMemberCache($args->member_srl);
return $output;

View file

@ -0,0 +1,11 @@
<query id="updateMemberExtraVars" action="update">
<tables>
<table name="member" />
</tables>
<columns>
<column name="extra_vars" var="extra_vars" />
</columns>
<conditions>
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" filter="number" />
</conditions>
</query>