From 617fdf7a5edcc098047acd8fe987820341597870 Mon Sep 17 00:00:00 2001 From: Torsten Oppermann <torsten@sgalinski.de> Date: Thu, 13 Jul 2017 14:49:12 +0200 Subject: [PATCH] [TASK] Mail templates only for root page id --- Classes/Controller/MailController.php | 7 ++++--- Classes/Domain/Repository/MailRepository.php | 2 +- Classes/Domain/Repository/TemplateRepository.php | 4 +++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php index 88f844f9..a2640b08 100644 --- a/Classes/Controller/MailController.php +++ b/Classes/Controller/MailController.php @@ -81,6 +81,7 @@ class MailController extends ActionController { $selectedLanguageRight = NULL, $selectedExtensionKey = NULL, $selectedTemplateKey = NULL ) { $siteRoot = BackendService::getSiteRoot((int) GeneralUtility::_GP('id')); + $siteRootId = $siteRoot['uid']; if (!($this->session instanceof PhpSession)) { $this->session = $this->objectManager->get('SGalinski\SgMail\Session\PhpSession'); @@ -131,10 +132,10 @@ class MailController extends ActionController { $this->session->setDataByKey('selectedLanguageLeft', $selectedLanguageLeft); $this->session->setDataByKey('selectedLanguageRight', $selectedLanguageRight); $templateLeft = $this->templateRepository->findOneByTemplate( - $selectedExtension, $selectedTemplate, $selectedLanguageLeft + $selectedExtension, $selectedTemplate, $selectedLanguageLeft, $siteRootId ); $templateRight = $this->templateRepository->findOneByTemplate( - $selectedExtension, $selectedTemplate, $selectedLanguageRight + $selectedExtension, $selectedTemplate, $selectedLanguageRight, $siteRootId ); if ($templateLeft !== NULL) { @@ -316,7 +317,7 @@ class MailController extends ActionController { ) { /** @var Template $template */ $template = $this->templateRepository->findOneByTemplate( - $selectedExtension, $selectedTemplate, $selectedLanguage + $selectedExtension, $selectedTemplate, $selectedLanguage, $siteRootId ); $templateAlreadyExists = TRUE; diff --git a/Classes/Domain/Repository/MailRepository.php b/Classes/Domain/Repository/MailRepository.php index ec019b52..a611a204 100644 --- a/Classes/Domain/Repository/MailRepository.php +++ b/Classes/Domain/Repository/MailRepository.php @@ -55,7 +55,7 @@ class MailRepository extends AbstractRepository { * * @param string $extensionKey * @param string $templateName - * @param int siteroot + * @param int $siteroot * @param int $limit * @return array|QueryResultInterface */ diff --git a/Classes/Domain/Repository/TemplateRepository.php b/Classes/Domain/Repository/TemplateRepository.php index 978b320f..6909d6b2 100644 --- a/Classes/Domain/Repository/TemplateRepository.php +++ b/Classes/Domain/Repository/TemplateRepository.php @@ -38,10 +38,11 @@ class TemplateRepository extends AbstractRepository { * @param string $extensionKey * @param string $templateName * @param string $language + * @param int $siteroot * * @return Template */ - public function findOneByTemplate($extensionKey, $templateName, $language) { + public function findOneByTemplate($extensionKey, $templateName, $language, $siteroot = 0) { $query = $this->createQuery(); $querySettings = $this->objectManager->get(Typo3QuerySettings::class); @@ -50,6 +51,7 @@ class TemplateRepository extends AbstractRepository { $constraintsAnd[] = $query->equals('extension_key', $extensionKey); $constraintsAnd[] = $query->equals('template_name', $templateName); $constraintsAnd[] = $query->equals('language', $language); + $constraintsAnd[] = $query->equals('site_root_id', (int) $siteroot); $query->matching( $query->logicalAnd($constraintsAnd) -- GitLab