diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php index 722d26f5512e7feb82af05a058b35e83e40d6365..534dab7c07819cf20c431d0584422d8426fed4ef 100644 --- a/Classes/Service/MailTemplateService.php +++ b/Classes/Service/MailTemplateService.php @@ -33,10 +33,12 @@ use SGalinski\SgMail\Domain\Repository\MailRepository; use SGalinski\SgMail\Domain\Repository\TemplateRepository; use Swift_Attachment; use Swift_OutputByteStream; +use TYPO3\CMS\Core\Database\DatabaseConnection; use TYPO3\CMS\Core\Mail\MailMessage; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Extbase\Object\ObjectManager; use TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager; +use TYPO3\CMS\Extbase\Persistence\QueryResultInterface; use TYPO3\CMS\Extbase\Utility\LocalizationUtility; use TYPO3\CMS\Fluid\View\StandaloneView; use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; @@ -714,4 +716,23 @@ 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(); + } }