src/EventDispatcher/CalendarViewEmailSubscriber.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\EventDispatcher;
  3. use App\Event\CalendarViewEvent;
  4. use Psr\Log\LoggerInterface;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. use Symfony\Component\Mailer\MailerInterface;
  7. use Symfony\Component\Mime\Address;
  8. use Symfony\Component\Mime\Email;
  9. use Symfony\Bridge\Twig\Mime\TemplatedEmail;
  10. class CalendarViewEmailSubscriber implements EventSubscriberInterface {
  11.     protected $logger;
  12.     protected $mailer;
  13.     public function __construct(LoggerInterface $logger, MailerInterface $mailer)
  14.     {
  15.       $this->logger = $logger;
  16.       $this->mailer = $mailer;
  17.     }
  18.     public static function getSubscribedEvents() :array
  19.     {
  20.         return [
  21.             'calendar.view' => 'sendEmail'
  22.         ];
  23.     }
  24.     public function sendEmail(CalendarViewEvent $calendarViewEvent){
  25.         /*  $email = new TemplatedEmail();
  26.         $email->from(new Address("contact@mail.com", "infos de la boutique"))
  27.                ->to("admin@mail.com")
  28.                ->html("<h1> Visite de la séance  {$calendarViewEvent->getCalendar()->getId()} </h1>")
  29.                ->text("un visiteur est en train de voir la page de la séance n°" . $calendarViewEvent->getCalendar()->getId())
  30.                ->htmlTemplate('emails/calendar_view.html.twig')
  31.                ->context([
  32.                  'calendar' => $calendarViewEvent->getCalendar()
  33.                ])
  34.               ->subject("visite de la séance n°" . $calendarViewEvent->getCalendar()->getId());
  35.         $this->mailer->send($email);
  36.         $this->logger->info("Email  pour la calendar" . $calendarViewEvent->getCalendar()->getId()); */
  37.     }
  38.  }