From a98e63fa468333e3e751586b4a2f5402aadc665c Mon Sep 17 00:00:00 2001
From: Torsten Oppermann <torsten@sgalinski.de>
Date: Wed, 20 Sep 2017 11:59:44 +0200
Subject: [PATCH] [TASK] Adding default language label, register code in
 correct place

---
 Classes/Controller/MailController.php       | 22 +++++++++++++++++++++
 Resources/Private/Templates/Mail/Index.html |  9 ++++++++-
 ext_localconf.php                           |  2 ++
 3 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php
index 7a8e643d..734ab5c4 100644
--- a/Classes/Controller/MailController.php
+++ b/Classes/Controller/MailController.php
@@ -106,6 +106,7 @@ class MailController extends ActionController {
 		// if no templates are in the db, get the default from the files
 		$templates = [];
 		$subject = $registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['subject'];
+		/** @var  Template $template */
 		foreach ($templatesFromDb as $key => $template) {
 			if ($template === NULL) {
 				$defaultTemplatePath = $registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['templatePath'];
@@ -183,6 +184,27 @@ class MailController extends ActionController {
 		$this->view->assign('docHeader', $this->docHeaderComponent->docHeaderContent());
 		$this->view->assign('typo3Version', VersionNumberUtility::convertVersionNumberToInteger(TYPO3_version));
 		$this->view->assign('beUserMail', $GLOBALS['BE_USER']->user['email']);
+
+		// get the default language label and pass it to the view
+		$languageService = $GLOBALS['LANG'];
+		$pageTsConfig = BackendUtility::getPagesTSconfig($pageUid);
+		if (VersionNumberUtility::convertVersionNumberToInteger(TYPO3_version) >= 8000000) {
+			$defaultLanguageLabel = $languageService->sL(
+				'LLL:EXT:lang/Resources/Private/Language/locallang_mod_web_list.xlf:defaultLanguage'
+			);
+		} else {
+			$defaultLanguageLabel = $languageService->sL(
+				'lll:EXT:lang/locallang_mod_web_list.xlf:defaultLanguage'
+			);
+		}
+
+		if (isset($pageTsConfig['mod.']['SHARED.']['defaultLanguageLabel'])) {
+			$defaultLanguageLabel = $pageTsConfig['mod.']['SHARED.']['defaultLanguageLabel'] . ' (' . $languageService->sL(
+					$defaultLanguageLabel
+				) . ')';
+		}
+
+		$this->view->assign('defaultLanguageLabel', $defaultLanguageLabel);
 	}
 
 	/**
diff --git a/Resources/Private/Templates/Mail/Index.html b/Resources/Private/Templates/Mail/Index.html
index e7416f01..dd4e7432 100644
--- a/Resources/Private/Templates/Mail/Index.html
+++ b/Resources/Private/Templates/Mail/Index.html
@@ -90,7 +90,14 @@
 							<f:for each="{languageLabels}" as="label" key="innerKey">
 								<f:if condition="{key} == {innerKey}">
 									<h3>
-										{label}
+										<f:if condition="{key}=='default'">
+											<f:then>
+												{defaultLanguageLabel}
+											</f:then>
+											<f:else>
+												{label}
+											</f:else>
+										</f:if>
 										<f:if condition="{languageTemplate.isOverwritten}">
 											<f:translate key="backend.is_overwritten" />
 										</f:if>
diff --git a/ext_localconf.php b/ext_localconf.php
index 6bff9a3a..0f2bf62e 100644
--- a/ext_localconf.php
+++ b/ext_localconf.php
@@ -45,3 +45,5 @@ if (TYPO3_MODE === 'BE') {
 	$tsPath = $extPath . 'Configuration/TypoScript/';
 	\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(file_get_contents($tsPath . 'setup.ts'));
 }
+
+\SGalinski\SgMail\Service\MailTemplateService::registerExtensions();
-- 
GitLab