vendor/dvdw/auto-email/src/Checkout/Customer/Subscriber/BusinessEventCollectorSubscriber.php line 26

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Dvdw\AutoEmail\Checkout\Customer\Subscriber;
  3. use Dvdw\AutoEmail\Checkout\Customer\Event\NoParticipationEvent;
  4. use Dvdw\AutoEmail\Checkout\Customer\Event\NoPromotionEvent;
  5. use Shopware\Core\Framework\Event\BusinessEventCollector;
  6. use Shopware\Core\Framework\Event\BusinessEventCollectorEvent;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class BusinessEventCollectorSubscriber implements EventSubscriberInterface
  9. {
  10.     private BusinessEventCollector $businessEventCollector;
  11.     public function __construct(BusinessEventCollector $businessEventCollector) {
  12.         $this->businessEventCollector $businessEventCollector;
  13.     }
  14.     public static function getSubscribedEvents(): iterable
  15.     {
  16.         return [
  17.             BusinessEventCollectorEvent::NAME => [['onAddNoParticipationEvent'1001], ['onAddNoPromotionEvent'1002]],
  18.         ];
  19.     }
  20.     public function onAddNoParticipationEvent(BusinessEventCollectorEvent $event): void
  21.     {
  22.         $collection $event->getCollection();
  23.         $definition $this->businessEventCollector->define(NoParticipationEvent::class);
  24.         if (!$definition) {
  25.             return;
  26.         }
  27.         $collection->set($definition->getName(), $definition);
  28.     }
  29.     public function onAddNoPromotionEvent(BusinessEventCollectorEvent $event): void
  30.     {
  31.         $collection $event->getCollection();
  32.         $definition $this->businessEventCollector->define(NoPromotionEvent::class);
  33.         if (!$definition) {
  34.             return;
  35.         }
  36.         $collection->set($definition->getName(), $definition);
  37.     }
  38. }