![]() 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/CampaignBundle/Service/ |
<?php namespace Mautic\CampaignBundle\Service; use Mautic\CampaignBundle\Entity\Campaign; use Mautic\CampaignBundle\Entity\CampaignRepository; use Mautic\CoreBundle\Service\FlashBag; use Mautic\EmailBundle\Entity\Email; use Mautic\EmailBundle\Entity\EmailRepository; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; class CampaignAuditService { public function __construct( private FlashBag $flashBag, private UrlGeneratorInterface $urlGenerator, private CampaignRepository $campaignRepository, private EmailRepository $emailRepository ) { } public function addWarningForUnpublishedEmails(Campaign $campaign): void { $emailIds = $this->campaignRepository->fetchEmailIdsById($campaign->getId()); $emails = $this->emailRepository->findBy(['id' => $emailIds]); foreach ($emails as $email) { if (!$email->isPublished()) { $this->setEmailWarningFlashMessage($email); } } } private function setEmailWarningFlashMessage(Email $email): void { $this->flashBag->add( 'mautic.core.notice.campaign.unpublished.email', [ '%name%' => $email->getName(), '%menu_link%' => 'mautic_email_index', '%url%' => $this->urlGenerator->generate('mautic_email_action', [ 'objectAction' => 'edit', 'objectId' => $email->getId(), ]), ], FlashBag::LEVEL_WARNING, ); } }