Skip to content
Snippets Groups Projects
Commit 7eceb268 authored by Stefan Galinski's avatar Stefan Galinski :video_game:
Browse files

[BUGFIX] Fix Torsten strange commit

parent eb9b1ce3
No related branches found
No related tags found
No related merge requests found
......@@ -42,11 +42,13 @@ class MailController extends ActionController {
* @inject
*/
protected $languageRepository;
/**
* @var \SGalinski\SgMail\Domain\Repository\TemplateRepository
* @inject
*/
protected $templateRepository;
/**
* @var \SGalinski\SgMail\Session\PhpSession
*/
......@@ -70,14 +72,17 @@ class MailController extends ActionController {
$this->session = $this->objectManager->get('SGalinski\SgMail\Session\PhpSession');
$this->session->setSessionKey('sg_mail_controller_session');
}
$registerArray = MailTemplateService::getRegisterArray();
$activatedLanguages = $this->languageRepository->findSelected();
$languages = ['en'];
foreach ($activatedLanguages as $language) {
$languages[] = $language->getLocale();
}
$this->view->assign('languages', $languages);
$this->view->assign('templates', MailTemplateService::getRegisterArray());
// get last selected languages
if ($selectedLanguageLeft === NULL) {
$selectedLanguageLeft = $this->session->getDataByKey('selectedLanguageLeft');
......@@ -85,6 +90,7 @@ class MailController extends ActionController {
$selectedLanguageLeft = $languages[0];
}
}
if ($selectedLanguageRight === NULL) {
$selectedLanguageRight = $this->session->getDataByKey('selectedLanguageRight');
if ($selectedLanguageRight === NULL) {
......@@ -95,10 +101,12 @@ class MailController extends ActionController {
}
}
}
if ($selectedTemplate === NULL) {
$selectedExtension = key($registerArray);
$selectedTemplate = key($registerArray[$selectedExtension]);
}
$selectedTemplateArray = $registerArray[$selectedExtension][$selectedTemplate];
$this->session->setDataByKey('selectedLanguageLeft', $selectedLanguageLeft);
$this->session->setDataByKey('selectedLanguageRight', $selectedLanguageRight);
......@@ -108,6 +116,7 @@ class MailController extends ActionController {
$templateRight = $this->templateRepository->findOneByTemplate(
$selectedExtensionKey, $selectedTemplateKey, $selectedLanguageRight
);
if ($templateLeft !== NULL) {
$this->view->assign('contentLeft', $templateLeft->getContent());
} else {
......@@ -117,6 +126,7 @@ class MailController extends ActionController {
$this->view->assign('contentLeft', file_get_contents($defaultTemplateFile));
}
}
if ($templateRight !== NULL) {
$this->view->assign('contentRight', $templateRight->getContent());
} else {
......@@ -126,14 +136,17 @@ class MailController extends ActionController {
$this->view->assign('contentRight', file_get_contents($defaultTemplateFile));
}
}
$this->view->assign(
'subjectLeft', $templateLeft !== NULL ? $templateLeft->getSubject() :
$registerArray[$selectedExtension][$selectedTemplate]['subjects'][$selectedLanguageLeft]
);
$this->view->assign(
'subjectRight', $templateRight !== NULL ? $templateRight->getSubject() :
$registerArray[$selectedExtension][$selectedTemplate]['subjects'][$selectedLanguageRight]
);
$this->view->assign('selectedTemplate', $selectedTemplateArray);
$this->view->assign('selectedTemplateKey', $selectedTemplate);
$this->view->assign('selectedExtensionKey', $selectedExtension);
......@@ -164,6 +177,7 @@ class MailController extends ActionController {
$selectedExtension, $selectedTemplate, $selectedLanguageRight, $contentRight, $subjectRight
);
}
$message = LocalizationUtility::translate('backend.success', 'sg_mail');
$this->addFlashMessage($message, '', FlashMessage::OK);
$arguments = $this->request->getArguments();
......@@ -187,22 +201,26 @@ class MailController extends ActionController {
$template = $this->templateRepository->findOneByTemplate(
$selectedExtension, $selectedTemplate, $selectedLanguage
);
$templateAlreadyExists = TRUE;
$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
if ($template === NULL) {
$templateAlreadyExists = FALSE;
$template = $objectManager->get(Template::class);
}
$template->setExtensionKey($selectedExtension);
$template->setTemplateName($selectedTemplate);
$template->setLanguage($selectedLanguage);
$template->setContent($selectedContent);
$template->setSubject($selectedSubject);
if ($templateAlreadyExists) {
$this->templateRepository->update($template);
} else {
$this->templateRepository->add($template);
}
return $template;
}
......@@ -228,6 +246,7 @@ class MailController extends ActionController {
$mailTemplateService->setTemplateName($selectedTemplateKey);
$mailTemplateService->setExtensionKey($selectedExtensionKey);
$mailIsSend = $mailTemplateService->sendEmail(TRUE);
if ($selectedLanguageRight !== $selectedLanguageLeft) {
/** @var \SGalinski\SgMail\Service\MailTemplateService $mailTemplateService */
$mailTemplateService = $objectManager->get(MailTemplateService::class);
......@@ -238,6 +257,7 @@ class MailController extends ActionController {
$mailTemplateService->setExtensionKey($selectedExtensionKey);
$mailIsSend = $mailTemplateService->sendEmail(TRUE);
}
if ($mailIsSend) {
$message = LocalizationUtility::translate('backend.success_mail', 'sg_mail');
$this->addFlashMessage($message, '', FlashMessage::OK);
......@@ -245,6 +265,7 @@ class MailController extends ActionController {
$message = LocalizationUtility::translate('backend.failure_mail', 'sg_mail');
$this->addFlashMessage($message, '', FlashMessage::ERROR);
}
$arguments = $this->request->getArguments();
$this->redirect('index', NULL, NULL, $arguments);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment