Version 5.0.0 beta 9

This commit is contained in:
Neo committed 2025-12-19 17:47:00 -08:00
1 parent 214f649f1d
commit 56979f8ee8
202 files changed
+4403 -1123

No files matched your search

+19 -12
View File
@@ -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] );