From f7ec3303da0c108304a1b12bd112b24d7ce34974 Mon Sep 17 00:00:00 2001
From: Torsten Oppermann <torsten@sgalinski.de>
Date: Tue, 19 Sep 2017 12:46:23 +0200
Subject: [PATCH] [TASK] Fixing errors with the default template and the
 subject translation

---
 Classes/Controller/MailController.php   | 14 +++++---------
 Classes/Service/MailTemplateService.php |  2 +-
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php
index 6402fcda..c8477180 100644
--- a/Classes/Controller/MailController.php
+++ b/Classes/Controller/MailController.php
@@ -35,7 +35,6 @@ use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Messaging\FlashMessage;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\VersionNumberUtility;
-use TYPO3\CMS\Extbase\Domain\Model\FrontendUser;
 use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
 use TYPO3\CMS\Extbase\Object\ObjectManager;
 use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
@@ -130,12 +129,8 @@ class MailController extends ActionController {
 						$templateFromFile->setSubject($subject);
 					}
 				} else {
-					if (is_array($subject)) {
-						$langSubject = $registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['subject']['en'];
-						$templateFromFile->setSubject($langSubject);
-					} else {
-						$templateFromFile->setSubject($subject);
-					}
+					// set subject from register array
+					$templateFromFile->setSubject(LocalizationUtility::translate($subject, $this->extensionName));
 
 					if (file_exists($fallbackTemplateFile)) {
 						$templateFromFile->setContent(file_get_contents($fallbackTemplateFile));
@@ -256,11 +251,12 @@ class MailController extends ActionController {
 
 		$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
 		/** @var \SGalinski\SgMail\Service\MailTemplateService $mailTemplateService */
-		$mailTemplateService = $objectManager->get(MailTemplateService::class);
+		$mailTemplateService = $objectManager->get(
+			MailTemplateService::class, $parameters['selectedTemplate'], $parameters['selectedExtension']
+		);
 		$mailIsSend = FALSE;
 
 		foreach ($parameters['templates'] as $key => $template) {
-
 			$mailTemplateService->setLanguage($key);
 			$mailTemplateService->setToAddresses($parameters['emailAddress']);
 			$mailTemplateService->setFromAddress($template['fromMail']);
diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php
index cb54b8c3..b41ad3bb 100644
--- a/Classes/Service/MailTemplateService.php
+++ b/Classes/Service/MailTemplateService.php
@@ -759,7 +759,7 @@ class MailTemplateService {
 		$templateKey = $config['template_key'];
 		$templatePath = ExtensionManagementUtility::extPath(
 				$extensionName
-			) . '/Resources/Private/Template/SgMail/' . ucfirst($config['template_key']);
+			) . 'Resources/Private/Templates/SgMail/' . ucfirst($config['template_key'] . '/');
 
 		if ($config['template_path']) {
 			$templatePath = $config['template_key'];
-- 
GitLab