diff --git a/Classes/Controller/ConfigurationController.php b/Classes/Controller/ConfigurationController.php new file mode 100644 index 0000000000000000000000000000000000000000..abeee03cddd87a1e204c739fa90223055c870fb4 --- /dev/null +++ b/Classes/Controller/ConfigurationController.php @@ -0,0 +1,248 @@ +<?php + +namespace SGalinski\SgMail\Controller; + +/*************************************************************** + * Copyright notice + * + * (c) sgalinski Internet Services (https://www.sgalinski.de) + * + * All rights reserved + * + * This script is part of the TYPO3 project. The TYPO3 project is + * free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * The GNU General Public License can be found at + * http://www.gnu.org/copyleft/gpl.html. + * + * This script is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * This copyright notice MUST APPEAR in all copies of the script! + ***************************************************************/ + +use SGalinski\SgMail\Service\BackendService; +use SGalinski\SgMail\Service\MailTemplateService; +use SGalinski\SgMail\Service\TypoScriptSettingsService; +use SGalinski\SgMail\Session\PhpSession; +use TYPO3\CMS\Backend\Template\Components\DocHeaderComponent; +use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Cache\CacheManager; +use TYPO3\CMS\Core\Cache\Frontend\FrontendInterface; +use TYPO3\CMS\Core\Messaging\FlashMessage; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Core\Utility\VersionNumberUtility; +use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; +use TYPO3\CMS\Extbase\Mvc\Exception\StopActionException; +use TYPO3\CMS\Extbase\Mvc\Exception\UnsupportedRequestTypeException; +use TYPO3\CMS\Extbase\Object\ObjectManager; +use TYPO3\CMS\Extbase\Utility\LocalizationUtility; + +/** + * Controller for the configuration mode of the backend module + */ +class ConfigurationController extends ActionController { + const DEFAULT_EXTENSION_KEY = 'sg_mail'; + + /** + * DocHeaderComponent + * + * @var DocHeaderComponent + */ + protected $docHeaderComponent; + + /** + * @var \SGalinski\SgMail\Session\PhpSession + */ + protected $session; + + /** + * + * @param string $selectedTemplate + * @param string $selectedExtension + * @param array $filters + * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException + * @throws \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchArgumentException + */ + public function indexAction($selectedTemplate = NULL, $selectedExtension = NULL, array $filters = []) { + if ($this->request->hasArgument('message')) { + $this->addFlashMessage($this->request->getArgument('message'), '', FlashMessage::ERROR); + } + + $pageUid = (int) GeneralUtility::_GP('id'); + + $registerArray = BackendService::getNonBlacklistedTemplates($pageUid); + if ($selectedTemplate === NULL || $selectedTemplate === '') { + if (!empty($registerArray)) { + $selectedExtension = \key($registerArray); + } + if (!empty($registerArray)) { + $selectedTemplate = \key($registerArray[$selectedExtension]); + } + } + + // make docheader + $this->docHeaderComponent = GeneralUtility::makeInstance(DocHeaderComponent::class); + $pageInfo = BackendUtility::readPageAccess($pageUid, $GLOBALS['BE_USER']->getPagePermsClause(1)); + if ($pageInfo === FALSE) { + $pageInfo = ['uid' => $pageUid]; + } + $this->docHeaderComponent->setMetaInformation($pageInfo); + BackendService::makeButtons($this->docHeaderComponent, $this->request); + + $this->view->assign('docHeader', $this->docHeaderComponent->docHeaderContent()); + $this->view->assign('selectedTemplateFilter', $filters['filterTemplate']); + $this->view->assign('selectedExtensionFilter', $filters['filterExtension']); + $this->view->assign('typo3Version', VersionNumberUtility::convertVersionNumberToInteger(TYPO3_version)); + $this->view->assign('selectedTemplateKey', $selectedTemplate); + $this->view->assign('selectedExtensionKey', $selectedExtension); + $this->view->assign('mode', 'editor'); + } + + /** + * Create the template or display errors that occured + * + * @throws StopActionException + * @throws UnsupportedRequestTypeException + * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException + * @throws \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchArgumentException + */ + public function createAction() { + if (!$this->request->hasArgument('configuration')) { + $this->redirect( + 'index', 'Configuration', NULL, + ['message' => LocalizationUtility::translate('backend.create_error', 'sg_mail')] + ); + } + + /** @var array $configuration */ + $configuration = $this->request->getArgument('configuration'); + + $templateName = $configuration['templateName']; + $csv = str_replace("\r", '', $configuration['csv']); + $subject = $configuration['subject']; + $description = $configuration['description']; + + $markersCsv = \explode("\n", $csv); + $markers = []; + + foreach ($markersCsv as $markerCsv) { + $rowArray = str_getcsv($markerCsv, ';'); + if (!$rowArray[0]) { + continue; + } + $markers[] = [ + 'identifier' => $rowArray[0], + 'value' => $rowArray[1], + 'description' => $rowArray[2] + ]; + } + + $this->writeRegisterFile($templateName, self::DEFAULT_EXTENSION_KEY, $markers, $subject, $description); + MailTemplateService::registerExtensions(); + + $this->clearCaches(); + + // store selected template & extension key in the session + if (!($this->session instanceof PhpSession)) { + $this->session = $this->objectManager->get(PhpSession::class); + $this->session->setSessionKey('sg_mail_controller_session'); + } else { + $this->session->setSessionKey('sg_mail_controller_session'); + } + $this->session->setDataByKey('selectedTemplate', $templateName); + $this->session->setDataByKey('selectedExtension', self::DEFAULT_EXTENSION_KEY); + + $this->redirect( + 'index', 'Mail', NULL, + ['message' => LocalizationUtility::translate('backend.create_message', 'sg_mail')] + ); + } + + /** + * Write the mail registration file + * + * @TODO move this to the register service class when security update is merged. refactor in FormEditorController xclass as well + * + * @param string $templateKey + * @param string $extensionKey + * @param array $markers + * @param string $subject + * @param string $description + */ + private function writeRegisterFile($templateKey, $extensionKey, $markers, $subject, $description) { + // get the location where registrations should be stored + $configurationLocation = $this->getRegistrationPath(); + + $registerFolder = GeneralUtility::getFileAbsFileName( + $configurationLocation + ); + // create folder + GeneralUtility::mkdir($registerFolder); + + $registerFile = GeneralUtility::getFileAbsFileName( + $registerFolder . '/' . $templateKey . '.php' + ); + + // build the register array + $newRegisterArray = [ + 'extension_key' => $extensionKey, + 'template_key' => $templateKey, + 'description' => $description, + 'subject' => $subject, + 'markers' => [] + ]; + + // add the markers for this template + foreach ($markers as $marker) { + $markerName = $marker['identifier']; + $newRegisterArray['markers'][] = [ + 'marker' => $markerName, + 'type' => MailTemplateService::MARKER_TYPE_STRING, + 'value' => $marker['value'], + 'description' => $marker['description'] + ]; + } + + file_put_contents($registerFile, '<?php return ' . var_export($newRegisterArray, TRUE) . ';'); + } + + /** + * Returns the path to the configured location where automatic mail template registrations should be + * + * @TODO move this to the register service class when security update is merged. refactor in FormEditorController xclass as well + * + * @return string + */ + private function getRegistrationPath(): string { + // get typoscript settings from sg mail + /** @var TypoScriptSettingsService $typoScriptSettingsService */ + $typoScriptSettingsService = $this->objectManager->get(TypoScriptSettingsService::class); + $tsSettings = $typoScriptSettingsService->getSettings(0, 'tx_sgmail'); + + // get the location where automatic registrations should be stored + return 'EXT:' . $tsSettings['mail']['configurationLocation'] . '/' . MailTemplateService::CONFIG_PATH; + } + + /** + * Clear the sgmail register cache + * + * @TODO move this to the register service class when security update is merged. refactor in FormEditorController xclass as well + * + * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException + */ + private function clearCaches() { + $objectManager = GeneralUtility::makeInstance(ObjectManager::class); + $cacheManager = $objectManager->get(CacheManager::class); + + /** @var FrontendInterface $cache */ + $cache = $cacheManager->getCache(MailTemplateService::CACHE_NAME); + /** @var FrontendInterface $cache */ + $cache->flush(); + } +} diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php index 909578ce40702d5f679ff226c0a1eacfd21b4ed5..93c5f2d525f048e2888af29cd359b988e4ffbdb0 100644 --- a/Classes/Controller/MailController.php +++ b/Classes/Controller/MailController.php @@ -81,6 +81,10 @@ class MailController extends ActionController { * @throws \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchArgumentException */ public function indexAction(array $parameters = []) { + if ($this->request->hasArgument('message')) { + $this->addFlashMessage($this->request->getArgument('message'), '', FlashMessage::INFO); + } + $pid = (int) GeneralUtility::_GP('id'); if (!($this->session instanceof PhpSession)) { diff --git a/Classes/Controller/QueueController.php b/Classes/Controller/QueueController.php index 2e27c0a84eafc1c23fd4e35606b71c63145ad73f..34a6a462b22502155c1413b5c92004d8dd3cbb40 100644 --- a/Classes/Controller/QueueController.php +++ b/Classes/Controller/QueueController.php @@ -153,8 +153,8 @@ class QueueController extends ActionController { $pageInfo = ['uid' => $pageUid]; } $this->docHeaderComponent->setMetaInformation($pageInfo); - $this->view->assign('docHeader', $this->docHeaderComponent->docHeaderContent()); BackendService::makeButtons($this->docHeaderComponent, $this->request); + $this->view->assign('docHeader', $this->docHeaderComponent->docHeaderContent()); $this->view->assign('typo3Version', VersionNumberUtility::convertVersionNumberToInteger(TYPO3_version)); } diff --git a/Resources/Private/Language/de.locallang.xlf b/Resources/Private/Language/de.locallang.xlf index 42562483af9770f7e5b3b00003723e19e8745c25..a30d9949bba8ca3f3ad2c590de0cea90786e4926 100644 --- a/Resources/Private/Language/de.locallang.xlf +++ b/Resources/Private/Language/de.locallang.xlf @@ -9,332 +9,384 @@ <authorEmail>torsten@sgalinski.de</authorEmail> </header> <body> - <trans-unit id="backend.all" approved="yes"> - <source>All</source> - <target>Alle</target> - </trans-unit> - <trans-unit id="backend.bcc" approved="yes"> - <source>BCC (Blind Carbon Copy Receiver, comma separated)</source> - <target>BCC (Blindempfänger, komma-separiert)</target> - </trans-unit> - <trans-unit id="backend.blacklisted" approved="yes"> - <source>Show mails from blacklisted templates</source> - <target>Mails basierend auf gesperrten Templates anzeigen</target> - </trans-unit> - <trans-unit id="backend.button_download_csv" approved="yes"> - <source>Export CSV</source> - <target>CSV exportieren</target> - </trans-unit> - <trans-unit id="backend.button_reset" approved="yes"> - <source>Reset Template</source> - <target>Zurücksetzen</target> - </trans-unit> - <trans-unit id="backend.button_reset_all" approved="yes"> - <source>Reset template</source> - <target>Template zurücksetzen</target> - </trans-unit> - <trans-unit id="backend.button_reset_filter" approved="yes"> - <source>Reset</source> - <target>Zurücksetzen</target> - </trans-unit> - <trans-unit id="backend.cc" approved="yes"> - <source>CC (Carbon Copy Receiver, comma separated)</source> - <target>CC (Kopieempfänger, komma-separiert)</target> - </trans-unit> - <trans-unit id="backend.content" approved="yes"> - <source>Text</source> - <target>Text</target> - </trans-unit> - <trans-unit id="backend.delete_template" approved="yes"> - <source>Do you really want to reset this template?</source> - <target>Möchten Sie wirklich den Ursprungszustand wiederherstellen?</target> - </trans-unit> - <trans-unit id="backend.description" approved="yes"> - <source>Description</source> - <target>Beschreibung</target> - </trans-unit> - <trans-unit id="backend.email" approved="yes"> - <source>Email</source> - <target>E-Mail</target> - </trans-unit> - <trans-unit id="backend.entry_date" approved="yes"> - <source>Queue Entry Date</source> - <target>Erstellungsdatum</target> - </trans-unit> - <trans-unit id="backend.error_bcc" approved="yes"> - <source>The bcc addresses are invalid</source> - <target>Ungültige Blindempfänger Adressen (bcc)</target> - </trans-unit> - <trans-unit id="backend.error_cc" approved="yes"> - <source>The cc addresses are invalid</source> - <target>Ungültige Kopieempfänger Adressen (cc)</target> - </trans-unit> - <trans-unit id="backend.failure_mail" approved="yes"> - <source>There was an error when sending the preview email. Please check your configuration.</source> - <target>Ein Fehler ist aufgetreten. Bitte überprüfen Sie die Konfiguration.</target> - </trans-unit> - <trans-unit id="backend.filter.bcc" approved="yes"> - <source>BCC address</source> - <target>BCC Adressen</target> - </trans-unit> - <trans-unit id="backend.filter.cc" approved="yes"> - <source>CC address</source> - <target>CC Adressen</target> - </trans-unit> - <trans-unit id="backend.filter.date_from" approved="yes"> - <source>Last sent time since:</source> - <target>Zuletzt gesendet von:</target> - </trans-unit> - <trans-unit id="backend.filter.date_to" approved="yes"> - <source>Last sent until:</source> - <target>Zuletzt gesendet bis:</target> - </trans-unit> - <trans-unit id="backend.filter.extension" approved="yes"> - <source>Extension</source> - <target>Extension</target> - </trans-unit> - <trans-unit id="backend.filter.fields.description" approved="yes"> - <source>Search fields (all by default):</source> - <target>Suchfelder (standardmäßig alle):</target> - </trans-unit> - <trans-unit id="backend.filter.filter" approved="yes"> - <source>Filter</source> - <target>Filter anwenden</target> - </trans-unit> - <trans-unit id="backend.filter.from" approved="yes"> - <source>Sender address</source> - <target>Absender</target> - </trans-unit> - <trans-unit id="backend.filter.from_name" approved="yes"> - <source>From name</source> - <target>Absendername</target> - </trans-unit> - <trans-unit id="backend.filter.language" approved="yes"> - <source>Language:</source> - <target>Sprache:</target> - </trans-unit> - <trans-unit id="backend.filter.mailtext" approved="yes"> - <source>Mailtext</source> - <target>Mailinhalt</target> - </trans-unit> - <trans-unit id="backend.filter.reply_to" approved="yes"> - <source>Reply to</source> - <target>Antwort Adresse</target> - </trans-unit> - <trans-unit id="backend.filter.search" approved="yes"> - <source>Search for:</source> - <target>Suchen nach:</target> - </trans-unit> - <trans-unit id="backend.filter.subject" approved="yes"> - <source>Subject</source> - <target>Betreff</target> - </trans-unit> - <trans-unit id="backend.filter.template" approved="yes"> - <source>Template</source> - <target>Template</target> - </trans-unit> - <trans-unit id="backend.filter.to" approved="yes"> - <source>Recipient address</source> - <target>Empfänger</target> - </trans-unit> - <trans-unit id="backend.from" approved="yes"> - <source>From</source> - <target>Absender</target> - </trans-unit> - <trans-unit id="backend.fromAddress" approved="yes"> - <source>Sender Email Address</source> - <target>Absender-E-Mail-Adresse</target> - </trans-unit> - <trans-unit id="backend.fromMail" approved="yes"> - <source>Sender Email Address</source> - <target>Absender-E-Mail-Adresse</target> - </trans-unit> - <trans-unit id="backend.fromName" approved="yes"> - <source>Sender Name</source> - <target>Absender-Name</target> - </trans-unit> - <trans-unit id="backend.fromUser" approved="yes"> - <source>From User (overwrites other from fields):</source> - <target>Absender Benutzer (hat Vorrang falls gesetzt):</target> - </trans-unit> - <trans-unit id="backend.is_overwritten" approved="yes"> - <source>(overwritten)</source> - <target>(überschrieben)</target> - </trans-unit> - <trans-unit id="backend.language_default" approved="yes"> - <source>Default</source> - <target>Standard</target> - </trans-unit> - <trans-unit id="backend.last_sent" approved="yes"> - <source>Last Sent</source> - <target>Zuletzt gesendet</target> - </trans-unit> - <trans-unit id="backend.mail_queue" approved="yes"> - <source>Mail Queue</source> - <target>Mail-Queue</target> - </trans-unit> - <trans-unit id="backend.marker" approved="yes"> - <source>Marker</source> - <target>Marker</target> - </trans-unit> - <trans-unit id="backend.marker.type.array" approved="yes"> - <source>Array</source> - <target>Array</target> - </trans-unit> - <trans-unit id="backend.marker.type.object" approved="yes"> - <source>Object</source> - <target>Objekt</target> - </trans-unit> - <trans-unit id="backend.marker.type.string" approved="yes"> - <source>String</source> - <target>Zeichenkette</target> - </trans-unit> - <trans-unit id="backend.marker.type.file" approved="yes"> - <source>File</source> - <target>Datei</target> - </trans-unit> - <trans-unit id="bachend.markerUsageInfo"> - <source>Usage information</source> - <target>Information zur Benutzung</target> - </trans-unit> - <trans-unit id="bachend.markerUsage"> - <source>You can use a marker in your text like this: "Dear {MARKER}, we hope you are fine with us contacting you. Kind regards {ANOTHERMARKER}"</source> - <target>Sie können die Marker wie folgt in Ihrem Text benutzen: "Sehr geehrte {MARKER}, wir hoffen dass Sie mit unserer Kontaktaufnahme einverstanden sind. Mit freundlichen Grüßen {ANOTHERMARKER}"</target> - </trans-unit> - <trans-unit id="backend.no_extension" approved="yes"> - <source>No template was registered.</source> - <target>Es wurde noch kein Template registriert.</target> - </trans-unit> - <trans-unit id="backend.no_extensions" approved="yes"> - <source>No extensions registered</source> - <target>Es wurden noch keine Extensions registriert</target> - </trans-unit> - <trans-unit id="backend.no_queue_entries" approved="yes"> - <source>Your filter criteria didn't match any entries.</source> - <target>Es wurden keine Einträge für Ihre Filtereinstellungen gefunden.</target> - </trans-unit> - <trans-unit id="backend.no_site_root" approved="yes"> - <source>Please select one of the following website roots:</source> - <target>Bitte wählen Sie eine der folgenden Webseiten:</target> - </trans-unit> - <trans-unit id="backend.not_sent" approved="yes"> - <source>Not Sent</source> - <target>Nicht versendet</target> - </trans-unit> - <trans-unit id="backend.notice.OtherPages" approved="yes"> - <source>Please select one of the following pages to view your Mail Templates:</source> - <target>Bitte wählen Sie eine der folgenden Seiten aus um Ihre E-Mail Templates zu bearbeiten:</target> - </trans-unit> - <trans-unit id="backend.priority" approved="yes"> - <source>Priority</source> - <target>Priorität</target> - </trans-unit> - <trans-unit id="backend.queue.blacklisted" approved="yes"> - <source>Blacklisted</source> - <target>Auf der schwarzen Liste</target> - </trans-unit> - <trans-unit id="backend.replyTo" approved="yes"> - <source>Reply to</source> - <target>Antwort-Adresse</target> - </trans-unit> - <trans-unit id="backend.save" approved="yes"> - <source>Save</source> - <target>Speichern</target> - </trans-unit> - <trans-unit id="backend.save_template" approved="yes"> - <source>Save</source> - <target>Speichern</target> - </trans-unit> - <trans-unit id="backend.select_language" approved="yes"> - <source>Language (reloads the page):</source> - <target>Sprache (lädt die Seite neu):</target> - </trans-unit> - <trans-unit id="backend.send_again" approved="yes"> - <source>Send</source> - <target>Senden</target> - </trans-unit> - <trans-unit id="backend.send_mail_again" approved="yes"> - <source>Send this email again?</source> - <target>Diese E-Mail nochmals versenden?</target> - </trans-unit> - <trans-unit id="backend.send_mail_manually" approved="yes"> - <source>Send this email now?</source> - <target>Diese E-Mail jetzt versenden?</target> - </trans-unit> - <trans-unit id="backend.send_now" approved="yes"> - <source>Send</source> - <target>Senden</target> - </trans-unit> - <trans-unit id="backend.send_test" approved="yes"> - <source>Save and send preview mails</source> - <target>Speichern und Vorschau-Mail senden</target> - </trans-unit> - <trans-unit id="backend.sending_time" approved="yes"> - <source>Sending Time</source> - <target>Versendet am</target> - </trans-unit> - <trans-unit id="backend.sent" approved="yes"> - <source>Sent</source> - <target>Versendet</target> - </trans-unit> - <trans-unit id="backend.showBody" approved="yes"> - <source>Show</source> - <target>Anzeigen</target> - </trans-unit> - <trans-unit id="backend.subject" approved="yes"> - <source>Subject</source> - <target>Betreff</target> - </trans-unit> - <trans-unit id="backend.success" approved="yes"> - <source>Successfully saved!</source> - <target>Erfolgreich gespeichert!</target> - </trans-unit> - <trans-unit id="backend.success_mail" approved="yes"> - <source>Preview Emails sent</source> - <target>Vorschau E-Mails wurden versendet</target> - </trans-unit> - <trans-unit id="backend.success_mail_queue" approved="yes"> - <source>Email succesfully sent</source> - <target>Die E-Mail wurde erfolgreich versendet</target> - </trans-unit> - <trans-unit id="backend.template_editor" approved="yes"> - <source>Template Editor</source> - <target>Template-Editor</target> - </trans-unit> - <trans-unit id="backend.template_path" approved="yes"> - <source>Template Path:</source> - <target>Template-Pfad:</target> - </trans-unit> - <trans-unit id="backend.template_reset" approved="yes"> - <source>The template was resetted successfully.</source> - <target>Das Template erfolgreich zurückgesetzt.</target> - </trans-unit> - <trans-unit id="backend.to" approved="yes"> - <source>To</source> - <target>Empfänger</target> - </trans-unit> - <trans-unit id="backend.toAddress" approved="yes"> - <source>Receiver</source> - <target>Empfänger</target> - </trans-unit> - <trans-unit id="backend.to_form" approved="yes"> - <source>To (If set, this overwrites the recipient everytime!) </source> - <target>Empfänger (Falls angegeben, wird der Empfänger immer überschrieben!)</target> - </trans-unit> - <trans-unit id="backend.type" approved="yes"> - <source>Type</source> - <target>Typ</target> - </trans-unit> - <trans-unit id="backend.usage" approved="yes"> - <source>Usage in Template</source> - <target>Nutzung im Template</target> - </trans-unit> - <trans-unit id="backend.value" approved="yes"> - <source>Example</source> - <target>Beispiel</target> - </trans-unit> - <trans-unit id="configuration.excludeTemplates" approved="yes" xml:space="preserve"> - <source>Exclude Mail Templates for certain Domains + <trans-unit id="bachend.markerUsage" approved="yes"> + <source><![CDATA[You can use a marker in your text like this: "Dear {MARKER}, we hope you are fine with us contacting you. Kind regards {ANOTHERMARKER}"]]></source> + <target><![CDATA[Sie können die Marker wie folgt in Ihrem Text benutzen: "Sehr geehrte {MARKER}, wir hoffen dass Sie mit unserer Kontaktaufnahme einverstanden sind. Mit freundlichen Grüßen {ANOTHERMARKER}"]]></target> + </trans-unit> + <trans-unit id="bachend.markerUsageInfo" approved="yes"> + <source><![CDATA[Usage information]]></source> + <target><![CDATA[Information zur Benutzung]]></target> + </trans-unit> + <trans-unit id="backend.all" approved="yes"> + <source><![CDATA[All]]></source> + <target><![CDATA[Alle]]></target> + </trans-unit> + <trans-unit id="backend.bcc" approved="yes"> + <source><![CDATA[BCC (Blind Carbon Copy Receiver, comma separated)]]></source> + <target><![CDATA[BCC (Blindempfänger, komma-separiert)]]></target> + </trans-unit> + <trans-unit id="backend.blacklisted" approved="yes"> + <source><![CDATA[Show mails from blacklisted templates]]></source> + <target><![CDATA[Mails basierend auf gesperrten Templates anzeigen]]></target> + </trans-unit> + <trans-unit id="backend.button_create" approved="yes"> + <source><![CDATA[Register new template]]></source> + <target><![CDATA[Neues Template registrieren]]></target> + </trans-unit> + <trans-unit id="backend.button_download_csv" approved="yes"> + <source><![CDATA[Export CSV]]></source> + <target><![CDATA[CSV exportieren]]></target> + </trans-unit> + <trans-unit id="backend.button_reset" approved="yes"> + <source><![CDATA[Reset Template]]></source> + <target><![CDATA[Zurücksetzen]]></target> + </trans-unit> + <trans-unit id="backend.button_reset_all" approved="yes"> + <source><![CDATA[Reset template]]></source> + <target><![CDATA[Template zurücksetzen]]></target> + </trans-unit> + <trans-unit id="backend.button_reset_filter" approved="yes"> + <source><![CDATA[Reset]]></source> + <target><![CDATA[Zurücksetzen]]></target> + </trans-unit> + <trans-unit id="backend.cc" approved="yes"> + <source><![CDATA[CC (Carbon Copy Receiver, comma separated)]]></source> + <target><![CDATA[CC (Kopieempfänger, komma-separiert)]]></target> + </trans-unit> + <trans-unit id="backend.configuration" approved="yes"> + <source><![CDATA[Configuration editor]]></source> + <target><![CDATA[Konfigurationseditor]]></target> + </trans-unit> + <trans-unit id="backend.content" approved="yes"> + <source><![CDATA[Text]]></source> + <target><![CDATA[Text]]></target> + </trans-unit> + <trans-unit id="backend.create.csv" approved="yes"> + <source><![CDATA[Marker (csv format)]]></source> + <target><![CDATA[Marker (csv Format)]]></target> + </trans-unit> + <trans-unit id="backend.create.description" approved="yes"> + <source><![CDATA[Description]]></source> + <target><![CDATA[Beschreibung]]></target> + </trans-unit> + <trans-unit id="backend.create.info" approved="yes"> + <source><![CDATA[Please insert the template marker in the following format: markerName; exampleValue; description <br /><br />Whitespaces in marker names are ignored. <br />If you have multiple markers, seperate them with a new line: markerName1; exampleValue1; description1<br />markerName2; exampleValue2; description2 <br /><br />Example: first_name; Max; The first name of the client <br />last_name; Mustermann; The last name of the client]]></source> + <target><![CDATA[Bitte geben Sie die Template Marker im folgenden Format ein: markerName; beispiel; beschreibung <br /><br />Leerzeichen in Markernamen werden ignoriert. <br /><br />Mehrere Marker werden mit der Eingabetaste getrennt: markerName1; beispiel1; beschreibung1<br />markerName2; beispiel2; beschreibung2 <br /><br />Beispiel: first_name; Max; Der Vorname des Kunden<br /> last_name; Mustermann; Der Nachname des Kunden]]></target> + </trans-unit> + <trans-unit id="backend.create.info_header" approved="yes"> + <source><![CDATA[Usage Information]]></source> + <target><![CDATA[Hinweise zur Benutzung]]></target> + </trans-unit> + <trans-unit id="backend.create.markers" approved="yes"> + <source><![CDATA[Template marker]]></source> + <target><![CDATA[Template Marker]]></target> + </trans-unit> + <trans-unit id="backend.create.save" approved="yes"> + <source><![CDATA[Save]]></source> + <target><![CDATA[Speichern]]></target> + </trans-unit> + <trans-unit id="backend.create.subject" approved="yes"> + <source><![CDATA[Subject]]></source> + <target><![CDATA[Betreff]]></target> + </trans-unit> + <trans-unit id="backend.create.templateName" approved="yes"> + <source><![CDATA[Template name]]></source> + <target><![CDATA[Template Name]]></target> + </trans-unit> + <trans-unit id="backend.create_error" approved="yes"> + <source><![CDATA[Something went wrong.. Please try again!]]></source> + <target><![CDATA[Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.]]></target> + </trans-unit> + <trans-unit id="backend.create_message" approved="yes"> + <source><![CDATA[Mail template was successfully registered. You can now edit the content below.]]></source> + <target><![CDATA[Die Registrierung war erfolgreich. Sie können nun den Inhalt der Mails im Editor (siehe unten) bearbeiten.]]></target> + </trans-unit> + <trans-unit id="backend.default_extension_name" approved="yes"> + <source><![CDATA[Own templates]]></source> + <target><![CDATA[Eigene Templates]]></target> + </trans-unit> + <trans-unit id="backend.delete_template" approved="yes"> + <source><![CDATA[Do you really want to reset this template?]]></source> + <target><![CDATA[Möchten Sie wirklich den Ursprungszustand wiederherstellen?]]></target> + </trans-unit> + <trans-unit id="backend.description" approved="yes"> + <source><![CDATA[Description]]></source> + <target><![CDATA[Beschreibung]]></target> + </trans-unit> + <trans-unit id="backend.email" approved="yes"> + <source><![CDATA[Email]]></source> + <target><![CDATA[E-Mail]]></target> + </trans-unit> + <trans-unit id="backend.entry_date" approved="yes"> + <source><![CDATA[Queue Entry Date]]></source> + <target><![CDATA[Erstellungsdatum]]></target> + </trans-unit> + <trans-unit id="backend.error_bcc" approved="yes"> + <source><![CDATA[The bcc addresses are invalid]]></source> + <target><![CDATA[Ungültige Blindempfänger Adressen (bcc)]]></target> + </trans-unit> + <trans-unit id="backend.error_cc" approved="yes"> + <source><![CDATA[The cc addresses are invalid]]></source> + <target><![CDATA[Ungültige Kopieempfänger Adressen (cc)]]></target> + </trans-unit> + <trans-unit id="backend.failure_mail" approved="yes"> + <source><![CDATA[There was an error when sending the preview email. Please check your configuration.]]></source> + <target><![CDATA[Ein Fehler ist aufgetreten. Bitte überprüfen Sie die Konfiguration.]]></target> + </trans-unit> + <trans-unit id="backend.filter.bcc" approved="yes"> + <source><![CDATA[BCC address]]></source> + <target><![CDATA[BCC Adressen]]></target> + </trans-unit> + <trans-unit id="backend.filter.cc" approved="yes"> + <source><![CDATA[CC address]]></source> + <target><![CDATA[CC Adressen]]></target> + </trans-unit> + <trans-unit id="backend.filter.date_from" approved="yes"> + <source><![CDATA[Last sent time since:]]></source> + <target><![CDATA[Zuletzt gesendet von:]]></target> + </trans-unit> + <trans-unit id="backend.filter.date_to" approved="yes"> + <source><![CDATA[Last sent until:]]></source> + <target><![CDATA[Zuletzt gesendet bis:]]></target> + </trans-unit> + <trans-unit id="backend.filter.extension" approved="yes"> + <source><![CDATA[Extension]]></source> + <target><![CDATA[Extension]]></target> + </trans-unit> + <trans-unit id="backend.filter.fields.description" approved="yes"> + <source><![CDATA[Search fields (all by default):]]></source> + <target><![CDATA[Suchfelder (standardmäßig alle):]]></target> + </trans-unit> + <trans-unit id="backend.filter.filter" approved="yes"> + <source><![CDATA[Filter]]></source> + <target><![CDATA[Filter anwenden]]></target> + </trans-unit> + <trans-unit id="backend.filter.from" approved="yes"> + <source><![CDATA[Sender address]]></source> + <target><![CDATA[Absender]]></target> + </trans-unit> + <trans-unit id="backend.filter.from_name" approved="yes"> + <source><![CDATA[From name]]></source> + <target><![CDATA[Absendername]]></target> + </trans-unit> + <trans-unit id="backend.filter.language" approved="yes"> + <source><![CDATA[Language:]]></source> + <target><![CDATA[Sprache:]]></target> + </trans-unit> + <trans-unit id="backend.filter.mailtext" approved="yes"> + <source><![CDATA[Mailtext]]></source> + <target><![CDATA[Mailinhalt]]></target> + </trans-unit> + <trans-unit id="backend.filter.reply_to" approved="yes"> + <source><![CDATA[Reply to]]></source> + <target><![CDATA[Antwort Adresse]]></target> + </trans-unit> + <trans-unit id="backend.filter.search" approved="yes"> + <source><![CDATA[Search for:]]></source> + <target><![CDATA[Suchen nach:]]></target> + </trans-unit> + <trans-unit id="backend.filter.subject" approved="yes"> + <source><![CDATA[Subject]]></source> + <target><![CDATA[Betreff]]></target> + </trans-unit> + <trans-unit id="backend.filter.template" approved="yes"> + <source><![CDATA[Template]]></source> + <target><![CDATA[Template]]></target> + </trans-unit> + <trans-unit id="backend.filter.to" approved="yes"> + <source><![CDATA[Recipient address]]></source> + <target><![CDATA[Empfänger]]></target> + </trans-unit> + <trans-unit id="backend.from" approved="yes"> + <source><![CDATA[From]]></source> + <target><![CDATA[Absender]]></target> + </trans-unit> + <trans-unit id="backend.fromAddress" approved="yes"> + <source><![CDATA[Sender Email Address]]></source> + <target><![CDATA[Absender-E-Mail-Adresse]]></target> + </trans-unit> + <trans-unit id="backend.fromMail" approved="yes"> + <source><![CDATA[Sender Email Address]]></source> + <target><![CDATA[Absender-E-Mail-Adresse]]></target> + </trans-unit> + <trans-unit id="backend.fromName" approved="yes"> + <source><![CDATA[Sender Name]]></source> + <target><![CDATA[Absender-Name]]></target> + </trans-unit> + <trans-unit id="backend.fromUser" approved="yes"> + <source><![CDATA[From User (overwrites other from fields):]]></source> + <target><![CDATA[Absender Benutzer (hat Vorrang falls gesetzt):]]></target> + </trans-unit> + <trans-unit id="backend.is_overwritten" approved="yes"> + <source><![CDATA[(overwritten)]]></source> + <target><![CDATA[(überschrieben)]]></target> + </trans-unit> + <trans-unit id="backend.language_default" approved="yes"> + <source><![CDATA[Default]]></source> + <target><![CDATA[Standard]]></target> + </trans-unit> + <trans-unit id="backend.last_sent" approved="yes"> + <source><![CDATA[Last Sent]]></source> + <target><![CDATA[Zuletzt gesendet]]></target> + </trans-unit> + <trans-unit id="backend.mail_queue" approved="yes"> + <source><![CDATA[Mail Queue]]></source> + <target><![CDATA[Mail-Queue]]></target> + </trans-unit> + <trans-unit id="backend.marker" approved="yes"> + <source><![CDATA[Marker]]></source> + <target><![CDATA[Marker]]></target> + </trans-unit> + <trans-unit id="backend.marker.type.array" approved="yes"> + <source><![CDATA[Array]]></source> + <target><![CDATA[Array]]></target> + </trans-unit> + <trans-unit id="backend.marker.type.file" approved="yes"> + <source><![CDATA[File]]></source> + <target><![CDATA[Datei]]></target> + </trans-unit> + <trans-unit id="backend.marker.type.object" approved="yes"> + <source><![CDATA[Object]]></source> + <target><![CDATA[Objekt]]></target> + </trans-unit> + <trans-unit id="backend.marker.type.string" approved="yes"> + <source><![CDATA[String]]></source> + <target><![CDATA[Zeichenkette]]></target> + </trans-unit> + <trans-unit id="backend.no_extension" approved="yes"> + <source><![CDATA[No template was registered.]]></source> + <target><![CDATA[Es wurde noch kein Template registriert.]]></target> + </trans-unit> + <trans-unit id="backend.no_extensions" approved="yes"> + <source><![CDATA[No extensions registered]]></source> + <target><![CDATA[Es wurden noch keine Extensions registriert]]></target> + </trans-unit> + <trans-unit id="backend.no_queue_entries" approved="yes"> + <source><![CDATA[Your filter criteria didn't match any entries.]]></source> + <target><![CDATA[Es wurden keine Einträge für Ihre Filtereinstellungen gefunden.]]></target> + </trans-unit> + <trans-unit id="backend.no_site_root" approved="yes"> + <source><![CDATA[Please select one of the following website roots:]]></source> + <target><![CDATA[Bitte wählen Sie eine der folgenden Webseiten:]]></target> + </trans-unit> + <trans-unit id="backend.not_sent" approved="yes"> + <source><![CDATA[Not Sent]]></source> + <target><![CDATA[Nicht versendet]]></target> + </trans-unit> + <trans-unit id="backend.notice.OtherPages" approved="yes"> + <source><![CDATA[Please select one of the following pages to view your Mail Templates:]]></source> + <target><![CDATA[Bitte wählen Sie eine der folgenden Seiten aus um Ihre E-Mail Templates zu bearbeiten:]]></target> + </trans-unit> + <trans-unit id="backend.priority" approved="yes"> + <source><![CDATA[Priority]]></source> + <target><![CDATA[Priorität]]></target> + </trans-unit> + <trans-unit id="backend.queue.blacklisted" approved="yes"> + <source><![CDATA[Blacklisted]]></source> + <target><![CDATA[Auf der schwarzen Liste]]></target> + </trans-unit> + <trans-unit id="backend.replyTo" approved="yes"> + <source><![CDATA[Reply to]]></source> + <target><![CDATA[Antwort-Adresse]]></target> + </trans-unit> + <trans-unit id="backend.save" approved="yes"> + <source><![CDATA[Save]]></source> + <target><![CDATA[Speichern]]></target> + </trans-unit> + <trans-unit id="backend.save_template" approved="yes"> + <source><![CDATA[Save]]></source> + <target><![CDATA[Speichern]]></target> + </trans-unit> + <trans-unit id="backend.select_language" approved="yes"> + <source><![CDATA[Language (reloads the page):]]></source> + <target><![CDATA[Sprache (lädt die Seite neu):]]></target> + </trans-unit> + <trans-unit id="backend.send_again" approved="yes"> + <source><![CDATA[Send]]></source> + <target><![CDATA[Senden]]></target> + </trans-unit> + <trans-unit id="backend.send_mail_again" approved="yes"> + <source><![CDATA[Send this email again?]]></source> + <target><![CDATA[Diese E-Mail nochmals versenden?]]></target> + </trans-unit> + <trans-unit id="backend.send_mail_manually" approved="yes"> + <source><![CDATA[Send this email now?]]></source> + <target><![CDATA[Diese E-Mail jetzt versenden?]]></target> + </trans-unit> + <trans-unit id="backend.send_now" approved="yes"> + <source><![CDATA[Send]]></source> + <target><![CDATA[Senden]]></target> + </trans-unit> + <trans-unit id="backend.send_test" approved="yes"> + <source><![CDATA[Save and send preview mails]]></source> + <target><![CDATA[Speichern und Vorschau-Mail senden]]></target> + </trans-unit> + <trans-unit id="backend.sending_time" approved="yes"> + <source><![CDATA[Sending Time]]></source> + <target><![CDATA[Versendet am]]></target> + </trans-unit> + <trans-unit id="backend.sent" approved="yes"> + <source><![CDATA[Sent]]></source> + <target><![CDATA[Versendet]]></target> + </trans-unit> + <trans-unit id="backend.showBody" approved="yes"> + <source><![CDATA[Show]]></source> + <target><![CDATA[Anzeigen]]></target> + </trans-unit> + <trans-unit id="backend.subject" approved="yes"> + <source><![CDATA[Subject]]></source> + <target><![CDATA[Betreff]]></target> + </trans-unit> + <trans-unit id="backend.success" approved="yes"> + <source><![CDATA[Successfully saved!]]></source> + <target><![CDATA[Erfolgreich gespeichert!]]></target> + </trans-unit> + <trans-unit id="backend.success_mail" approved="yes"> + <source><![CDATA[Preview Emails sent]]></source> + <target><![CDATA[Vorschau E-Mails wurden versendet]]></target> + </trans-unit> + <trans-unit id="backend.success_mail_queue" approved="yes"> + <source><![CDATA[Email succesfully sent]]></source> + <target><![CDATA[Die E-Mail wurde erfolgreich versendet]]></target> + </trans-unit> + <trans-unit id="backend.template_editor" approved="yes"> + <source><![CDATA[Template Editor]]></source> + <target><![CDATA[Template-Editor]]></target> + </trans-unit> + <trans-unit id="backend.template_path" approved="yes"> + <source><![CDATA[Template Path:]]></source> + <target><![CDATA[Template-Pfad:]]></target> + </trans-unit> + <trans-unit id="backend.template_reset" approved="yes"> + <source><![CDATA[The template was resetted successfully.]]></source> + <target><![CDATA[Das Template erfolgreich zurückgesetzt.]]></target> + </trans-unit> + <trans-unit id="backend.to" approved="yes"> + <source><![CDATA[To]]></source> + <target><![CDATA[Empfänger]]></target> + </trans-unit> + <trans-unit id="backend.toAddress" approved="yes"> + <source><![CDATA[Receiver]]></source> + <target><![CDATA[Empfänger]]></target> + </trans-unit> + <trans-unit id="backend.to_form" approved="yes"> + <source><![CDATA[To (If set, this overwrites the recipient everytime!) ]]></source> + <target><![CDATA[Empfänger (Falls angegeben, wird der Empfänger immer überschrieben!)]]></target> + </trans-unit> + <trans-unit id="backend.type" approved="yes"> + <source><![CDATA[Type]]></source> + <target><![CDATA[Typ]]></target> + </trans-unit> + <trans-unit id="backend.usage" approved="yes"> + <source><![CDATA[Usage in Template]]></source> + <target><![CDATA[Nutzung im Template]]></target> + </trans-unit> + <trans-unit id="backend.value" approved="yes"> + <source><![CDATA[Example]]></source> + <target><![CDATA[Beispiel]]></target> + </trans-unit> + <trans-unit id="configuration.excludeTemplates" approved="yes" xml:space="preserve"> + <source><![CDATA[Exclude Mail Templates for certain Domains Example: @@ -342,8 +394,8 @@ Example: In this example the templates sg_mail.exampleA, sg_mail.exampleB are excluded for the page with id = 1 and the template sg_mail.exampleB is excluded for the page with id = 10. -If the given page ids do not exist or are not site roots, the configuration is ignored.</source> - <target>Ausschließen von Mail Templates für bestimmte Domains +If the given page ids do not exist or are not site roots, the configuration is ignored.]]></source> + <target><![CDATA[Ausschließen von Mail Templates für bestimmte Domains Beispiel: @@ -351,10 +403,10 @@ Beispiel: Hier sind die Templates sg_mail.exampleA, sg_mail.exampleB ausgeschlossen für die Seite mit der id = 1 und das Template sg_mail.exampleB ist ausgeschlossen für die Seite mit der page id = 10. -Existiert die angegebene page id nicht oder sollte die Seite keine Wurzelseite sein, dann wird dieser Teil der Konfiguration nicht berücksichtigt.</target> - </trans-unit> - <trans-unit id="configuration.excludeTemplatesAllDomains" approved="yes" xml:space="preserve"> - <source>Exclude Mail Templates for all domains:Comma-separated list of {extension_key}.{template_name} +Existiert die angegebene page id nicht oder sollte die Seite keine Wurzelseite sein, dann wird dieser Teil der Konfiguration nicht berücksichtigt.]]></target> + </trans-unit> + <trans-unit id="configuration.excludeTemplatesAllDomains" approved="yes" xml:space="preserve"> + <source><![CDATA[Exclude Mail Templates for all domains:Comma-separated list of {extension_key}.{template_name} Example: @@ -362,35 +414,35 @@ sg_comments.declined, sg_comments.approved The templates declined and approved of the sg_comments extension are blacklisted for all domains. -</source> - <target>Mail-Templates für alle Domains ausschließen:Kommagetrennte Liste von {extension_key}.{template_name} +]]></source> + <target><![CDATA[Mail-Templates für alle Domains ausschließen:Kommagetrennte Liste von {extension_key}.{template_name} Example: sg_comments.declined, sg_comments.approved -Die Templates declined und approved der Extension sg_comments sind für alle Domains auf der schwarzen Liste.</target> - </trans-unit> - <trans-unit id="configuration.templateList" approved="yes"> - <source>List of templates</source> - <target>Liste aller templates</target> - </trans-unit> - <trans-unit id="mlang_labels_tabdescr" approved="yes"> - <source>Mail Templates</source> - <target>Mail-Templates</target> - </trans-unit> - <trans-unit id="mlang_labels_tablabel" approved="yes"> - <source>Mail Templates</source> - <target>Mail-Templates</target> - </trans-unit> - <trans-unit id="mlang_tabs_tab" approved="yes"> - <source>Mail Templates</source> - <target>Mail-Templates</target> - </trans-unit> - <trans-unit id="registeredExtension.action.message" approved="yes"> - <source>Extension</source> - <target>Erweiterung</target> - </trans-unit> +Die Templates declined und approved der Extension sg_comments sind für alle Domains auf der schwarzen Liste.]]></target> + </trans-unit> + <trans-unit id="configuration.templateList" approved="yes"> + <source><![CDATA[List of templates]]></source> + <target><![CDATA[Liste aller templates]]></target> + </trans-unit> + <trans-unit id="mlang_labels_tabdescr" approved="yes"> + <source><![CDATA[Mail Templates]]></source> + <target><![CDATA[Mail-Templates]]></target> + </trans-unit> + <trans-unit id="mlang_labels_tablabel" approved="yes"> + <source><![CDATA[Mail Templates]]></source> + <target><![CDATA[Mail-Templates]]></target> + </trans-unit> + <trans-unit id="mlang_tabs_tab" approved="yes"> + <source><![CDATA[Mail Templates]]></source> + <target><![CDATA[Mail-Templates]]></target> + </trans-unit> + <trans-unit id="registeredExtension.action.message" approved="yes"> + <source><![CDATA[Extension]]></source> + <target><![CDATA[Erweiterung]]></target> + </trans-unit> </body> </file> -</xliff> +</xliff> \ No newline at end of file diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf index 64b157e3067de0d32be98ab224664b449051425d..c506f67ef8ec4df54a4e3275d51d8480d3a4aad7 100644 --- a/Resources/Private/Language/locallang.xlf +++ b/Resources/Private/Language/locallang.xlf @@ -9,251 +9,290 @@ <authorEmail>torsten@sgalinski.de</authorEmail> </header> <body> - <trans-unit id="backend.all"> - <source>All</source> - </trans-unit> - <trans-unit id="backend.bcc"> - <source>BCC (Blind Carbon Copy Receiver, comma separated)</source> - </trans-unit> - <trans-unit id="backend.blacklisted"> - <source>Show mails from blacklisted templates</source> - </trans-unit> - <trans-unit id="backend.button_download_csv"> - <source>Export CSV</source> - </trans-unit> - <trans-unit id="backend.button_reset"> - <source>Reset Template</source> - </trans-unit> - <trans-unit id="backend.button_reset_all"> - <source>Reset template</source> - </trans-unit> - <trans-unit id="backend.button_reset_filter"> - <source>Reset</source> - </trans-unit> - <trans-unit id="backend.cc"> - <source>CC (Carbon Copy Receiver, comma separated)</source> - </trans-unit> - <trans-unit id="backend.content"> - <source>Text</source> - </trans-unit> - <trans-unit id="backend.delete_template"> - <source>Do you really want to reset this template?</source> - </trans-unit> - <trans-unit id="backend.description"> - <source>Description</source> - </trans-unit> - <trans-unit id="backend.email"> - <source>Email</source> - </trans-unit> - <trans-unit id="backend.entry_date"> - <source>Queue Entry Date</source> - </trans-unit> - <trans-unit id="backend.error_bcc"> - <source>The bcc addresses are invalid</source> - </trans-unit> - <trans-unit id="backend.error_cc"> - <source>The cc addresses are invalid</source> - </trans-unit> - <trans-unit id="backend.failure_mail"> - <source>There was an error when sending the preview email. Please check your configuration.</source> - </trans-unit> - <trans-unit id="backend.filter.bcc"> - <source>BCC address</source> - </trans-unit> - <trans-unit id="backend.filter.cc"> - <source>CC address</source> - </trans-unit> - <trans-unit id="backend.filter.date_from"> - <source>Last sent time since:</source> - </trans-unit> - <trans-unit id="backend.filter.date_to"> - <source>Last sent until:</source> - </trans-unit> - <trans-unit id="backend.filter.extension"> - <source>Extension</source> - </trans-unit> - <trans-unit id="backend.filter.fields.description"> - <source>Search fields (all by default):</source> - </trans-unit> - <trans-unit id="backend.filter.filter"> - <source>Filter</source> - </trans-unit> - <trans-unit id="backend.filter.from"> - <source>Sender address</source> - </trans-unit> - <trans-unit id="backend.filter.from_name"> - <source>From name</source> - </trans-unit> - <trans-unit id="backend.filter.language"> - <source>Language:</source> - </trans-unit> - <trans-unit id="backend.filter.mailtext"> - <source>Mailtext</source> - </trans-unit> - <trans-unit id="backend.filter.reply_to"> - <source>Reply to</source> - </trans-unit> - <trans-unit id="backend.filter.search"> - <source>Search for:</source> - </trans-unit> - <trans-unit id="backend.filter.subject"> - <source>Subject</source> - </trans-unit> - <trans-unit id="backend.filter.template"> - <source>Template</source> - </trans-unit> - <trans-unit id="backend.filter.to"> - <source>Recipient address</source> - </trans-unit> - <trans-unit id="backend.from"> - <source>From</source> - </trans-unit> - <trans-unit id="backend.fromAddress"> - <source>Sender Email Address</source> - </trans-unit> - <trans-unit id="backend.fromMail"> - <source>Sender Email Address</source> - </trans-unit> - <trans-unit id="backend.fromName"> - <source>Sender Name</source> - </trans-unit> - <trans-unit id="backend.fromUser"> - <source>From User (overwrites other from fields):</source> - </trans-unit> - <trans-unit id="backend.is_overwritten"> - <source>(overwritten)</source> - </trans-unit> - <trans-unit id="backend.language_default"> - <source>Default</source> - </trans-unit> - <trans-unit id="backend.last_sent"> - <source>Last Sent</source> - </trans-unit> - <trans-unit id="backend.mail_queue"> - <source>Mail Queue</source> - </trans-unit> - <trans-unit id="backend.marker"> - <source>Marker</source> - </trans-unit> - <trans-unit id="backend.marker.type.array"> - <source>Array</source> - </trans-unit> - <trans-unit id="backend.marker.type.object"> - <source>Object</source> - </trans-unit> - <trans-unit id="backend.marker.type.string"> - <source>String</source> - </trans-unit> - <trans-unit id="backend.marker.type.file"> - <source>File</source> - </trans-unit> - <trans-unit id="bachend.markerUsageInfo"> - <source>Usage information</source> - </trans-unit> - <trans-unit id="bachend.markerUsage"> - <source>You can use a marker in your text like this: "Dear {MARKER}, we hope you are fine with us contacting you. Kind regards {ANOTHERMARKER}"</source> - </trans-unit> - <trans-unit id="backend.no_extension"> - <source>No template was registered.</source> - </trans-unit> - <trans-unit id="backend.no_extensions"> - <source>No extensions registered</source> - </trans-unit> - <trans-unit id="backend.no_queue_entries"> - <source>Your filter criteria didn't match any entries.</source> - </trans-unit> - <trans-unit id="backend.no_site_root"> - <source>Please select one of the following website roots:</source> - </trans-unit> - <trans-unit id="backend.not_sent"> - <source>Not Sent</source> - </trans-unit> - <trans-unit id="backend.notice.OtherPages"> - <source>Please select one of the following pages to view your Mail Templates:</source> - </trans-unit> - <trans-unit id="backend.priority"> - <source>Priority</source> - </trans-unit> - <trans-unit id="backend.queue.blacklisted"> - <source>Blacklisted</source> - </trans-unit> - <trans-unit id="backend.replyTo"> - <source>Reply to</source> - </trans-unit> - <trans-unit id="backend.save"> - <source>Save</source> - </trans-unit> - <trans-unit id="backend.save_template"> - <source>Save</source> - </trans-unit> - <trans-unit id="backend.select_language"> - <source>Language (reloads the page):</source> - </trans-unit> - <trans-unit id="backend.send_again"> - <source>Send</source> - </trans-unit> - <trans-unit id="backend.send_mail_again"> - <source>Send this email again?</source> - </trans-unit> - <trans-unit id="backend.send_mail_manually"> - <source>Send this email now?</source> - </trans-unit> - <trans-unit id="backend.send_now"> - <source>Send</source> - </trans-unit> - <trans-unit id="backend.send_test"> - <source>Save and send preview mails</source> - </trans-unit> - <trans-unit id="backend.sending_time"> - <source>Sending Time</source> - </trans-unit> - <trans-unit id="backend.sent"> - <source>Sent</source> - </trans-unit> - <trans-unit id="backend.showBody"> - <source>Show</source> - </trans-unit> - <trans-unit id="backend.subject"> - <source>Subject</source> - </trans-unit> - <trans-unit id="backend.success"> - <source>Successfully saved!</source> - </trans-unit> - <trans-unit id="backend.success_mail"> - <source>Preview Emails sent</source> - </trans-unit> - <trans-unit id="backend.success_mail_queue"> - <source>Email succesfully sent</source> - </trans-unit> - <trans-unit id="backend.template_editor"> - <source>Template Editor</source> - </trans-unit> - <trans-unit id="backend.template_path"> - <source>Template Path:</source> - </trans-unit> - <trans-unit id="backend.template_reset"> - <source>The template was resetted successfully.</source> - </trans-unit> - <trans-unit id="backend.to"> - <source>To</source> - </trans-unit> - <trans-unit id="backend.toAddress"> - <source>Receiver</source> - </trans-unit> - <trans-unit id="backend.to_form"> - <source>To (If set, this overwrites the recipient everytime!) </source> - </trans-unit> - <trans-unit id="backend.type"> - <source>Type</source> - </trans-unit> - <trans-unit id="backend.usage"> - <source>Usage in Template</source> - </trans-unit> - <trans-unit id="backend.value"> - <source>Example</source> - </trans-unit> - <trans-unit id="configuration.excludeTemplates" xml:space="preserve"> - <source>Exclude Mail Templates for certain Domains + <trans-unit id="bachend.markerUsage"> + <source><![CDATA[You can use a marker in your text like this: "Dear {MARKER}, we hope you are fine with us contacting you. Kind regards {ANOTHERMARKER}"]]></source> + </trans-unit> + <trans-unit id="bachend.markerUsageInfo"> + <source><![CDATA[Usage information]]></source> + </trans-unit> + <trans-unit id="backend.all"> + <source><![CDATA[All]]></source> + </trans-unit> + <trans-unit id="backend.bcc"> + <source><![CDATA[BCC (Blind Carbon Copy Receiver, comma separated)]]></source> + </trans-unit> + <trans-unit id="backend.blacklisted"> + <source><![CDATA[Show mails from blacklisted templates]]></source> + </trans-unit> + <trans-unit id="backend.button_create"> + <source><![CDATA[Register new template]]></source> + </trans-unit> + <trans-unit id="backend.button_download_csv"> + <source><![CDATA[Export CSV]]></source> + </trans-unit> + <trans-unit id="backend.button_reset"> + <source><![CDATA[Reset Template]]></source> + </trans-unit> + <trans-unit id="backend.button_reset_all"> + <source><![CDATA[Reset template]]></source> + </trans-unit> + <trans-unit id="backend.button_reset_filter"> + <source><![CDATA[Reset]]></source> + </trans-unit> + <trans-unit id="backend.cc"> + <source><![CDATA[CC (Carbon Copy Receiver, comma separated)]]></source> + </trans-unit> + <trans-unit id="backend.configuration"> + <source><![CDATA[Configuration editor]]></source> + </trans-unit> + <trans-unit id="backend.content"> + <source><![CDATA[Text]]></source> + </trans-unit> + <trans-unit id="backend.create.csv"> + <source><![CDATA[Marker (csv format)]]></source> + </trans-unit> + <trans-unit id="backend.create.description"> + <source><![CDATA[Description]]></source> + </trans-unit> + <trans-unit id="backend.create.info"> + <source><![CDATA[Please insert the template marker in the following format: markerName; exampleValue; description <br /><br />Whitespaces in marker names are ignored. <br />If you have multiple markers, seperate them with a new line: markerName1; exampleValue1; description1<br />markerName2; exampleValue2; description2 <br /><br />Example: first_name; Max; The first name of the client <br />last_name; Mustermann; The last name of the client]]></source> + </trans-unit> + <trans-unit id="backend.create.info_header"> + <source><![CDATA[Usage Information]]></source> + </trans-unit> + <trans-unit id="backend.create.markers"> + <source><![CDATA[Template marker]]></source> + </trans-unit> + <trans-unit id="backend.create.save"> + <source><![CDATA[Save]]></source> + </trans-unit> + <trans-unit id="backend.create.subject"> + <source><![CDATA[Subject]]></source> + </trans-unit> + <trans-unit id="backend.create.templateName"> + <source><![CDATA[Template name]]></source> + </trans-unit> + <trans-unit id="backend.create_error"> + <source><![CDATA[Something went wrong.. Please try again!]]></source> + </trans-unit> + <trans-unit id="backend.create_message"> + <source><![CDATA[Mail template was successfully registered. You can now edit the content below.]]></source> + </trans-unit> + <trans-unit id="backend.default_extension_name"> + <source><![CDATA[Own templates]]></source> + </trans-unit> + <trans-unit id="backend.delete_template"> + <source><![CDATA[Do you really want to reset this template?]]></source> + </trans-unit> + <trans-unit id="backend.description"> + <source><![CDATA[Description]]></source> + </trans-unit> + <trans-unit id="backend.email"> + <source><![CDATA[Email]]></source> + </trans-unit> + <trans-unit id="backend.entry_date"> + <source><![CDATA[Queue Entry Date]]></source> + </trans-unit> + <trans-unit id="backend.error_bcc"> + <source><![CDATA[The bcc addresses are invalid]]></source> + </trans-unit> + <trans-unit id="backend.error_cc"> + <source><![CDATA[The cc addresses are invalid]]></source> + </trans-unit> + <trans-unit id="backend.failure_mail"> + <source><![CDATA[There was an error when sending the preview email. Please check your configuration.]]></source> + </trans-unit> + <trans-unit id="backend.filter.bcc"> + <source><![CDATA[BCC address]]></source> + </trans-unit> + <trans-unit id="backend.filter.cc"> + <source><![CDATA[CC address]]></source> + </trans-unit> + <trans-unit id="backend.filter.date_from"> + <source><![CDATA[Last sent time since:]]></source> + </trans-unit> + <trans-unit id="backend.filter.date_to"> + <source><![CDATA[Last sent until:]]></source> + </trans-unit> + <trans-unit id="backend.filter.extension"> + <source><![CDATA[Extension]]></source> + </trans-unit> + <trans-unit id="backend.filter.fields.description"> + <source><![CDATA[Search fields (all by default):]]></source> + </trans-unit> + <trans-unit id="backend.filter.filter"> + <source><![CDATA[Filter]]></source> + </trans-unit> + <trans-unit id="backend.filter.from"> + <source><![CDATA[Sender address]]></source> + </trans-unit> + <trans-unit id="backend.filter.from_name"> + <source><![CDATA[From name]]></source> + </trans-unit> + <trans-unit id="backend.filter.language"> + <source><![CDATA[Language:]]></source> + </trans-unit> + <trans-unit id="backend.filter.mailtext"> + <source><![CDATA[Mailtext]]></source> + </trans-unit> + <trans-unit id="backend.filter.reply_to"> + <source><![CDATA[Reply to]]></source> + </trans-unit> + <trans-unit id="backend.filter.search"> + <source><![CDATA[Search for:]]></source> + </trans-unit> + <trans-unit id="backend.filter.subject"> + <source><![CDATA[Subject]]></source> + </trans-unit> + <trans-unit id="backend.filter.template"> + <source><![CDATA[Template]]></source> + </trans-unit> + <trans-unit id="backend.filter.to"> + <source><![CDATA[Recipient address]]></source> + </trans-unit> + <trans-unit id="backend.from"> + <source><![CDATA[From]]></source> + </trans-unit> + <trans-unit id="backend.fromAddress"> + <source><![CDATA[Sender Email Address]]></source> + </trans-unit> + <trans-unit id="backend.fromMail"> + <source><![CDATA[Sender Email Address]]></source> + </trans-unit> + <trans-unit id="backend.fromName"> + <source><![CDATA[Sender Name]]></source> + </trans-unit> + <trans-unit id="backend.fromUser"> + <source><![CDATA[From User (overwrites other from fields):]]></source> + </trans-unit> + <trans-unit id="backend.is_overwritten"> + <source><![CDATA[(overwritten)]]></source> + </trans-unit> + <trans-unit id="backend.language_default"> + <source><![CDATA[Default]]></source> + </trans-unit> + <trans-unit id="backend.last_sent"> + <source><![CDATA[Last Sent]]></source> + </trans-unit> + <trans-unit id="backend.mail_queue"> + <source><![CDATA[Mail Queue]]></source> + </trans-unit> + <trans-unit id="backend.marker"> + <source><![CDATA[Marker]]></source> + </trans-unit> + <trans-unit id="backend.marker.type.array"> + <source><![CDATA[Array]]></source> + </trans-unit> + <trans-unit id="backend.marker.type.file"> + <source><![CDATA[File]]></source> + </trans-unit> + <trans-unit id="backend.marker.type.object"> + <source><![CDATA[Object]]></source> + </trans-unit> + <trans-unit id="backend.marker.type.string"> + <source><![CDATA[String]]></source> + </trans-unit> + <trans-unit id="backend.no_extension"> + <source><![CDATA[No template was registered.]]></source> + </trans-unit> + <trans-unit id="backend.no_extensions"> + <source><![CDATA[No extensions registered]]></source> + </trans-unit> + <trans-unit id="backend.no_queue_entries"> + <source><![CDATA[Your filter criteria didn't match any entries.]]></source> + </trans-unit> + <trans-unit id="backend.no_site_root"> + <source><![CDATA[Please select one of the following website roots:]]></source> + </trans-unit> + <trans-unit id="backend.not_sent"> + <source><![CDATA[Not Sent]]></source> + </trans-unit> + <trans-unit id="backend.notice.OtherPages"> + <source><![CDATA[Please select one of the following pages to view your Mail Templates:]]></source> + </trans-unit> + <trans-unit id="backend.priority"> + <source><![CDATA[Priority]]></source> + </trans-unit> + <trans-unit id="backend.queue.blacklisted"> + <source><![CDATA[Blacklisted]]></source> + </trans-unit> + <trans-unit id="backend.replyTo"> + <source><![CDATA[Reply to]]></source> + </trans-unit> + <trans-unit id="backend.save"> + <source><![CDATA[Save]]></source> + </trans-unit> + <trans-unit id="backend.save_template"> + <source><![CDATA[Save]]></source> + </trans-unit> + <trans-unit id="backend.select_language"> + <source><![CDATA[Language (reloads the page):]]></source> + </trans-unit> + <trans-unit id="backend.send_again"> + <source><![CDATA[Send]]></source> + </trans-unit> + <trans-unit id="backend.send_mail_again"> + <source><![CDATA[Send this email again?]]></source> + </trans-unit> + <trans-unit id="backend.send_mail_manually"> + <source><![CDATA[Send this email now?]]></source> + </trans-unit> + <trans-unit id="backend.send_now"> + <source><![CDATA[Send]]></source> + </trans-unit> + <trans-unit id="backend.send_test"> + <source><![CDATA[Save and send preview mails]]></source> + </trans-unit> + <trans-unit id="backend.sending_time"> + <source><![CDATA[Sending Time]]></source> + </trans-unit> + <trans-unit id="backend.sent"> + <source><![CDATA[Sent]]></source> + </trans-unit> + <trans-unit id="backend.showBody"> + <source><![CDATA[Show]]></source> + </trans-unit> + <trans-unit id="backend.subject"> + <source><![CDATA[Subject]]></source> + </trans-unit> + <trans-unit id="backend.success"> + <source><![CDATA[Successfully saved!]]></source> + </trans-unit> + <trans-unit id="backend.success_mail"> + <source><![CDATA[Preview Emails sent]]></source> + </trans-unit> + <trans-unit id="backend.success_mail_queue"> + <source><![CDATA[Email succesfully sent]]></source> + </trans-unit> + <trans-unit id="backend.template_editor"> + <source><![CDATA[Template Editor]]></source> + </trans-unit> + <trans-unit id="backend.template_path"> + <source><![CDATA[Template Path:]]></source> + </trans-unit> + <trans-unit id="backend.template_reset"> + <source><![CDATA[The template was resetted successfully.]]></source> + </trans-unit> + <trans-unit id="backend.to"> + <source><![CDATA[To]]></source> + </trans-unit> + <trans-unit id="backend.toAddress"> + <source><![CDATA[Receiver]]></source> + </trans-unit> + <trans-unit id="backend.to_form"> + <source><![CDATA[To (If set, this overwrites the recipient everytime!) ]]></source> + </trans-unit> + <trans-unit id="backend.type"> + <source><![CDATA[Type]]></source> + </trans-unit> + <trans-unit id="backend.usage"> + <source><![CDATA[Usage in Template]]></source> + </trans-unit> + <trans-unit id="backend.value"> + <source><![CDATA[Example]]></source> + </trans-unit> + <trans-unit id="configuration.excludeTemplates" xml:space="preserve"> + <source><![CDATA[Exclude Mail Templates for certain Domains Example: @@ -261,10 +300,10 @@ Example: In this example the templates sg_mail.exampleA, sg_mail.exampleB are excluded for the page with id = 1 and the template sg_mail.exampleB is excluded for the page with id = 10. -If the given page ids do not exist or are not site roots, the configuration is ignored.</source> - </trans-unit> - <trans-unit id="configuration.excludeTemplatesAllDomains" xml:space="preserve"> - <source>Exclude Mail Templates for all domains:Comma-separated list of {extension_key}.{template_name} +If the given page ids do not exist or are not site roots, the configuration is ignored.]]></source> + </trans-unit> + <trans-unit id="configuration.excludeTemplatesAllDomains" xml:space="preserve"> + <source><![CDATA[Exclude Mail Templates for all domains:Comma-separated list of {extension_key}.{template_name} Example: @@ -272,23 +311,23 @@ sg_comments.declined, sg_comments.approved The templates declined and approved of the sg_comments extension are blacklisted for all domains. -</source> - </trans-unit> - <trans-unit id="configuration.templateList"> - <source>List of templates</source> - </trans-unit> - <trans-unit id="mlang_labels_tabdescr"> - <source>Mail Templates</source> - </trans-unit> - <trans-unit id="mlang_labels_tablabel"> - <source>Mail Templates</source> - </trans-unit> - <trans-unit id="mlang_tabs_tab"> - <source>Mail Templates</source> - </trans-unit> - <trans-unit id="registeredExtension.action.message"> - <source>Extension</source> - </trans-unit> +]]></source> + </trans-unit> + <trans-unit id="configuration.templateList"> + <source><![CDATA[List of templates]]></source> + </trans-unit> + <trans-unit id="mlang_labels_tabdescr"> + <source><![CDATA[Mail Templates]]></source> + </trans-unit> + <trans-unit id="mlang_labels_tablabel"> + <source><![CDATA[Mail Templates]]></source> + </trans-unit> + <trans-unit id="mlang_tabs_tab"> + <source><![CDATA[Mail Templates]]></source> + </trans-unit> + <trans-unit id="registeredExtension.action.message"> + <source><![CDATA[Extension]]></source> + </trans-unit> </body> </file> -</xliff> +</xliff> \ No newline at end of file diff --git a/Resources/Private/Layouts/Default.html b/Resources/Private/Layouts/Default.html index 124ce7a70c43bbe445cae0937409f887912c2d82..acb531dcb55fc8bd282df16db5bee5da9d4d07a9 100644 --- a/Resources/Private/Layouts/Default.html +++ b/Resources/Private/Layouts/Default.html @@ -85,7 +85,7 @@ </f:if> <f:else> <f:if condition="{mode} == 'editor'"> - <sgm:be.menus.actionMenuOptionGroup label="{extensionKey}"> + <sgm:be.menus.actionMenuOptionGroup label="{f:if(condition: '{extensionKey} == \'sg_mail\'', then: '{f:translate(key: \'backend.default_extension_name\')}', else: '{extensionKey}')}"> <f:for each="{template}" as="currentTemplate" key="templateKey"> <sgm:extendedIf condition="{selectedTemplateKey} == {templateKey}" and="{selectedExtensionKey} == {extensionKey}"> @@ -111,6 +111,7 @@ </f:be.menus.actionMenu> </f:if> </div> + <f:render section="iconButtons" /> <div class="module-docheader-bar-column-right"> <f:render partial="ButtonBar" arguments="{buttons:docHeader.buttons.right}" /> </div> diff --git a/Resources/Private/Layouts/NoMenu.html b/Resources/Private/Layouts/NoMenu.html new file mode 100644 index 0000000000000000000000000000000000000000..e8506d26186bc2ff187dfba6b3af0cb1bcf7a256 --- /dev/null +++ b/Resources/Private/Layouts/NoMenu.html @@ -0,0 +1,26 @@ +{namespace sgm=SGalinski\SgMail\ViewHelpers} +<f:be.container enableClickMenu="FALSE" loadExtJs="FALSE" includeCssFiles="{0: '{f:uri.resource(path: \'StyleSheets/backend.css\')}'}" + includeRequireJsModules="{ + 0: 'TYPO3/CMS/Backend/AjaxDataHandler', + 1: '{f:if(condition: \'{typo3Version} < 8000000 \', then: \'TYPO3/CMS/Backend/ClickMenu\', else: \'TYPO3/CMS/Backend/ContextMenu\')}', + 2: 'TYPO3/CMS/Backend/Tooltip', + 3: 'TYPO3/CMS/Backend/DateTimePicker'}"> + <sgm:addJavaScriptFile javaScriptFile="{f:uri.resource(path: 'Scripts/Backend.js')}" /> + <sgm:inlineLanguageLabels labels="backend.delete_template, backend.send_mail_manually, backend.send_mail_again" /> + <div class="module" data-module-id="" data-module-name=""> + <div class="module-docheader t3js-module-docheader"> + <div class="module-docheader-bar module-docheader-bar-navigation t3js-module-docheader-bar t3js-module-docheader-bar-navigation"> + + <div class="module-docheader-bar-column-right"> + <span class="typo3-docheader-pagePath"><f:translate key="LLL:EXT:lang/locallang_core.xlf:labels.path" />: <f:format.raw>{docHeader.metaInformation.path}</f:format.raw></span> + <f:format.raw>{docHeader.metaInformation.recordInformation}</f:format.raw> + </div> + </div> + </div> + </div> + <div id="typo3-docbody"> + <div id="typo3-inner-docbody"> + <f:render section="content" /> + </div> + </div> +</f:be.container> diff --git a/Resources/Private/Layouts/Queue.html b/Resources/Private/Layouts/Queue.html index 8601afa9becb193526025a5c380f867ddd3063a6..7c6117e5d91714d45269b396c21bfd7cc85c2546 100644 --- a/Resources/Private/Layouts/Queue.html +++ b/Resources/Private/Layouts/Queue.html @@ -20,14 +20,14 @@ <sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.mail_queue')}" controller="Queue" action="index" - additionalAttributes="{selected: 'selected'}" - arguments="{parameters: {selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}}" /> + arguments="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}" + additionalAttributes="{selected: 'selected'}" /> </f:then> <f:else> <sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.mail_queue')}" controller="Queue" action="index" - arguments="{parameters: {selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}}" /> + arguments="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}" /> </f:else> </f:if> <f:if condition="{mode} == 'editor'"> @@ -35,14 +35,14 @@ <sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.template_editor')}" controller="Mail" action="index" - arguments="{parameters: {selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}}" + arguments="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}" additionalAttributes="{selected: 'selected'}" /> </f:then> <f:else> <sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.template_editor')}" controller="Mail" action="index" - arguments="{parameters: {selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}}" /> + arguments="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}" /> </f:else> </f:if> </f:be.menus.actionMenu> diff --git a/Resources/Private/Templates/Configuration/Index.html b/Resources/Private/Templates/Configuration/Index.html new file mode 100644 index 0000000000000000000000000000000000000000..9a4dc9456f31fefc081beb978a473e4555fba6eb --- /dev/null +++ b/Resources/Private/Templates/Configuration/Index.html @@ -0,0 +1,49 @@ +{namespace sgm=SGalinski\SgMail\ViewHelpers} +<f:layout name="NoMenu" /> + +<f:section name="iconButtons"> +</f:section> + +<f:section name="content"> + <f:flashMessages /> + <br> + + <div class="row"> + <div class="col-xs-12 col-md-10 col-md-offset-1"> + <div class="panel panel-info"> + <div class="panel-heading"> + <f:translate key="backend.create.info_header" /> + </div> + <div class="panel-body"> + <f:format.html> + <f:translate key="backend.create.info" /> + </f:format.html> + </div> + </div> + </div> + </div> + + <f:form action="create" controller="Configuration" method="post" objectName="configuration" object="{configuration}"> + <div class="row"> + <div class="col-xs-12 col-md-10 col-md-offset-1"> + <div class="form-group"> + <label for="templateName"><f:translate key="backend.create.templateName" /></label> + <f:form.textfield class="form-control" property="templateName" id="templateName" required="TRUE" /> + </div> + <div class="form-group"> + <label for="csv"><f:translate key="backend.create.csv" /></label> + <f:form.textarea rows="5" class="form-control" property="csv" id="csv" /> + </div> + <div class="form-group"> + <label for="subject"><f:translate key="backend.create.subject" /></label> + <f:form.textfield class="form-control" property="subject" id="subject" /> + </div> + <div class="form-group"> + <label for="description"><f:translate key="backend.create.description" /></label> + <f:form.textarea rows="5" class="form-control" property="description" id="description" /> + </div> + <f:form.submit class="btn-primary btn form-group col-xs-12 col-md-2 col-md-offset-10" value="{f:translate(key:'backend.create.save')}" /> + </div> + </div> + </f:form> +</f:section> diff --git a/Resources/Private/Templates/Mail/Index.html b/Resources/Private/Templates/Mail/Index.html index 395407774323aece7f3ab2f38c4a752a7b270c20..cd1d1e721c89e40e6c965084e4dca509129653f3 100644 --- a/Resources/Private/Templates/Mail/Index.html +++ b/Resources/Private/Templates/Mail/Index.html @@ -1,18 +1,24 @@ {namespace sgm=SGalinski\SgMail\ViewHelpers} +{namespace core=TYPO3\CMS\Core\ViewHelpers} <f:layout name="Default" /> <f:section name="iconButtons"> + + <f:link.action class="btn btn-default btn-sm" controller="Configuration" action="index" arguments="{template: selectedTemplateKey, extensionKey: selectedTemplate.extension}"> + <core:icon identifier="actions-document-new" /> + </f:link.action> </f:section> + <f:section name="content"> <f:flashMessages /> <f:if condition="{selectedTemplate}"> <f:then> - <div class="row form-group col-md-12"> - <div class="editor-description col-md-9"> + <div class="row form-group col-md-12 "> + <div class="editor-description col-md-6"> <p>{templateDescription}</p> </div> - <div class=" col-md-3"> + <div class="col-md-3 col-md-offset-3"> <f:link.action class="reset-btn reset-all-btn btn-danger btn col-md-12" action="reset" arguments="{template: selectedTemplateKey, extensionKey: selectedTemplate.extension}">{f:translate(key:'backend.button_reset_all')}</f:link.action> </div> </div> @@ -50,12 +56,16 @@ </f:for> </f:then> <f:else> - <f:translate key="{marker.value}">{marker.value}</f:translate> + <f:if condition="{marker.value}"> + <f:translate key="{marker.value}">{marker.value}</f:translate> + </f:if> </f:else> </f:if> </td> <td> - <f:translate key="{marker.description}">{marker.description}</f:translate> + <f:if condition="{marker.description}"> + <f:translate key="{marker.description}">{marker.description}</f:translate> + </f:if> </td> </tr> </f:for> diff --git a/ext_tables.php b/ext_tables.php index 13e821a25fd190684f0ae60d8b2e227f13d6c06f..a3137964cf470912779e3f4c07d6d93defac1642 100644 --- a/ext_tables.php +++ b/ext_tables.php @@ -12,6 +12,7 @@ if (!defined('TYPO3_MODE')) { [ 'Mail' => 'index, sendTestMail, empty, reset', 'Queue' => 'index, sendMail, export', + 'Configuration' => 'index, create', ], [ 'access' => 'user,group',