![]() 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/plugins/GrapesJsBuilderBundle/Model/ |
<?php declare(strict_types=1); namespace MauticPlugin\GrapesJsBuilderBundle\Model; use Doctrine\ORM\EntityManager; use Mautic\CoreBundle\Helper\CoreParametersHelper; use Mautic\CoreBundle\Helper\UserHelper; use Mautic\CoreBundle\Model\AbstractCommonModel; use Mautic\CoreBundle\Security\Permissions\CorePermissions; use Mautic\CoreBundle\Translation\Translator; use Mautic\EmailBundle\Entity\Email; use Mautic\EmailBundle\Model\EmailModel; use MauticPlugin\GrapesJsBuilderBundle\Entity\GrapesJsBuilder; use MauticPlugin\GrapesJsBuilderBundle\Entity\GrapesJsBuilderRepository; use Psr\Log\LoggerInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; /** * @extends AbstractCommonModel<GrapesJsBuilder> */ class GrapesJsBuilderModel extends AbstractCommonModel { public function __construct( private RequestStack $requestStack, private EmailModel $emailModel, EntityManager $em, CorePermissions $security, EventDispatcherInterface $dispatcher, UrlGeneratorInterface $router, Translator $translator, UserHelper $userHelper, LoggerInterface $mauticLogger, CoreParametersHelper $coreParametersHelper ) { parent::__construct($em, $security, $dispatcher, $router, $translator, $userHelper, $mauticLogger, $coreParametersHelper); } /** * @return GrapesJsBuilderRepository */ public function getRepository() { /** @var GrapesJsBuilderRepository $repository */ $repository = $this->em->getRepository(GrapesJsBuilder::class); $repository->setTranslator($this->translator); return $repository; } /** * Add or edit email settings entity based on request. */ public function addOrEditEntity(Email $email): void { if ($this->emailModel->isUpdatingTranslationChildren()) { return; } $grapesJsBuilder = $this->getRepository()->findOneBy(['email' => $email]); if (!$grapesJsBuilder) { $grapesJsBuilder = new GrapesJsBuilder(); $grapesJsBuilder->setEmail($email); } if ($this->requestStack->getCurrentRequest()->request->has('grapesjsbuilder')) { $data = $this->requestStack->getCurrentRequest()->get('grapesjsbuilder', ''); if (isset($data['customMjml'])) { $grapesJsBuilder->setCustomMjml($data['customMjml']); } $this->getRepository()->saveEntity($grapesJsBuilder); $customHtml = $this->requestStack->getCurrentRequest()->get('emailform')['customHtml'] ?? null; $email->setCustomHtml($customHtml); $this->emailModel->getRepository()->saveEntity($email); } } public function getGrapesJsFromEmailId(?int $emailId) { if ($email = $this->emailModel->getEntity($emailId)) { return $this->getRepository()->findOneBy(['email' => $email]); } } }