/** * @param SubscriptionAwareEvent $event */ public function cleanRecipient(SubscriptionAwareEvent $event) { if (!\Config::get('avisota_subscription_recipient_cleanup')) { return; } $subscription = $event->getSubscription(); $recipient = $subscription->getRecipient(); if ($recipient) { $subscriptions = $recipient->getSubscriptions(); if ($subscriptions->isEmpty() || $subscriptions->count() == 1 && $subscriptions->contains($subscription)) { $entityManager = EntityHelper::getEntityManager(); $entityManager->remove($recipient); } } }
/** * PrepareSubscriptionEvent constructor. * * @param Subscription $subscription * @param SubscriptionRecipientInterface $recipient */ public function __construct(Subscription $subscription, SubscriptionRecipientInterface $recipient) { parent::__construct($subscription); $this->recipient = $recipient; }
/** * UnsubscribeEvent constructor. * * @param Subscription $subscription * @param Blacklist|null $blacklist * @param $options */ public function __construct(Subscription $subscription, Blacklist $blacklist = null, $options = null) { parent::__construct($subscription); $this->blacklist = $blacklist; $this->options = $options; }
/** * SubscribeEvent constructor. * * @param Subscription $subscription * @param $subscriptionOptions */ public function __construct(Subscription $subscription, $subscriptionOptions) { parent::__construct($subscription); $this->options = $subscriptionOptions; }