![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/LeadBundle/EventListener/ |
<?php declare(strict_types=1); namespace Mautic\LeadBundle\EventListener; use Mautic\LeadBundle\Event\DoNotContactAddEvent; use Mautic\LeadBundle\Event\DoNotContactRemoveEvent; use Mautic\LeadBundle\Model\DoNotContact; use Symfony\Component\EventDispatcher\EventSubscriberInterface; final class DoNotContactSubscriber implements EventSubscriberInterface { public function __construct( private DoNotContact $doNotContact ) { } public static function getSubscribedEvents(): array { return [ DoNotContactAddEvent::ADD_DONOT_CONTACT => ['addDncForLead', 0], DoNotContactRemoveEvent::REMOVE_DONOT_CONTACT => ['removeDncForLead', 0], ]; } public function removeDncForLead(DoNotContactRemoveEvent $doNotContactRemoveEvent): void { $this->doNotContact->removeDncForContact( $doNotContactRemoveEvent->getLead()->getId(), $doNotContactRemoveEvent->getChannel(), $doNotContactRemoveEvent->getPersist() ); } public function addDncForLead(DoNotContactAddEvent $doNotContactAddEvent): void { if (empty($doNotContactAddEvent->getLead()->getId())) { $this->doNotContact->createDncRecord( $doNotContactAddEvent->getLead(), $doNotContactAddEvent->getChannel(), $doNotContactAddEvent->getReason(), $doNotContactAddEvent->getComments() ); } else { $this->doNotContact->addDncForContact( $doNotContactAddEvent->getLead()->getId(), $doNotContactAddEvent->getChannel(), $doNotContactAddEvent->getReason(), $doNotContactAddEvent->getComments(), $doNotContactAddEvent->isPersist(), $doNotContactAddEvent->isCheckCurrentStatus(), $doNotContactAddEvent->isOverride() ); } } }