/** * @param metaUser $metaUser * @param SubscriptionPlan $subscription_plan */ public function userPlanExpireActions($metaUser, $subscription_plan, $special = null) { $mi_autointegrations = $this->getAutoIntegrations(); if (empty($mi_autointegrations) && empty($subscription_plan)) { return null; } $mis = $subscription_plan->getMicroIntegrations(); if (is_array($mis)) { $user_auto_integrations = array_intersect($mis, $mi_autointegrations); } if (empty($user_auto_integrations)) { return null; } foreach ($user_auto_integrations as $mi_id) { $mi = new microIntegration(); $mi->load($mi_id); if ($mi->callIntegration()) { $invoice = null; if (!empty($metaUser->focusSubscription->id)) { $invoice = new Invoice(); $invoice->loadbySubscriptionId($metaUser->focusSubscription->id); if (empty($invoice->id)) { $invoice = null; } } $mi->expiration_action($metaUser, $subscription_plan, $invoice); if (!empty($special)) { $mi->relayAction($metaUser, null, $invoice, $subscription_plan, $special); } } } }