Version 5.0.0 beta 9
This commit is contained in:
1 parent
214f649f1d
commit
56979f8ee8
202 files changed
+4403
-1123
No files matched your search
+19
-12
@@ -169,6 +169,11 @@ class Club extends ActiveRecord implements Embeddable
|
||||
* @brief Status: leader
|
||||
*/
|
||||
const STATUS_LEADER = 'leader';
|
||||
|
||||
/**
|
||||
* @brief Not actually a status, but used for member history
|
||||
*/
|
||||
const STATUS_LEFT = 'left';
|
||||
|
||||
/**
|
||||
* @brief [ActiveRecord] Multiton Store
|
||||
@@ -1308,18 +1313,6 @@ class Club extends ActiveRecord implements Embeddable
|
||||
$save['joined'] = time();
|
||||
}
|
||||
|
||||
/* Log to Member History */
|
||||
if ( in_array( $status, array( Club::STATUS_MEMBER, Club::STATUS_BANNED ) ) )
|
||||
{
|
||||
$memberStatus = $this->memberStatus( $member, 2 );
|
||||
|
||||
/* Joining by invite */
|
||||
if ( $memberStatus['status'] == Club::STATUS_INVITED )
|
||||
{
|
||||
$addedBy = Member::load( $memberStatus['invited_by'] );
|
||||
}
|
||||
$member->logHistory( 'core', 'club_membership', array('club_id' => $this->id, 'type' => $status ), $addedBy );
|
||||
}
|
||||
Db::i()->update( 'core_clubs_memberships', $save, array( 'club_id=? AND member_id=?', $this->id, $member->member_id ) );
|
||||
|
||||
$member->rebuildPermissionArray();
|
||||
@@ -1335,6 +1328,17 @@ class Club extends ActiveRecord implements Embeddable
|
||||
}
|
||||
}
|
||||
|
||||
/* Log to Member History */
|
||||
$memberStatus = $this->memberStatus( $member, 2 );
|
||||
if( in_array( $memberStatus['status'], [ Club::STATUS_INVITED, Club::STATUS_INVITED_BYPASSING_PAYMENT, Club::STATUS_BANNED, Club::STATUS_MEMBER, Club::STATUS_DECLINED, Club::STATUS_REQUESTED ] ) )
|
||||
{
|
||||
if ( $memberStatus['status'] == Club::STATUS_INVITED )
|
||||
{
|
||||
$addedBy = Member::load( $memberStatus['invited_by'] );
|
||||
}
|
||||
$member->logHistory( 'core', 'club_membership', array('club_id' => $this->id, 'type' => $status ), $addedBy );
|
||||
}
|
||||
|
||||
$params = [
|
||||
'club' => $this,
|
||||
'member' => $member,
|
||||
@@ -1384,6 +1388,9 @@ class Club extends ActiveRecord implements Embeddable
|
||||
*/
|
||||
public function removeMember( Member $member ) : void
|
||||
{
|
||||
/* Get the member's current status */
|
||||
$memberStatus = $this->memberStatus( $member );
|
||||
|
||||
Db::i()->delete( 'core_clubs_memberships', array( 'club_id=? AND member_id=?', $this->id, $member->member_id ) );
|
||||
|
||||
Webhook::fire( 'club_member_removed', ['club' => $this, 'member' => $member] );
|
||||
|
||||
Reference in new issue
Block a user