*/ class CommentEventSubscriber extends EntityManagerEventSubscriber { protected MailNotifier $notifier; protected UrlGeneratorInterface $urlGenerator; protected SettingManager $settingManager; public function __construct(MailNotifier $notifier, UrlGeneratorInterface $urlGenerator, SettingManager $settingManager) { $this->notifier = $notifier; $this->urlGenerator = $urlGenerator; $this->settingManager = $settingManager; } public function support(EntityInterface $entity) { return $entity instanceof Comment; } public function onCreate(EntityManagerEvent $event) { if (!$this->support($event->getEntity())) { return; } $this->notifier ->init() ->setFrom($this->settingManager->get('email_sender')->getValue()) ->addRecipient($this->settingManager->get('email_comment')->getValue()) ->setSubject('[Deblan] Nouveau commentaire') ->notify('mail/comment.html.twig', [ 'post' => $event->getEntity()->getPost(), 'links' => [ 'post' => $this->urlGenerator->generate('blog_menu_post', [ 'post' => $event->getEntity()->getPost()->getId(), 'slug' => $event->getEntity()->getPost()->getSlug(), ], UrlGeneratorInterface::ABSOLUTE_URL).'#review-'.$event->getEntity()->getId(), ], ], 'text/plain') ; } }