mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-03 16:51:40 +09:00
Fix #2302 add MemberController::removeMemberFromGroup() method and related trigger events
This commit is contained in:
parent
6a71410a5a
commit
89befa31a0
1 changed files with 42 additions and 1 deletions
|
|
@ -2203,7 +2203,7 @@ class MemberController extends Member
|
|||
}
|
||||
|
||||
/**
|
||||
* Add group_srl to member_srl
|
||||
* Add member to group
|
||||
*
|
||||
* @param int $member_srl
|
||||
* @param int $group_srl
|
||||
|
|
@ -2245,6 +2245,47 @@ class MemberController extends Member
|
|||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove member from group
|
||||
*
|
||||
* @param int $member_srl
|
||||
* @param int $group_srl
|
||||
*
|
||||
* @return BaseObject
|
||||
*/
|
||||
public static function removeMemberFromGroup(int $member_srl, int $group_srl): BaseObject
|
||||
{
|
||||
// Return if member does not belong to group
|
||||
$args = new stdClass();
|
||||
$args->member_srl = $member_srl;
|
||||
$args->group_srl = $group_srl;
|
||||
$output = executeQueryArray('member.getMemberGroupMember', $args);
|
||||
if ($output->data && count($output->data) < 1)
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
|
||||
// Call trigger (before)
|
||||
$trigger_output = ModuleHandler::triggerCall('member.removeMemberFromGroup', 'before', $args);
|
||||
if (!$trigger_output->toBool())
|
||||
{
|
||||
return $trigger_output;
|
||||
}
|
||||
|
||||
// Remove member from group
|
||||
$output = executeQuery('member.deleteMemberGroupMember', $args);
|
||||
if (!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
|
||||
// Call trigger (after)
|
||||
ModuleHandler::triggerCall('member.removeMemberFromGroup', 'after', $args);
|
||||
self::clearMemberCache($member_srl);
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change a group of certain members
|
||||
* Available only when a member has a single group
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue