vendor/welp/mailchimp-bundle/src/Event/SubscriberListener.php line 57

Open in your IDE?
  1. <?php
  2. namespace Welp\MailchimpBundle\Event;
  3. use Welp\MailchimpBundle\Subscriber\ListRepository;
  4. use Welp\MailchimpBundle\Event\SubscriberEvent;
  5. /**
  6.  * Listener for subscriber unit synchronization
  7.  */
  8. class SubscriberListener
  9. {
  10.     /**
  11.      * @var ListRepository
  12.      */
  13.     protected $listRepository;
  14.     /**
  15.      * @param ListRepository $listRepository
  16.      */
  17.     public function __construct(ListRepository $listRepository)
  18.     {
  19.         $this->listRepository $listRepository;
  20.     }
  21.     /**
  22.      * Action when a User subscribe
  23.      * @param  SubscriberEvent $event
  24.      * @return void
  25.      */
  26.     public function onSubscribe(SubscriberEvent $event)
  27.     {
  28.         $this->listRepository->subscribe(
  29.             $event->getListId(),
  30.             $event->getSubscriber()
  31.         );
  32.     }
  33.     /**
  34.      * Action when a User unsubscribe
  35.      * @param  SubscriberEvent $event
  36.      * @return void
  37.      */
  38.     public function onUnsubscribe(SubscriberEvent $event)
  39.     {
  40.         $this->listRepository->unsubscribe(
  41.             $event->getListId(),
  42.             $event->getSubscriber()
  43.         );
  44.     }
  45.     /**
  46.      * Action when a User is pending
  47.      * @param  SubscriberEvent $event
  48.      * @return void
  49.      */
  50.     public function onPending(SubscriberEvent $event)
  51.     {
  52.         $this->listRepository->pending(
  53.             $event->getListId(),
  54.             $event->getSubscriber()
  55.         );
  56.     }
  57.     /**
  58.      * Action when a User is cleaned
  59.      * @param  SubscriberEvent $event
  60.      * @return void
  61.      */
  62.     public function onClean(SubscriberEvent $event)
  63.     {
  64.         $this->listRepository->clean(
  65.             $event->getListId(),
  66.             $event->getSubscriber()
  67.         );
  68.     }
  69.     /**
  70.      * Action when a User update its info
  71.      * @param  SubscriberEvent $event
  72.      * @return void
  73.      */
  74.     public function onUpdate(SubscriberEvent $event)
  75.     {
  76.         $this->listRepository->update(
  77.             $event->getListId(),
  78.             $event->getSubscriber()
  79.         );
  80.     }
  81.     /**
  82.      * Action when a User change its email address
  83.      * @param  SubscriberEvent $event
  84.      * @return void
  85.      */
  86.     public function onChangeEmail(SubscriberEvent $event)
  87.     {
  88.         $this->listRepository->changeEmailAddress(
  89.             $event->getListId(),
  90.             $event->getSubscriber(),
  91.             $event->getOldEmail()
  92.         );
  93.     }
  94.     /**
  95.      * Action when a User is deleted
  96.      * @param  SubscriberEvent $event
  97.      * @return void
  98.      */
  99.     public function onDelete(SubscriberEvent $event)
  100.     {
  101.         $this->listRepository->delete(
  102.             $event->getListId(),
  103.             $event->getSubscriber()
  104.         );
  105.     }
  106. }