diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php index 808a213d2c3d665c0631ea46e8d6bdceb4763fb8..2e211cb18c8d746c0183b90335c0f3d085ea41b6 100644 --- a/Classes/Controller/MailController.php +++ b/Classes/Controller/MailController.php @@ -155,9 +155,10 @@ class MailController extends ActionController { $this->view->assign('templates', MailTemplateService::getRegisterArray()); $templateDescription = $registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['description']; + if (is_array($templateDescription)) { - if ($languages[0]) { - $templateDescription = $templateDescription[$languages[0]]; + if ($languages[0]['isocode']) { + $templateDescription = $templateDescription[$languages[0]['isocode']]; } } else { $templateDescription = LocalizationUtility::translate( diff --git a/Classes/Service/BackendService.php b/Classes/Service/BackendService.php index 5e7844b36efed7e386355ba5a21a1bc306fab6da..0a9afc514a8fa5006f6d8d472f1fecc7dc61c20c 100644 --- a/Classes/Service/BackendService.php +++ b/Classes/Service/BackendService.php @@ -37,6 +37,7 @@ use TYPO3\CMS\Core\Imaging\IconFactory; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Extbase\Mvc\Request; use TYPO3\CMS\Extbase\Object\ObjectManager; +use TYPO3\CMS\Extbase\Persistence\QueryResultInterface; use TYPO3\CMS\Extbase\Utility\LocalizationUtility; use TYPO3\CMS\Lang\Domain\Repository\LanguageRepository; @@ -143,14 +144,20 @@ class BackendService { * @throws \InvalidArgumentException */ public static function getLanguages() { - $objectManager = GeneralUtility::makeInstance(ObjectManager::class); - /** @var LanguageRepository $languageRepository */ - $languageRepository = $objectManager->get(LanguageRepository::class); - $activatedLanguages = $languageRepository->findSelected(); + /** @var $databaseConnection DatabaseConnection */ + $databaseConnection = $GLOBALS['TYPO3_DB']; + /** @var QueryResultInterface $rows */ + $rows = $databaseConnection->exec_SELECTgetRows( + '*', + 'sys_language', + 'hidden = 0' + ); - $languages = ['en']; - foreach ($activatedLanguages as $language) { - $languages[] = $language->getLocale(); + $languages = []; + + foreach ($rows as $language) { + $languages[] = ['isocode' => $language['language_isocode'], + 'name' => $language['title']]; } return $languages; @@ -240,8 +247,8 @@ class BackendService { $templateRepository = $objectManager->get(TemplateRepository::class); foreach ($languages as $language) { - $selectedTemplates[$language] = $templateRepository->findOneByTemplate( - $selectedExtension, $selectedTemplate, $language, $pid + $selectedTemplates[$language['isocode']] = $templateRepository->findOneByTemplate( + $selectedExtension, $selectedTemplate, $language['isocode'], $pid ); } @@ -255,7 +262,9 @@ class BackendService { * @throws \InvalidArgumentException */ public static function getLanguagesForFilter() { + // @TODO $languages = self::getLanguages(); + array_unshift($languages, ''); $filterLanguages = []; foreach ($languages as $key => $value) { diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php index 534dab7c07819cf20c431d0584422d8426fed4ef..2af6b05c8400bce9472eced12c785acbc0517689 100644 --- a/Classes/Service/MailTemplateService.php +++ b/Classes/Service/MailTemplateService.php @@ -716,23 +716,4 @@ class MailTemplateService { $this->pid = (int) $pid; return $this; } - - /** - * Get all the active system languages in an array - * - * @return array - * @throws \InvalidArgumentException - */ - public static function getSystemLanguages() { - /** @var $databaseConnection DatabaseConnection */ - $databaseConnection = $GLOBALS['TYPO3_DB']; - /** @var QueryResultInterface $rows */ - $rows = $databaseConnection->exec_SELECTgetRows( - '*', - 'sys_language', - 'deleted = 0 AND hidden = 1' - ); - - return $rows->toArray(); - } }