Version 4.5.0

This commit is contained in:
Neo committed 2025-12-19 05:51:58 -08:00
1 parent 1a0c7fd3c2
commit f79dcf067a
3791 files changed
+248032 -76372

No files matched your search

@@ -12,7 +12,7 @@
namespace IPS\nexus\extensions\core\MemberSync;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
@@ -31,19 +31,6 @@ class _Nexus
*/
public function onCreateAccount( $member )
{
if ( \IPS\Dispatcher::hasInstance() and \IPS\Dispatcher::i()->controllerLocation === 'front' and isset( \IPS\Request::i()->cookie['referred_by'] ) )
{
$referredBy = \IPS\Member::load( \IPS\Request::i()->cookie['referred_by'] );
if ( $referredBy->member_id )
{
\IPS\Db::i()->insert( 'nexus_referrals', array(
'member_id' => $member->member_id,
'referred_by' => \IPS\Request::i()->cookie['referred_by'],
'amount' => '',
) );
}
}
if ( $member->email )
{
\IPS\Db::i()->update( 'nexus_support_requests', array( 'r_member' => $member->member_id ), array( 'r_email=? AND r_member=0', $member->email ) );
@@ -94,13 +81,11 @@ class _Nexus
*/
public function onMerge( $member, $member2 )
{
\IPS\Db::i()->update( 'nexus_customer_addresses', array( 'member' => $member->member_id ), array( 'member=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_customer_addresses', array( 'member' => $member->member_id ), array( '`member`=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_customer_cards', array( 'card_member' => $member->member_id ), array( 'card_member=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_invoices', array( 'i_member' => $member->member_id ), array( 'i_member=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_purchases', array( 'ps_member' => $member->member_id ), array( 'ps_member=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_purchases', array( 'ps_pay_to' => $member->member_id ), array( 'ps_pay_to=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_referrals', array( 'member_id' => $member->member_id ), array( 'member_id=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_referrals', array( 'referred_by' => $member->member_id ), array( 'referred_by=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_transactions', array( 't_member' => $member->member_id ), array( 't_member=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_alternate_contacts', array( 'main_id' => $member->member_id ), array( 'main_id=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_alternate_contacts', array( 'alt_id' => $member->member_id ), array( 'alt_id=?', $member2->member_id ) );
@@ -112,6 +97,8 @@ class _Nexus
\IPS\Db::i()->update( 'nexus_support_ratings', array( 'rating_from' => $member->member_id ), array( 'rating_from=?', $member2->member_id ) );
\IPS\Db::i()->update( 'nexus_support_ratings', array( 'rating_staff' => $member->member_id ), array( 'rating_staff=?', $member2->member_id ) );
\IPS\Db::i()->delete( 'nexus_customer_spend', array( 'spend_member_id=?', $member2->member_id ) );
/* Account Credit */
$customerToKeep = \IPS\nexus\Customer::load( $member->member_id );
$creditToKeep = $customerToKeep->cm_credits;
@@ -137,11 +124,14 @@ class _Nexus
/* Subscription packages */
if ( $keepSub = \IPS\nexus\Subscription::loadActiveByMember( $member ) )
{
if ( $dropSub = \IPS\nexus\Subscription::loadActiveByMember( $member2 ) )
if ( $dropSub = \IPS\nexus\Subscription::loadActiveByMember( $member2 ) AND $package = \IPS\nexus\Subscription\Package::load( $dropSub->package_id ) )
{
$dropSub->removeMember( \IPS\nexus\Customer::load( $member2->member_id ) );
$package->removeMember( \IPS\nexus\Customer::load( $member2->member_id ) );
}
}
/* Recount total spend */
$customerToKeep->recountTotalSpend();
}
/**
@@ -152,11 +142,11 @@ class _Nexus
*/
public function onDelete( $member )
{
\IPS\Db::i()->delete( 'nexus_customer_addresses', array( 'member=?', $member->member_id ) );
\IPS\Db::i()->delete( 'nexus_customer_addresses', array( '`member`=?', $member->member_id ) );
\IPS\Db::i()->delete( 'nexus_customer_cards', array( 'card_member=?', $member->member_id ) );
\IPS\Db::i()->delete( 'nexus_customers', array( 'member_id=?', $member->member_id ) );
\IPS\Db::i()->delete( 'nexus_referrals', array( 'referred_by=?', $member->member_id ) ); // Don't delete the record for the referrer if this is the referree as that's still relevant for the referree's account
\IPS\Db::i()->delete( 'nexus_alternate_contacts', array( 'main_id=? OR alt_id =?', $member->member_id, $member->member_id ) );
\IPS\Db::i()->delete( 'nexus_alternate_contacts', array( 'main_id=?', $member->member_id ) );
\IPS\Db::i()->delete( 'nexus_alternate_contacts', array( 'alt_id =?', $member->member_id ) );
\IPS\Db::i()->delete( 'nexus_support_request_log', array( "rlog_member=?", $member->member_id ) );
\IPS\Db::i()->update( 'nexus_support_requests', array( 'r_staff' => 0 ), array( "r_staff=?", $member->member_id ) );
@@ -179,6 +169,8 @@ class _Nexus
/* Subscriptions (mop up orphaned members) */
\IPS\Db::i()->delete( 'nexus_member_subscriptions', array( "sub_member_id=?", $member->member_id ) );
\IPS\Db::i()->delete( 'nexus_customer_spend', array( 'spend_member_id=?', $member->member_id ) );
}
/**
@@ -201,7 +193,7 @@ class _Nexus
/* Moving out of an admin group? */
if ( $refresh === FALSE AND ( isset( $changes['member_group_id'] ) OR isset( $changes['mgroup_others'] ) ) )
{
if ( isset( $changes['member_group_id'] ) AND in_array( $changes['member_group_id'], $adminGroups ) )
if ( isset( $changes['member_group_id'] ) AND \in_array( $changes['member_group_id'], $adminGroups ) )
{
$refresh = TRUE;
}
@@ -210,7 +202,7 @@ class _Nexus
{
foreach( explode( ',', $changes['mgroup_others'] ) AS $group )
{
if ( in_array( $group, $adminGroups ) )
if ( \in_array( $group, $adminGroups ) )
{
$refresh = TRUE;
break;