From 96bbac37c59c4e03d6a47907bd83574d287ccd66 Mon Sep 17 00:00:00 2001
From: Torsten Oppermann <torsten@sgalinski.de>
Date: Thu, 17 Aug 2017 11:28:37 +0200
Subject: [PATCH] [TASK] Add Mailservice function to get the system languages

---
 Classes/Service/MailTemplateService.php | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php
index 722d26f5..534dab7c 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();
+	}
 }
-- 
GitLab