From 266993dba78279c46b91ecb3e008097fe421e0c7 Mon Sep 17 00:00:00 2001
From: Torsten Oppermann <torsten@sgalinski.de>
Date: Wed, 2 Aug 2017 21:25:23 +0200
Subject: [PATCH] [TASK] Fixed a bug with template subjects

---
 Classes/Controller/MailController.php | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php
index 666d53c7..772fc14e 100644
--- a/Classes/Controller/MailController.php
+++ b/Classes/Controller/MailController.php
@@ -103,6 +103,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'];
 		foreach ($templatesFromDb as $key => $template) {
 			if ($template === NULL) {
 				$defaultTemplatePath = $registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['templatePath'];
@@ -112,9 +113,26 @@ class MailController extends ActionController {
 				$templateFromFile = new Template();
 				$templateFromFile->setLanguage($key);
 				$templates[$key] = $templateFromFile;
+
 				if (file_exists($defaultTemplateFile)) {
 					$templateFromFile->setContent(file_get_contents($defaultTemplateFile));
+					if (is_array($subject)) {
+						$langSubject = $registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['subject']['en'];
+
+						if ($registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['subject'][$key] !== '') {
+							$langSubject = $registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['subject'][$key];
+						}
+						$templateFromFile->setSubject($langSubject);
+					} else {
+						$templateFromFile->setSubject($subject);
+					}
 				} else {
+					if (is_array($subject)) {
+						$langSubject = $registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['subject']['en'];
+						$templateFromFile->setSubject($langSubject);
+					} else {
+						$templateFromFile->setSubject($subject);
+					}
 					$templateFromFile->setContent(file_get_contents($fallbackTemplateFile));
 				}
 			} else {
-- 
GitLab