Skip to content
Snippets Groups Projects
Commit 38c22f73 authored by Paul Ilea's avatar Paul Ilea
Browse files

Merge branch 'master' into typo3v8compatibility

parents 5a6d5b56 7f5a3088
No related branches found
No related tags found
No related merge requests found
...@@ -25,13 +25,11 @@ namespace SGalinski\SgMail\Controller; ...@@ -25,13 +25,11 @@ namespace SGalinski\SgMail\Controller;
* This copyright notice MUST APPEAR in all copies of the script! * This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/ ***************************************************************/
use SGalinski\SgMail\Domain\Model\Template; use SGalinski\SgMail\Domain\Model\Template;
use SGalinski\SgMail\Service\BackendService;
use SGalinski\SgMail\Service\MailTemplateService; use SGalinski\SgMail\Service\MailTemplateService;
use SGalinski\SgMail\Session\PhpSession; use SGalinski\SgMail\Session\PhpSession;
use TYPO3\CMS\Backend\Template\Components\ButtonBar;
use TYPO3\CMS\Backend\Template\Components\DocHeaderComponent; use TYPO3\CMS\Backend\Template\Components\DocHeaderComponent;
use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Backend\Utility\BackendUtility;
use TYPO3\CMS\Core\Imaging\Icon;
use TYPO3\CMS\Core\Imaging\IconFactory;
use TYPO3\CMS\Core\Messaging\FlashMessage; use TYPO3\CMS\Core\Messaging\FlashMessage;
use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
...@@ -75,6 +73,8 @@ class MailController extends ActionController { ...@@ -75,6 +73,8 @@ class MailController extends ActionController {
* @param string $selectedLanguageRight * @param string $selectedLanguageRight
* @param string $selectedExtensionKey * @param string $selectedExtensionKey
* @param string $selectedTemplateKey * @param string $selectedTemplateKey
* @throws \InvalidArgumentException
* @throws \UnexpectedValueException
*/ */
public function indexAction( public function indexAction(
$selectedTemplate = NULL, $selectedExtension = NULL, $selectedLanguageLeft = NULL, $selectedTemplate = NULL, $selectedExtension = NULL, $selectedLanguageLeft = NULL,
...@@ -223,51 +223,28 @@ class MailController extends ActionController { ...@@ -223,51 +223,28 @@ class MailController extends ActionController {
// create doc header component // create doc header component
$pageUid = (int) GeneralUtility::_GP('id'); $pageUid = (int) GeneralUtility::_GP('id');
$pageInfo = BackendUtility::readPageAccess($pageUid, $GLOBALS['BE_USER']->getPagePermsClause(1)); $pageInfo = BackendUtility::readPageAccess($pageUid, $GLOBALS['BE_USER']->getPagePermsClause(1));
$this->docHeaderComponent = GeneralUtility::makeInstance(DocHeaderComponent::class);
$this->docHeaderComponent->setMetaInformation($pageInfo);
$this->makeButtons();
$this->view->assign('docHeader', $this->docHeaderComponent->docHeaderContent());
$this->view->assign('templateDescription', $templateDescription);
$this->view->assign('selectedTemplate', $selectedTemplateArray);
$this->view->assign('selectedTemplateKey', $selectedTemplate);
$this->view->assign('selectedExtensionKey', $selectedExtension);
$this->view->assign('selectedLanguageLeft', $selectedLanguageLeft);
$this->view->assign('selectedLanguageRight', $selectedLanguageRight);
$this->view->assign('mode', 'editor');
}
/** if ($pageInfo) {
* create buttons for the backend module header $this->docHeaderComponent = GeneralUtility::makeInstance(DocHeaderComponent::class);
*/ $this->docHeaderComponent->setMetaInformation($pageInfo);
private function makeButtons() { BackendService::makeButtons($this->docHeaderComponent, $this->request);
/** @var ButtonBar $buttonBar */
$buttonBar = $this->docHeaderComponent->getButtonBar(); $this->view->assign('docHeader', $this->docHeaderComponent->docHeaderContent());
$this->view->assign('templateDescription', $templateDescription);
/** @var IconFactory $iconFactory */ $this->view->assign('selectedTemplate', $selectedTemplateArray);
$iconFactory = GeneralUtility::makeInstance(IconFactory::class); $this->view->assign('selectedTemplateKey', $selectedTemplate);
$this->view->assign('selectedExtensionKey', $selectedExtension);
// Refresh $this->view->assign('selectedLanguageLeft', $selectedLanguageLeft);
$refreshButton = $buttonBar->makeLinkButton() $this->view->assign('selectedLanguageRight', $selectedLanguageRight);
->setHref(GeneralUtility::getIndpEnv('REQUEST_URI')) $this->view->assign('mode', 'editor');
->setTitle(LocalizationUtility::translate('LLL:EXT:lang/locallang_core.xlf:labels.reload', '')) } else {
->setIcon($iconFactory->getIcon('actions-refresh', Icon::SIZE_SMALL)); $this->view->assign('noPage', '1');
$buttonBar->addButton($refreshButton, ButtonBar::BUTTON_POSITION_RIGHT); $this->addFlashMessage(
LocalizationUtility::translate('backend.notice.OtherPages', 'SgMail'), '', FlashMessage::INFO
// shortcut button );
$shortcutButton = $buttonBar->makeShortcutButton() $this->view->assign('pages', BackendService::getPages());
->setModuleName($this->request->getPluginName()) }
->setGetVariables(
[
'id',
'M'
]
)
->setSetVariables([]);
$buttonBar->addButton($shortcutButton, ButtonBar::BUTTON_POSITION_RIGHT);
$this->docHeaderComponent->getButtonBar();
} }
/** /**
......
<?php
namespace SGalinski\SgMail\Service;
/***************************************************************
* 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 TYPO3\CMS\Backend\Template\Components\ButtonBar;
use TYPO3\CMS\Backend\Template\Components\DocHeaderComponent;
use TYPO3\CMS\Backend\Utility\BackendUtility;
use TYPO3\CMS\Core\Database\DatabaseConnection;
use TYPO3\CMS\Core\Imaging\Icon;
use TYPO3\CMS\Core\Imaging\IconFactory;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Request;
use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
/**
* Backend Service class
*/
class BackendService {
/**
* Get all pages the be user has access to
*
* @return array
* @throws \InvalidArgumentException
*/
public static function getPages() {
/** @var $databaseConnection DatabaseConnection */
$databaseConnection = $GLOBALS['TYPO3_DB'];
$rows = $databaseConnection->exec_SELECTgetRows(
'*',
'pages',
'deleted = 0 AND is_siteroot = 1'
);
return $rows;
}
/**
* create buttons for the backend module header
*
* @param DocHeaderComponent $docHeaderComponent
* @param Request $request
* @throws \InvalidArgumentException
* @throws \UnexpectedValueException
*/
public static function makeButtons($docHeaderComponent, $request) {
/** @var ButtonBar $buttonBar */
$buttonBar = $docHeaderComponent->getButtonBar();
/** @var IconFactory $iconFactory */
$iconFactory = GeneralUtility::makeInstance(IconFactory::class);
// Refresh
$refreshButton = $buttonBar->makeLinkButton()
->setHref(GeneralUtility::getIndpEnv('REQUEST_URI'))
->setTitle(LocalizationUtility::translate('LLL:EXT:lang/locallang_core.xlf:labels.reload', ''))
->setIcon($iconFactory->getIcon('actions-refresh', Icon::SIZE_SMALL));
$buttonBar->addButton($refreshButton, ButtonBar::BUTTON_POSITION_RIGHT);
// shortcut button
$shortcutButton = $buttonBar->makeShortcutButton()
->setModuleName($request->getPluginName())
->setGetVariables(
[
'id',
'M'
]
)
->setSetVariables([]);
$buttonBar->addButton($shortcutButton, ButtonBar::BUTTON_POSITION_RIGHT);
$docHeaderComponent->getButtonBar();
}
}
...@@ -82,13 +82,17 @@ ...@@ -82,13 +82,17 @@
<target>Es wurde noch kein Template registriert.</target> <target>Es wurde noch kein Template registriert.</target>
</trans-unit> </trans-unit>
<trans-unit id="backend.no_queue_entries" approved="yes"> <trans-unit id="backend.no_queue_entries" approved="yes">
<source>There are no Entries in the Mail Queue for this Template.</source> <source>There are no entries in the mail queue for this template.</source>
<target>Es gibt keine Einträge für dieses Template.</target> <target>Es gibt keine Einträge für dieses Template.</target>
</trans-unit> </trans-unit>
<trans-unit id="backend.not_sent" approved="yes"> <trans-unit id="backend.not_sent" approved="yes">
<source>Not Sent</source> <source>Not Sent</source>
<target>Nicht versendet</target> <target>Nicht versendet</target>
</trans-unit> </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"> <trans-unit id="backend.priority" approved="yes">
<source>Priority</source> <source>Priority</source>
<target>Priorität</target> <target>Priorität</target>
......
...@@ -69,6 +69,9 @@ ...@@ -69,6 +69,9 @@
<trans-unit id="backend.not_sent"> <trans-unit id="backend.not_sent">
<source>Not Sent</source> <source>Not Sent</source>
</trans-unit> </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"> <trans-unit id="backend.priority">
<source>Priority</source> <source>Priority</source>
</trans-unit> </trans-unit>
......
...@@ -9,90 +9,90 @@ ...@@ -9,90 +9,90 @@
<authorEmail>torsten@sgalinski.de</authorEmail> <authorEmail>torsten@sgalinski.de</authorEmail>
</header> </header>
<body> <body>
<trans-unit id="tx_sgmail_domain_model_mail"> <trans-unit id="tx_sgmail_domain_model_mail">
<source>Mail Queue Entry</source> <source>Mail Queue Entry</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.bcc_addresses"> <trans-unit id="tx_sgmail_domain_model_mail.bcc_addresses">
<source>BCC Addresses</source> <source>BCC Addresses</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.cc_addresses"> <trans-unit id="tx_sgmail_domain_model_mail.cc_addresses">
<source>CC Addresses</source> <source>CC Addresses</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.extension_key"> <trans-unit id="tx_sgmail_domain_model_mail.extension_key">
<source>Extension Key</source> <source>Extension Key</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.from_address"> <trans-unit id="tx_sgmail_domain_model_mail.from_address">
<source>Sender email address</source> <source>Sender email address</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.from_name"> <trans-unit id="tx_sgmail_domain_model_mail.from_name">
<source>Sender Name</source> <source>Sender Name</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.mail_body"> <trans-unit id="tx_sgmail_domain_model_mail.mail_body">
<source>Mail text</source> <source>Mail text</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.mail_subject"> <trans-unit id="tx_sgmail_domain_model_mail.mail_subject">
<source>Mail subject</source> <source>Mail subject</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.priority"> <trans-unit id="tx_sgmail_domain_model_mail.priority">
<source>Priority (Lowest = 0 | Low = 50 | Medium = 100 | High = 150 | Highest = 200)</source> <source>Priority (Lowest = 0 | Low = 50 | Medium = 100 | High = 150 | Highest = 200)</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.reply_to"> <trans-unit id="tx_sgmail_domain_model_mail.reply_to">
<source>Reply To</source> <source>Reply To</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.sending_time"> <trans-unit id="tx_sgmail_domain_model_mail.sending_time">
<source>Sent at</source> <source>Sent at</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.sent"> <trans-unit id="tx_sgmail_domain_model_mail.sent">
<source>Sent</source> <source>Sent</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.template_name"> <trans-unit id="tx_sgmail_domain_model_mail.template_name">
<source>Template Name</source> <source>Template Name</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.to_address"> <trans-unit id="tx_sgmail_domain_model_mail.to_address">
<source>Receiver email address</source> <source>Receiver email address</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template"> <trans-unit id="tx_sgmail_domain_model_template">
<source>Template</source> <source>Template</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.bcc"> <trans-unit id="tx_sgmail_domain_model_template.bcc">
<source>BCC (Blind Carbon Copy Receiver)</source> <source>BCC (Blind Carbon Copy Receiver)</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.bcc_addresses"> <trans-unit id="tx_sgmail_domain_model_template.bcc_addresses">
<source>BCC-Adressen</source> <source>BCC-Adressen</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.cc"> <trans-unit id="tx_sgmail_domain_model_template.cc">
<source>CC (Carbon Copy Receiver)</source> <source>CC (Carbon Copy Receiver)</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.cc_addresses"> <trans-unit id="tx_sgmail_domain_model_template.cc_addresses">
<source>CC-Adressen</source> <source>CC-Adressen</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.content"> <trans-unit id="tx_sgmail_domain_model_template.content">
<source>Content</source> <source>Content</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.extension_key"> <trans-unit id="tx_sgmail_domain_model_template.extension_key">
<source>Extension Key</source> <source>Extension Key</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.fromMail"> <trans-unit id="tx_sgmail_domain_model_template.fromMail">
<source>Sender-E-Mail-Address</source> <source>Sender-E-Mail-Address</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.fromName"> <trans-unit id="tx_sgmail_domain_model_template.fromName">
<source>Sender Name</source> <source>Sender Name</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.from_name"> <trans-unit id="tx_sgmail_domain_model_template.from_name">
<source>Sender Name</source> <source>Sender Name</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.language"> <trans-unit id="tx_sgmail_domain_model_template.language">
<source>Language</source> <source>Language</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.replyTo"> <trans-unit id="tx_sgmail_domain_model_template.replyTo">
<source>Reply To</source> <source>Reply To</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.subject"> <trans-unit id="tx_sgmail_domain_model_template.subject">
<source>Subject</source> <source>Subject</source>
</trans-unit> </trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.template_name"> <trans-unit id="tx_sgmail_domain_model_template.template_name">
<source>Template Name</source> <source>Template Name</source>
</trans-unit> </trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>
\ No newline at end of file
...@@ -6,104 +6,119 @@ ...@@ -6,104 +6,119 @@
<div class="module" data-module-id="" data-module-name=""> <div class="module" data-module-id="" data-module-name="">
<div class="module-docheader t3js-module-docheader"> <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 module-docheader-bar-navigation t3js-module-docheader-bar t3js-module-docheader-bar-navigation">
<div class="module-docheader-bar-column-left"> <f:if condition="{noPage}">
<f:be.menus.actionMenu> <f:then></f:then>
<f:if condition="{mode} == 'queue'"> <f:else>
<f:then> <div class="module-docheader-bar-column-left">
<sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.mail_queue')}"
controller="Queue"
action="index"
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="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}" />
</f:else>
</f:if>
<f:if condition="{mode} == 'editor'">
<f:then>
<sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.template_editor')}"
controller="Mail"
action="index"
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="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}" />
</f:else>
</f:if>
</f:be.menus.actionMenu>
</div>
<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 class="module-docheader-bar module-docheader-bar-buttons t3js-module-docheader-bar t3js-module-docheader-bar-buttons">
<div class="module-docheader-bar-column-left">
<div class="btn-toolbar" role="toolbar" aria-label="">
<f:if condition="{templates}">
<f:be.menus.actionMenu> <f:be.menus.actionMenu>
<f:for each="{templates}" as="template" key="extensionKey"> <f:if condition="{mode} == 'queue'">
<f:if condition="{mode} == 'queue'"> <f:then>
<sgm:be.menus.actionMenuOptionGroup label="{extensionKey}"> <sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.mail_queue')}"
<f:for each="{template}" as="currentTemplate" key="templateKey"> controller="Queue"
<sgm:extendedIf condition="{selectedTemplateKey} == {templateKey}" action="index"
and="{selectedExtensionKey} == {extensionKey}"> arguments="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}"
<f:then> additionalAttributes="{selected: 'selected'}" />
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}" </f:then>
controller="Queue"
action="index"
arguments="{selectedTemplate: templateKey, selectedExtension: extensionKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}"
controller="Queue"
action="index"
arguments="{selectedTemplate: templateKey, selectedExtension: extensionKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
</sgm:be.menus.actionMenuOptionGroup>
</f:if>
<f:else> <f:else>
<f:if condition="{mode} == 'editor'"> <sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.mail_queue')}"
<sgm:be.menus.actionMenuOptionGroup label="{extensionKey}"> controller="Queue"
<f:for each="{template}" as="currentTemplate" key="templateKey"> action="index"
<sgm:extendedIf condition="{selectedTemplateKey} == {templateKey}" arguments="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}" />
and="{selectedExtensionKey} == {extensionKey}">
<f:then>
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}"
controller="Mail"
action="index"
arguments="{selectedTemplate: templateKey, selectedExtension: extensionKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}"
controller="Mail"
action="index"
arguments="{selectedTemplate: templateKey, selectedExtension: extensionKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
</sgm:be.menus.actionMenuOptionGroup>
</f:if>
</f:else> </f:else>
</f:for> </f:if>
<f:if condition="{mode} == 'editor'">
<f:then>
<sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.template_editor')}"
controller="Mail"
action="index"
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="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}" />
</f:else>
</f:if>
</f:be.menus.actionMenu> </f:be.menus.actionMenu>
</f:if> </div>
</div> <div class="module-docheader-bar-column-right">
</div> <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>
</f:else>
</f:if>
</div>
<div class="module-docheader-bar module-docheader-bar-buttons t3js-module-docheader-bar t3js-module-docheader-bar-buttons">
<f:if condition="{noPage}">
<f:then></f:then>
<f:else>
<div class="module-docheader-bar-column-left">
<div class="btn-toolbar" role="toolbar" aria-label="">
<f:if condition="{templates}">
<f:be.menus.actionMenu>
<f:for each="{templates}" as="template" key="extensionKey">
<f:if condition="{mode} == 'queue'">
<sgm:be.menus.actionMenuOptionGroup label="{extensionKey}">
<f:for each="{template}" as="currentTemplate" key="templateKey">
<sgm:extendedIf condition="{selectedTemplateKey} == {templateKey}"
and="{selectedExtensionKey} == {extensionKey}">
<f:then>
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}"
controller="Queue"
action="index"
arguments="{selectedTemplate: templateKey, selectedExtension: extensionKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}"
controller="Queue"
action="index"
arguments="{selectedTemplate: templateKey, selectedExtension: extensionKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
</sgm:be.menus.actionMenuOptionGroup>
</f:if>
<f:else>
<f:if condition="{mode} == 'editor'">
<sgm:be.menus.actionMenuOptionGroup label="{extensionKey}">
<f:for each="{template}" as="currentTemplate" key="templateKey">
<sgm:extendedIf condition="{selectedTemplateKey} == {templateKey}"
and="{selectedExtensionKey} == {extensionKey}">
<f:then>
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}"
controller="Mail"
action="index"
arguments="{selectedTemplate: templateKey, selectedExtension: extensionKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}"
controller="Mail"
action="index"
arguments="{selectedTemplate: templateKey, selectedExtension: extensionKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
</sgm:be.menus.actionMenuOptionGroup>
</f:if>
</f:else>
</f:for>
</f:be.menus.actionMenu>
</f:if>
</div>
</div>
</f:else>
</f:if>
<div class="module-docheader-bar-column-right"> <div class="module-docheader-bar-column-right">
<f:render partial="ButtonBar" arguments="{buttons:docHeader.buttons.right}" /> <f:if condition="{noPage}">
<f:then></f:then>
<f:else>
<f:render partial="ButtonBar" arguments="{buttons:docHeader.buttons.right}" />
</f:else>
</f:if>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -6,205 +6,232 @@ ...@@ -6,205 +6,232 @@
</f:section> </f:section>
<f:section name="content"> <f:section name="content">
<f:flashMessages renderMode="div" /> <f:flashMessages renderMode="div" />
<f:if condition="{selectedTemplate}"> <f:if condition="{noPage}">
<f:then> <f:then>
<div class="form-group col-md-6"> <f:if condition="{pages}">
<p>{templateDescription}</p> <div class="panel panel-default recordlist">
</div> <div class="table-fit">
<div class="form-group col-md-2 col-md-offset-3"> <table data-table="pages" class="table table-striped table-hover">
<f:link.action class="reset-btn reset-all-btn btn-danger btn form-group" action="reset" arguments="{template: selectedTemplateKey, extensionKey: selectedTemplate.extension}">{f:translate(key:'backend.button_reset_all')}</f:link.action> <tbody>
</div> <f:for each="{pages}" as="page">
<div class="col-md-12"> <tr data-uid="{page.uid}">
<table class="table table-hover"> <td nowrap="nowrap" class="col-title">
<thead> <a href="#" onclick="sgMailGoToPage({page.uid}); return false;">
<tr> <sgm:backend.icon table="pages" row="{page}" clickMenu="0" />
<th><f:translate key="backend.marker" /></th> {page.title}
<th><f:translate key="backend.type" /></th> </a>
<th><f:translate key="backend.value" /></th> </td>
<th><f:translate key="backend.usage" /></th> </tr>
<th><f:translate key="backend.description" /></th> </f:for>
</tr> </tbody>
</thead> </table>
<f:for each="{selectedTemplate.marker}" as="marker">
<tr>
<td>{marker.marker}</td>
<td>
<f:if condition="{marker.type}">
<f:then>
<f:translate key="{marker.type}">{marker.type}</f:translate>
</f:then>
<f:else>
<f:translate key="backend.marker.type.string" />
</f:else>
</f:if>
</td>
<td>
<f:if condition="{sgm:isArray(value: '{marker.value}')}">
<f:then>
<f:for each="{marker.value}" as="value" key="key">
{key}: {value}
<br />
</f:for>
</f:then>
<f:else>
<f:translate key="{marker.value}">{marker.value}</f:translate>
</f:else>
</f:if>
</td>
<td>
<f:if condition="{marker.usage}">
<f:then>
{marker.usage}
</f:then>
<f:else>
<![CDATA[{]]>{marker.marker}<![CDATA[}]]>
</f:else>
</f:if>
</td>
<td>
<f:translate key="{marker.description}">{marker.description}</f:translate>
</td>
</tr>
</f:for>
</table>
</div>
<f:form class="col-md-12" method="post" controller="Mail" action="sendTestMail">
<f:form.submit class="btn-primary btn form-group" value="{f:translate(key:'backend.send_test')}" />
<f:form.textfield name="emailAddress" type="email" required="TRUE" class="email-input form-group" placeholder="{f:translate(key:'backend.email')}" />
<f:form.hidden name="selectedLanguageLeft" value="{selectedLanguageLeft}"></f:form.hidden>
<f:form.hidden name="selectedLanguageRight" value="{selectedLanguageRight}"></f:form.hidden>
<f:form.hidden name="selectedTemplate" value="{selectedTemplateKey}"></f:form.hidden>
<f:form.hidden name="selectedExtensionKey" value="{selectedTemplate.extension}"></f:form.hidden>
<f:form.hidden name="selectedExtension" value="{selectedTemplate.extension}"></f:form.hidden>
<f:form.hidden name="selectedTemplateKey" value="{selectedTemplateKey}"></f:form.hidden>
</f:form>
<f:form method="post" controller="Mail" action="save">
<div class="col-md-12 form-group">
<f:form.submit class="btn-save-backend btn-success btn col-md-2 form-group" value="{f:translate(key:'backend.save')}" />
</div>
<div class="col-md-6">
<div class="form-group">
<label class="">{f:translate(key:'backend.select_language')}</label>
<f:be.menus.actionMenu>
<f:for each="{languages}" as="language">
<sgm:extendedIf condition="{language} == {selectedLanguageLeft}">
<f:then>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: language, selectedLanguageRight: selectedLanguageRight, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedExtension: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: language, selectedLanguageRight: selectedLanguageRight, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedExtension: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
</f:be.menus.actionMenu>
</div>
<div class="form-group">
<f:link.action class="reset-btn btn-danger btn form-group" action="reset" arguments="{template: selectedTemplateKey, language: selectedLanguageLeft, extensionKey: selectedTemplate.extension}">{f:translate(key:'backend.button_reset')}</f:link.action>
</div>
<div class="form-group">
<label for="fromNameLeft" class="">{f:translate(key:'backend.fromName')}</label>
<f:form.textfield type="text" class="form-control" value="{fromNameLeft}" name="fromNameLeft"></f:form.textfield>
</div>
<div class="form-group">
<label for="fromMailLeft" class="">{f:translate(key:'backend.fromMail')}</label>
<f:form.textfield type="email" class="form-control" value="{fromMailLeft}" name="fromMailLeft"></f:form.textfield>
</div>
<div class="form-group">
<label for="ccLeft" class="">{f:translate(key:'backend.cc')}</label>
<f:form.textfield type="text" class="form-control" value="{ccLeft}" name="ccLeft"></f:form.textfield>
</div>
<div class="form-group">
<label for="bccLeft" class="">{f:translate(key:'backend.bcc')}</label>
<f:form.textfield type="text" class="form-control" value="{bccLeft}" name="bccLeft"></f:form.textfield>
</div> </div>
<div class="form-group">
<label for="replyToLeft" class="">{f:translate(key:'backend.replyTo')}</label>
<f:form.textfield type="text" class="form-control" value="{replyToLeft}" name="replyToLeft"></f:form.textfield>
</div>
<div class="form-group">
<label for="subjectLeft" class="">{f:translate(key:'backend.subject')}</label>
<f:form.textfield type="text" class="form-control" value="{subjectLeft}" name="subjectLeft"></f:form.textfield>
</div>
<label for="contentLeft" class="">{f:translate(key:'backend.content')}</label>
<f:form.textarea class="form-control" rows="25" name="contentLeft" value="{contentLeft}"></f:form.textarea>
<f:form.hidden name="selectedLanguageLeft" value="{selectedLanguageLeft}"></f:form.hidden>
<f:form.hidden name="selectedLanguageRight" value="{selectedLanguageRight}"></f:form.hidden>
<f:form.hidden name="selectedTemplate" value="{selectedTemplateKey}"></f:form.hidden>
<f:form.hidden name="selectedExtensionKey" value="{selectedTemplate.extension}"></f:form.hidden>
<f:form.hidden name="selectedExtension" value="{selectedTemplate.extension}"></f:form.hidden>
<f:form.hidden name="selectedTemplateKey" value="{selectedTemplateKey}"></f:form.hidden>
</div> </div>
</f:if>
<div class="col-md-6">
<div class="form-group">
<label class="">{f:translate(key:'backend.select_language')}</label>
<f:be.menus.actionMenu>
<f:for each="{languages}" as="language">
<sgm:extendedIf condition="{language} == {selectedLanguageRight}">
<f:then>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: selectedLanguageLeft, selectedLanguageRight: language, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedExtension: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: selectedLanguageLeft, selectedLanguageRight: language, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedExtension: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
</f:be.menus.actionMenu>
</div>
<div class="form-group">
<f:link.action class="reset-btn btn-danger btn form-group" action="reset" arguments="{template: selectedTemplateKey, language: selectedLanguageRight, extensionKey: selectedTemplate.extension}">{f:translate(key:'backend.button_reset')}</f:link.action>
</div>
<div class="form-group">
<label for="fromNameRight" class="">{f:translate(key:'backend.fromName')}</label>
<f:form.textfield type="text" class="form-control" value="{fromNameRight}" name="fromNameRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="fromMailRight" class="">{f:translate(key:'backend.fromMail')}</label>
<f:form.textfield type="email" class="form-control" value="{fromMailRight}" name="fromMailRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="ccRight" class="">{f:translate(key:'backend.cc')}</label>
<f:form.textfield type="text" class="form-control" value="{ccRight}" name="ccRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="bccRight" class="">{f:translate(key:'backend.bcc')}</label>
<f:form.textfield type="text" class="form-control" value="{bccRight}" name="bccRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="replyToRight" class="">{f:translate(key:'backend.replyTo')}</label>
<f:form.textfield type="text" class="form-control" value="{replyToRight}" name="replyToRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="subjectRight" class="">{f:translate(key:'backend.subject')}</label>
<f:form.textfield type="text" class=" form-control" value="{subjectRight}" name="subjectRight"></f:form.textfield>
</div>
<label for="contentRight" class="">{f:translate(key:'backend.content')}</label>
<f:form.textarea class="form-control" rows="25" name="contentRight" value="{contentRight}"></f:form.textarea>
</div>
<div class="col-md-2">
<div class="form-group">
<f:form.submit class="btn-save-backend btn-success btn form-control" value="{f:translate(key:'backend.save')}" />
</div>
</div>
</f:form>
</f:then> </f:then>
<f:else> <f:else>
<f:render partial="Mail/Empty" /> <f:if condition="{selectedTemplate}">
</f:else> <f:then>
<div class="form-group col-md-6">
<p>{templateDescription}</p>
</div>
<div class="form-group col-md-2 col-md-offset-3">
<f:link.action class="reset-btn reset-all-btn btn-danger btn form-group" action="reset" arguments="{template: selectedTemplateKey, extensionKey: selectedTemplate.extension}">{f:translate(key:'backend.button_reset_all')}</f:link.action>
</div>
<div class="col-md-12">
<table class="table table-hover">
<thead>
<tr>
<th><f:translate key="backend.marker" /></th>
<th><f:translate key="backend.type" /></th>
<th><f:translate key="backend.value" /></th>
<th><f:translate key="backend.usage" /></th>
<th><f:translate key="backend.description" /></th>
</tr>
</thead>
<f:for each="{selectedTemplate.marker}" as="marker">
<tr>
<td>{marker.marker}</td>
<td>
<f:if condition="{marker.type}">
<f:then>
<f:translate key="{marker.type}">{marker.type}</f:translate>
</f:then>
<f:else>
<f:translate key="backend.marker.type.string" />
</f:else>
</f:if>
</td>
<td>
<f:if condition="{sgm:isArray(value: '{marker.value}')}">
<f:then>
<f:for each="{marker.value}" as="value" key="key">
{key}: {value}
<br />
</f:for>
</f:then>
<f:else>
<f:translate key="{marker.value}">{marker.value}</f:translate>
</f:else>
</f:if>
</td>
<td>
<f:if condition="{marker.usage}">
<f:then>
{marker.usage}
</f:then>
<f:else>
<![CDATA[{]]>{marker.marker}<![CDATA[}]]>
</f:else>
</f:if>
</td>
<td>
<f:translate key="{marker.description}">{marker.description}</f:translate>
</td>
</tr>
</f:for>
</table>
</div>
<f:form class="col-md-12" method="post" controller="Mail" action="sendTestMail">
<f:form.submit class="btn-primary btn form-group" value="{f:translate(key:'backend.send_test')}" />
<f:form.textfield name="emailAddress" type="email" required="TRUE" class="email-input form-group" placeholder="{f:translate(key:'backend.email')}" />
<f:form.hidden name="selectedLanguageLeft" value="{selectedLanguageLeft}"></f:form.hidden>
<f:form.hidden name="selectedLanguageRight" value="{selectedLanguageRight}"></f:form.hidden>
<f:form.hidden name="selectedTemplate" value="{selectedTemplateKey}"></f:form.hidden>
<f:form.hidden name="selectedExtensionKey" value="{selectedTemplate.extension}"></f:form.hidden>
<f:form.hidden name="selectedExtension" value="{selectedTemplate.extension}"></f:form.hidden>
<f:form.hidden name="selectedTemplateKey" value="{selectedTemplateKey}"></f:form.hidden>
</f:form>
<f:form method="post" controller="Mail" action="save">
<div class="col-md-12 form-group">
<f:form.submit class="btn-save-backend btn-success btn col-md-2 form-group" value="{f:translate(key:'backend.save')}" />
</div>
<div class="col-md-6">
<div class="form-group">
<label class="">{f:translate(key:'backend.select_language')}</label>
<f:be.menus.actionMenu>
<f:for each="{languages}" as="language">
<sgm:extendedIf condition="{language} == {selectedLanguageLeft}">
<f:then>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: language, selectedLanguageRight: selectedLanguageRight, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedExtension: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: language, selectedLanguageRight: selectedLanguageRight, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedExtension: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
</f:be.menus.actionMenu>
</div>
<div class="form-group">
<f:link.action class="reset-btn btn-danger btn form-group" action="reset" arguments="{template: selectedTemplateKey, language: selectedLanguageLeft, extensionKey: selectedTemplate.extension}">{f:translate(key:'backend.button_reset')}</f:link.action>
</div>
<div class="form-group">
<label for="fromNameLeft" class="">{f:translate(key:'backend.fromName')}</label>
<f:form.textfield type="text" class="form-control" value="{fromNameLeft}" name="fromNameLeft"></f:form.textfield>
</div>
<div class="form-group">
<label for="fromMailLeft" class="">{f:translate(key:'backend.fromMail')}</label>
<f:form.textfield type="email" class="form-control" value="{fromMailLeft}" name="fromMailLeft"></f:form.textfield>
</div>
<div class="form-group">
<label for="ccLeft" class="">{f:translate(key:'backend.cc')}</label>
<f:form.textfield type="text" class="form-control" value="{ccLeft}" name="ccLeft"></f:form.textfield>
</div>
<div class="form-group">
<label for="bccLeft" class="">{f:translate(key:'backend.bcc')}</label>
<f:form.textfield type="text" class="form-control" value="{bccLeft}" name="bccLeft"></f:form.textfield>
</div>
<div class="form-group">
<label for="replyToLeft" class="">{f:translate(key:'backend.replyTo')}</label>
<f:form.textfield type="text" class="form-control" value="{replyToLeft}" name="replyToLeft"></f:form.textfield>
</div>
<div class="form-group">
<label for="subjectLeft" class="">{f:translate(key:'backend.subject')}</label>
<f:form.textfield type="text" class="form-control" value="{subjectLeft}" name="subjectLeft"></f:form.textfield>
</div>
<label for="contentLeft" class="">{f:translate(key:'backend.content')}</label>
<f:form.textarea class="form-control" rows="25" name="contentLeft" value="{contentLeft}"></f:form.textarea>
<f:form.hidden name="selectedLanguageLeft" value="{selectedLanguageLeft}"></f:form.hidden>
<f:form.hidden name="selectedLanguageRight" value="{selectedLanguageRight}"></f:form.hidden>
<f:form.hidden name="selectedTemplate" value="{selectedTemplateKey}"></f:form.hidden>
<f:form.hidden name="selectedExtensionKey" value="{selectedTemplate.extension}"></f:form.hidden>
<f:form.hidden name="selectedExtension" value="{selectedTemplate.extension}"></f:form.hidden>
<f:form.hidden name="selectedTemplateKey" value="{selectedTemplateKey}"></f:form.hidden>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="">{f:translate(key:'backend.select_language')}</label>
<f:be.menus.actionMenu>
<f:for each="{languages}" as="language">
<sgm:extendedIf condition="{language} == {selectedLanguageRight}">
<f:then>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: selectedLanguageLeft, selectedLanguageRight: language, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedExtension: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: selectedLanguageLeft, selectedLanguageRight: language, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedExtension: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
</f:be.menus.actionMenu>
</div>
<div class="form-group">
<f:link.action class="reset-btn btn-danger btn form-group" action="reset" arguments="{template: selectedTemplateKey, language: selectedLanguageRight, extensionKey: selectedTemplate.extension}">{f:translate(key:'backend.button_reset')}</f:link.action>
</div>
<div class="form-group">
<label for="fromNameRight" class="">{f:translate(key:'backend.fromName')}</label>
<f:form.textfield type="text" class="form-control" value="{fromNameRight}" name="fromNameRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="fromMailRight" class="">{f:translate(key:'backend.fromMail')}</label>
<f:form.textfield type="email" class="form-control" value="{fromMailRight}" name="fromMailRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="ccRight" class="">{f:translate(key:'backend.cc')}</label>
<f:form.textfield type="text" class="form-control" value="{ccRight}" name="ccRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="bccRight" class="">{f:translate(key:'backend.bcc')}</label>
<f:form.textfield type="text" class="form-control" value="{bccRight}" name="bccRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="replyToRight" class="">{f:translate(key:'backend.replyTo')}</label>
<f:form.textfield type="text" class="form-control" value="{replyToRight}" name="replyToRight"></f:form.textfield>
</div>
<div class="form-group">
<label for="subjectRight" class="">{f:translate(key:'backend.subject')}</label>
<f:form.textfield type="text" class=" form-control" value="{subjectRight}" name="subjectRight"></f:form.textfield>
</div>
<label for="contentRight" class="">{f:translate(key:'backend.content')}</label>
<f:form.textarea class="form-control" rows="25" name="contentRight" value="{contentRight}"></f:form.textarea>
</div>
<div class="col-md-2">
<div class="form-group">
<f:form.submit class="btn-save-backend btn-success btn form-control" value="{f:translate(key:'backend.save')}" />
</div>
</div>
</f:form>
</f:then>
<f:else>
<f:render partial="Mail/Empty" />
</f:else>
</f:if>
</f:else>
</f:if> </f:if>
</f:section> </f:section>
...@@ -64,3 +64,26 @@ function setHighlight(id) { // ...@@ -64,3 +64,26 @@ function setHighlight(id) { //
top.content.nav_frame.refresh_nav(); top.content.nav_frame.refresh_nav();
} }
} }
/**
* Switches to the spefied page in the BE
*
* @param {number} uid
*/
function sgMailGoToPage(uid) {
top.nav.invokePageId(uid,gotToPageCallback);
}
/**
* Callback for page selection in the pagetree
*
* @param {number} uid
*/
function gotToPageCallback(path){
var callback = top.Ext.createDelegate(top.nav.mainTree.selectPath, top.nav.mainTree);
callback.apply(this, arguments);
var node = top.nav.getSelected();
if (node) {
top.TYPO3.Components.PageTree.Actions.singleClick(node, top.TYPO3.Components.PageTree.Tree);
}
}
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
"license": [ "license": [
"GPL-2.0+" "GPL-2.0+"
], ],
"version": "2.0.7", "version": "2.0.9",
"repositories": [ "repositories": [
{ {
"type": "composer", "type": "composer",
......
...@@ -8,7 +8,7 @@ $EM_CONF['sg_mail'] = array ( ...@@ -8,7 +8,7 @@ $EM_CONF['sg_mail'] = array (
'title' => 'Mail Templates', 'title' => 'Mail Templates',
'description' => 'Mail Templates', 'description' => 'Mail Templates',
'category' => 'module', 'category' => 'module',
'version' => '2.0.7', 'version' => '2.0.9',
'state' => 'stable', 'state' => 'stable',
'uploadfolder' => false, 'uploadfolder' => false,
'createDirs' => '', 'createDirs' => '',
......
...@@ -14,7 +14,7 @@ if (!defined('TYPO3_MODE')) { ...@@ -14,7 +14,7 @@ if (!defined('TYPO3_MODE')) {
'Queue' => 'index, sendMail', 'Queue' => 'index, sendMail',
], ],
[ [
'access' => 'admin,user,group', 'access' => 'user,group',
'icon' => 'EXT:sg_mail/Resources/Public/Icons/ModuleIcon.svg', 'icon' => 'EXT:sg_mail/Resources/Public/Icons/ModuleIcon.svg',
'labels' => 'LLL:EXT:sg_mail/Resources/Private/Language/locallang.xlf', 'labels' => 'LLL:EXT:sg_mail/Resources/Private/Language/locallang.xlf',
] ]
......
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