diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php index 88f844f93d67904ce8cb61495b4b67ffc5383634..a2640b08d048221a1bfa0276d56222a35665a164 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 ec019b521dae78d4eb4bd22c5d997cfae1af0c62..a611a204da83ee3c7ad405fb5514b7afc07ab2aa 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 978b320f04302a393d5f0946cf4f2411dc39c7e3..6909d6b25140acf69bc8951e14038edb9009d370 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)