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

Merge branch 'new_version_4_1' into 'master'

New version 4 1

See merge request !3
parents 284119d3 7adf9692
No related branches found
No related tags found
1 merge request!3New version 4 1
Showing
with 740 additions and 355 deletions
......@@ -9,14 +9,23 @@
<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.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 all languages for this template(!!!)</source>
<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>
......@@ -33,9 +42,69 @@
<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>
......@@ -45,6 +114,18 @@
<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>
......@@ -63,8 +144,14 @@
<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>There are no entries in the mail queue for this template.</source>
<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>
......@@ -84,14 +171,20 @@
<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>Send Preview Mail (Save First!)</source>
<source>Save and send preview mails</source>
</trans-unit>
<trans-unit id="backend.sending_time">
<source>Sending Time</source>
......@@ -100,7 +193,7 @@
<source>Sent</source>
</trans-unit>
<trans-unit id="backend.showBody">
<source>Show Mail</source>
<source>Show</source>
</trans-unit>
<trans-unit id="backend.subject">
<source>Subject</source>
......@@ -109,7 +202,7 @@
<source>Successfully saved!</source>
</trans-unit>
<trans-unit id="backend.success_mail">
<source>Preview Email sent</source>
<source>Preview Emails sent</source>
</trans-unit>
<trans-unit id="backend.success_mail_queue">
<source>Email succesfully sent</source>
......@@ -123,17 +216,23 @@
<trans-unit id="backend.template_reset">
<source>The template was resetted successfully.</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.to">
<source>To</source>
</trans-unit>
<trans-unit id="backend.toAddress">
<source>Receiver</source>
</trans-unit>
<trans-unit id="backend.type">
<source>Marker Type</source>
<source>Type</source>
</trans-unit>
<trans-unit id="backend.usage">
<source>Usage in Template</source>
</trans-unit>
<trans-unit id="backend.value">
<source>Example Value</source>
<source>Example</source>
</trans-unit>
<trans-unit id="mlang_labels_tabdescr">
<source>Mail Templates</source>
......
......@@ -27,6 +27,12 @@
<trans-unit id="tx_sgmail_domain_model_mail.from_name">
<source>Sender Name</source>
</trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.language">
<source>Language</source>
</trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.last_sending_time">
<source>Last sent</source>
</trans-unit>
<trans-unit id="tx_sgmail_domain_model_mail.mail_body">
<source>Mail text</source>
</trans-unit>
......@@ -96,6 +102,9 @@
<trans-unit id="tx_sgmail_domain_model_template.template_name">
<source>Template Name</source>
</trans-unit>
<trans-unit id="tx_sgmail_domain_model_template.toAddress">
<source>To Address</source>
</trans-unit>
</body>
</file>
</xliff>
\ No newline at end of file
......@@ -9,106 +9,116 @@
<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-left">
<f:be.menus.actionMenu>
<f:if condition="{mode} == 'queue'">
<f:then>
<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:if condition="{pages}">
<f:then></f:then>
<f:else>
<div class="module-docheader-bar-column-left">
<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:if condition="{mode} == 'queue'">
<f:then>
<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>
<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>
<sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.mail_queue')}"
controller="Queue"
action="index"
arguments="{selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}" />
</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:if>
</div>
</div>
</div>
</f:else>
</f:if>
<div class="module-docheader-bar-column-right">
<f:render partial="ButtonBar" arguments="{buttons:docHeader.buttons.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>
<f:if condition="{pages}">
<f:then></f:then>
<f:else>
<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: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="{parameters: {selectedTemplate: templateKey, selectedExtension: extensionKey}}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}"
controller="Queue"
action="index"
arguments="{parameters: {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="{parameters: {selectedTemplate: templateKey, selectedExtension: extensionKey}}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{currentTemplate.templateName}"
controller="Mail"
action="index"
arguments="{parameters: {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>
<div class="module-docheader-bar-column-right">
<f:render partial="ButtonBar" arguments="{buttons:docHeader.buttons.right}" />
</div>
</div>
</f:else>
</f:if>
</div>
</div>
<div id="typo3-docbody">
......
{namespace sgm=SGalinski\SgMail\ViewHelpers}
<f:be.container>
<div id="typo3-docbody">
<div id="typo3-inner-docbody">
<f:render section="content" />
</div>
</div>
</f:be.container>
{namespace sgm=SGalinski\SgMail\ViewHelpers}
<f:be.container enableClickMenu="FALSE" loadExtJs="TRUE" loadJQuery="TRUE" 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">
<f:if condition="{pages}">
<f:then></f:then>
<f:else>
<div class="module-docheader-bar-column-left">
<f:be.menus.actionMenu>
<f:if condition="{mode} == 'queue'">
<f:then>
<sgm:be.menus.actionMenuItem label="{f:translate(key:'backend.mail_queue')}"
controller="Queue"
action="index"
additionalAttributes="{selected: 'selected'}"
arguments="{parameters: {selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}}" />
</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}}" />
</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="{parameters: {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}}" />
</f:else>
</f:if>
</f:be.menus.actionMenu>
</div>
</f:else>
</f:if>
<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>
<p>
{f:translate(key:'backend.no_extension')}
</p>
<div class="row">
<p>
<h3>{f:translate(key:'backend.no_site_root')}</h3>
</p>
</div>
{namespace sgm=SGalinski\SgMail\ViewHelpers}
<f:form action="index" controller="Queue" method="post" objectName="filters" object="{filters}">
<div class="row">
<div class="col-xs-12 col-md-4">
<div class="form-group">
<label for="filter-search"><f:translate key="backend.filter.search" /></label>
<f:form.textfield class="reset-me form-control" property="filterSearch" id="filter-search" />
</div>
<div class="form-group">
<label for="filterTemplate"><f:translate key="backend.filter.template" /></label>
<f:comment>
<f:form.select class="form-control" multiple="0" size="1" property="filterTemplate" optionValueField="key" options="{templatesFilter}" id="filter-template" />
</f:comment>
<select class="form-control" property="filterTemplate" id="filterTemplate" name="filterTemplate">
<f:for each="{templatesFilter}" as="extension" key="extensionKey">
<f:if condition="{extensionKey}">
<f:then>
<sgm:be.menus.actionMenuOptionGroup label="{extensionKey}">
<f:for each="{extension}" as="template">
<sgm:extendedIf condition="{selectedTemplateFilter} == {template}"
and="{selectedExtensionFilter} == {extensionKey}">
<f:then>
<option value="{extensionKey}###{template}" selected="selected">
{template}
</option>
</f:then>
<f:else>
<option value="{extensionKey}###{template}">
{template}
</option>
</f:else>
</sgm:extendedIf>
</f:for>
</sgm:be.menus.actionMenuOptionGroup>
</f:then>
<f:else>
<option></option>
</f:else>
</f:if>
</f:for>
</select>
</div>
<div class="form-group">
<label for="filter-languages"><f:translate key="backend.filter.language" /></label>
<f:form.select class="form-control" multiple="0" size="1" property="filterLanguage" optionValueField="key" options="{languages}" id="filter-languages" />
</div>
</div>
<div class="col-xs-12 col-md-4">
<div class="form-group">
<label for="filter-fields">
<f:translate key="backend.filters.fields" />
<f:translate key="backend.filter.fields.description" />
</label>
<f:form.select class="form-control" multiple="1" size="9" property="filterFields" optionValueField="value" options="{filterFields}" id="filter-fields" />
</div>
</div>
<div class="col-xs-12 col-md-4">
<div class="input-group form-group" style="width: 100%; display: block;">
<label for="filter-to-date">
<f:translate key="backend.filter.date_from" />
</label>
<div class="form-control-clearable">
<f:form.textfield property="filterFromDate" id="filter-from-date" data="{date-type: 'datetime'}" class="reset-me form-control t3js-datetimepicker t3js-clearable hasDefaultValue" />
<button type="button" class="close" tabindex="-1" aria-hidden="true" style="display: none;">
<span class="fa fa-times"></span>
</button>
</div>
<span class="input-group-btn">
<label class="btn btn-default" for="filter-from-date">
<span class="t3js-icon icon icon-size-small icon-state-default icon-actions-edit-pick-date" data-identifier="actions-edit-pick-date">
<span class="icon-markup">
<img src="/typo3/sysext/core/Resources/Public/Icons/T3Icons/actions/actions-edit-pick-date.svg" width="16" height="16">
</span>
</span>
</label>
</span>
</div>
<div class="input-group form-group" style="width: 100%; display: block;">
<label for="filter-to-date">
<f:translate key="backend.filter.date_to" />
</label>
<div class="form-control-clearable">
<f:form.textfield property="filterToDate" id="filter-to-date" data="{date-type: 'datetime'}" class="reset-me form-control t3js-datetimepicker t3js-clearable hasDefaultValue" />
<button type="button" class="close" tabindex="-1" aria-hidden="true" style="display: none;">
<span class="fa fa-times"></span>
</button>
</div>
<span class="input-group-btn">
<label class="btn btn-default" for="filter-to-date">
<span class="t3js-icon icon icon-size-small icon-state-default icon-actions-edit-pick-date" data-identifier="actions-edit-pick-date">
<span class="icon-markup">
<img src="/typo3/sysext/core/Resources/Public/Icons/T3Icons/actions/actions-edit-pick-date.svg" width="16" height="16">
</span>
</span>
</label>
</span>
</div>
<div class="form-group">
<label class="radio-inline">
<f:form.radio property="filterSent" id="filters-all" value="0" checked="{f:if(condition: '{filters.filterSent} == \'0\'', then: '1')}" />
<f:translate key="backend.all" />
</label>
<label class="radio-inline">
<f:form.radio property="filterSent" id="filters-sent" value="1" checked="{f:if(condition: '{filters.filterSent} == \'1\'', then: '1')}" />
<f:translate key="backend.sent" />
</label>
<label class="radio-inline">
<f:form.radio property="filterSent" id="filters-notsent" value="2" checked="{f:if(condition: '{filters.filterSent} == \'2\'', then: '1')}" />
<f:translate key="backend.not_sent" />
</label>
</div>
<div class="form-group row">
<div class="col-md-12">
<f:form.button class="filter-btn btn btn-success form-group col-xs-12 col-md-12" type="submit">
<f:translate key="backend.filter.filter" />
</f:form.button>
<f:form.button class="filter-btn btn btn-info form-group col-xs-12 col-md-12" type="submit" name="action" value="export">
<f:translate key="backend.button_download_csv" />
</f:form.button>
<f:form.button id="filter-reset-btn" class="filter-btn btn btn-danger form-group col-xs-12 col-md-12" type="reset">
<f:translate key="backend.button_reset_filter" />
</f:form.button>
</div>
</div>
</div>
</div>
</f:form>
<f:layout name="Empty" />
<f:section name="content">
<div class="alert alert-warning">
{f:translate(key:'backend.no_extensions')}
</div>
</f:section>
......@@ -6,204 +6,168 @@
</f:section>
<f:section name="content">
<f:flashMessages />
<br />
<f:if condition="{selectedTemplate}">
<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 name="selectedLanguageRight" value="{selectedLanguageRight}" />
<f:form.hidden name="selectedTemplate" value="{selectedTemplateKey}" />
<f:form.hidden name="selectedExtensionKey" value="{selectedTemplate.extension}" />
<f:form.hidden name="selectedExtension" value="{selectedTemplate.extension}" />
<f:form.hidden name="selectedTemplateKey" value="{selectedTemplateKey}" />
</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 class="row form-group col-md-12">
<div class=" col-md-10">
<p>{templateDescription}</p>
</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" />
</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" />
</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" />
</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" />
</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" />
</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" />
</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.hidden name="selectedLanguageLeft" value="{selectedLanguageLeft}" />
<f:form.hidden name="selectedLanguageRight" value="{selectedLanguageRight}" />
<f:form.hidden name="selectedTemplate" value="{selectedTemplateKey}" />
<f:form.hidden name="selectedExtensionKey" value="{selectedTemplate.extension}" />
<f:form.hidden name="selectedExtension" value="{selectedTemplate.extension}" />
<f:form.hidden name="selectedTemplateKey" value="{selectedTemplateKey}" />
<div class=" col-md-2">
<f:link.action class="reset-btn reset-all-btn btn-danger btn" style="width: 100%;" action="reset" arguments="{template: selectedTemplateKey, extensionKey: selectedTemplate.extension}">{f:translate(key:'backend.button_reset_all')}</f:link.action>
</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>
</div>
<div class="col-md-12 row">
<div class="col-md-12">
<div class="form-group">
<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>
</f:be.menus.actionMenu>
</table>
</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" />
</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" />
</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" />
</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" />
</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" />
</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" />
</div>
<label for="contentRight" class="">{f:translate(key:'backend.content')}</label>
<f:form.textarea class="form-control" rows="25" name="contentRight" value="{contentRight}" />
</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>
</div>
<div class="row col-md-12 form-group">
<f:form method="post" controller="Mail" action="sendTestMail">
<div class="col-md-12 form-group">
<f:form.submit class="btn-primary btn form-group" value="{f:translate(key:'backend.send_test')}" />
<f:form.textfield name="parameters[emailAddress]" class="email-input form-group" value="{beUserMail}" />
<f:form.hidden name="parameters[selectedTemplate]" value="{selectedTemplateKey}" />
<f:form.hidden name="parameters[selectedExtensionKey]" value="{selectedTemplate.extension}" />
<f:form.hidden name="parameters[selectedExtension]" value="{selectedTemplate.extension}" />
<f:form.hidden name="parameters[selectedTemplateKey]" value="{selectedTemplateKey}" />
</div>
<f:for each="{languageTemplates}" as="languageTemplate" key="key">
<div class="template-col col-md-{colspace}">
<f:for each="{languageLabels}" as="label" key="innerKey">
<f:if condition="{key} == {innerKey}">
<h3>
<f:if condition="{key}=='default'">
<f:then>
{defaultLanguageLabel}
</f:then>
<f:else>
{label}
</f:else>
</f:if>
<f:if condition="{languageTemplate.isOverwritten}">
<f:translate key="backend.is_overwritten" />
</f:if>
</h3>
</f:if>
</f:for>
<div class="col-md-12">
<div class="row form-group">
<label for="parameters[templates][{key}][fromName]" class="">{f:translate(key:'backend.fromName')}</label>
<f:form.textfield type="text" class="form-control" value="{languageTemplate.fromName}" name="parameters[templates][{key}][fromName]" />
</div>
<div class="row form-group">
<label for="parameters[templates][{key}][fromMail]" class="">{f:translate(key:'backend.fromMail')}</label>
<f:form.textfield type="email" class="form-control" value="{languageTemplate.fromMail}" name="parameters[templates][{key}][fromMail]" />
</div>
<div class="row form-group">
<label for="parameters[templates][{key}][toAddress]" class="">{f:translate(key:'backend.to_form')}</label>
<f:form.textfield type="text" class="form-control" value="{languageTemplate.toAddress}" name="parameters[templates][{key}][toAddress]" />
</div>
<div class="row form-group">
<label for="parameters[templates][{key}][cc]" class="">{f:translate(key:'backend.cc')}</label>
<f:form.textfield type="text" class="form-control" value="{languageTemplate.cc}" name="parameters[templates][{key}][cc]" />
</div>
<div class="row form-group">
<label for="parameters[templates][{key}][bcc]" class="">{f:translate(key:'backend.bcc')}</label>
<f:form.textfield type="text" class="form-control" value="{languageTemplate.bcc}" name="parameters[templates][{key}][bcc]" />
</div>
<div class="row form-group">
<label for="parameters[templates][{key}][replyTo]" class="">{f:translate(key:'backend.replyTo')}</label>
<f:form.textfield type="text" class="form-control" value="{languageTemplate.replyTo}" name="parameters[templates][{key}][replyTo]" />
</div>
<div class="row form-group">
<label for="parameters[templates][{key}][subject]" class="">{f:translate(key:'backend.subject')}</label>
<f:form.textfield type="text" class="form-control" value="{languageTemplate.subject}" name="parameters[templates][{key}][subject]" />
</div>
<div class="row form-group">
<label for="parameters[templates][{key}][content]" class="">{f:translate(key:'backend.content')}</label>
<f:form.textarea class="form-control" rows="15" name="parameters[templates][{key}][content]" value="{languageTemplate.content}" />
</div>
</div>
</div>
</f:for>
</f:form>
</div>
</f:then>
<f:else>
<f:render partial="Mail/Empty" />
</f:else>
</f:if>
<f:if condition="{pages}">
<div class="row">
<div class="panel panel-default recordlist">
<div class="table-fit">
<table data-table="pages" class="table table-striped table-hover">
<tbody>
<f:for each="{pages}" as="page">
<tr data-uid="{page.pid}">
<td nowrap="nowrap" class="col-title">
<a href="#" onclick="sgMailGoToPage({page.uid}); return false;">
<sgm:backend.icon table="pages" row="{page}" clickMenu="0" />
{page._thePathFull}
</a>
</td>
</tr>
</f:for>
</tbody>
</table>
</div>
</div>
</div>
</f:if>
</f:section>
{namespace sgm=SGalinski\SgMail\ViewHelpers}
<f:layout name="Default" />
<f:layout name="Queue" />
<f:section name="iconButtons">
</f:section>
<f:section name="content">
<f:flashMessages/>
<f:flashMessages />
<f:render partial="Queue/Filter" arguments="{filterFields: filterFields, filters: filters, languages: languages, templatesFilter: templatesFilter, selectedTemplateFilter: selectedTemplateFilter, selectedExtensionFilter: selectedExtensionFilter}" />
<f:if condition="{queue -> f:count()} > 0">
<f:then>
<div class="panel panel-default recordlist">
<div class="table-fit">
<table data-table="tx_sgmail_domain_model_mail" class="table table-striped table-hover">
<sgm:backend.widget.paginate objects="{queue}" as="paginatedMails" configuration="{insertAbove: 1, itemsPerPage: 20}">
<thead>
<tr>
<th></th>
<th><f:translate key="backend.from" /> <br> <f:translate key="backend.to" /></th>
<th><f:translate key="backend.filter.extension" />:
<f:translate key="backend.filter.template" /> <br>
<f:translate key="backend.subject" /></th>
<th><f:translate key="backend.entry_date" /> <br>
<f:translate key="backend.last_sent" /></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<f:for each="{paginatedMails}" as="mail">
{sgm:backend.editOnClick(table: 'tx_sgmail_domain_model_mail', uid: mail.uid) -> sgm:set(name: 'editOnClick') -> f:format.raw()}
......@@ -22,69 +36,75 @@
<sgm:backend.icon table="tx_sgmail_domain_model_mail" row="{mail}" />
</f:format.raw>
</td>
<td nowrap="nowrap">
<a href="#" onclick="{editOnClick}">
<span>{mail.from_address} -> {mail.to_address}, {mail.mail_subject}</span>
</a>
<td>
<span>{mail.from_address}</span>
<hr>
<span>{mail.to_address}</span>
</td>
<td nowrap="nowrap" class="col-control">
<f:format.raw>
<sgm:backend.control table="tx_sgmail_domain_model_mail" row="{mail}" />
</f:format.raw>
<td>
<span>{mail.extension_key}: {mail.template_name}</span>
<hr>
<f:if condition="{mail.mail_subject}">
<f:then>
<span><f:format.crop maxCharacters="40" append="...">{mail.mail_subject}</f:format.crop></span>
</f:then>
<f:else>
&nbsp;
</f:else>
</f:if>
</td>
<td>
<f:if condition="{mail.sent} == '0'">
<span><f:format.date format="d.m.Y H:i">{mail.crdate}</f:format.date></span>
<hr>
<f:if condition="{mail.last_sending_time} != 0">
<f:then>
<f:link.action class="btn btn-default btn-send-now" controller="Queue" action="sendMail" arguments="{uid: mail.uid}">
<span class="t3js-icon icon icon-size-small icon-state-default actions-document-import-t3d">
<span class="icon-markup">
<img src="/typo3/sysext/core/Resources/Public/Icons/T3Icons/actions/actions-document-import-t3d.svg" width="16" height="16">
</span>
</span>
Send Now
</f:link.action>
<span><f:format.date format="d.m.Y H:i">{mail.last_sending_time}</f:format.date></span>
</f:then>
<f:else>
<f:link.action class="btn btn-default btn-resend" controller="Queue" action="sendMail" arguments="{uid: mail.uid}">
<span class="t3js-icon icon icon-size-small icon-state-default icon-actions-insert-reference">
<span class="icon-markup">
<img src="/typo3/sysext/core/Resources/Public/Icons/T3Icons/actions/actions-insert-reference.svg" width="16" height="16">
</span>
</span>
Send Again
</f:link.action>
<f:translate key="backend.not_sent" />
</f:else>
</f:if>
</td>
<td nowrap="nowrap" class="col-control">
<f:format.raw>
<sgm:backend.control table="tx_sgmail_domain_model_mail" row="{mail}" />
</f:format.raw>
</td>
<td>
<f:link.action class="btn btn-default btn-send-now" controller="Queue" action="sendMail" arguments="{uid: mail.uid, selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}">
<span class="t3js-icon icon icon-size-small icon-state-default actions-document-import-t3d">
<span class="icon-markup">
<img src="/typo3/sysext/core/Resources/Public/Icons/T3Icons/actions/actions-document-import-t3d.svg" width="16" height="16">
</span>
</span>
<f:translate key="backend.send_now" />
</f:link.action>
<a class="btn btn-default btn-toggle" data-uid="{mail.uid}">
<span class="t3js-icon icon icon-size-small icon-state-default actions-document-view">
<span class="icon-markup">
<img src="/typo3/sysext/core/Resources/Public/Icons/T3Icons/actions/actions-document-view.svg" width="16" height="16">
</span>
<span class="t3js-icon icon icon-size-small icon-state-default actions-document-view">
<span class="icon-markup">
<img src="/typo3/sysext/core/Resources/Public/Icons/T3Icons/actions/actions-document-view.svg" width="16" height="16">
</span>
</span>
<f:translate key="backend.showBody" />
</a>
</td>
</tr><!-- Modal -->
<div class="modal fade" id="toggle-{mail.uid}" tabindex="-1" role="dialog" aria-labelledby="login-modal-label">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="login-modal-label">{mail.mail_subject}</h4>
</div>
<div class="modal-body" id="login-modal-body">
<div class="modalcol modalcol-left">
<f:format.html>
{mail.mail_body}
</f:format.html>
<div class="modal fade" id="toggle-{mail.uid}" tabindex="-1" role="dialog" aria-labelledby="login-modal-label">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="login-modal-label">{mail.mail_subject}</h4>
</div>
<div class="modal-body" id="login-modal-body">
<div class="modalcol modalcol-left">
<f:format.html>{mail.mail_body}</f:format.html>
</div>
</div>
</div>
</div>
</div>
</div>
</f:for>
</tbody>
</sgm:backend.widget.paginate>
......@@ -96,4 +116,24 @@
<f:render partial="Queue/Empty" />
</f:else>
</f:if>
<f:if condition="{pages}">
<div class="panel panel-default recordlist">
<div class="table-fit">
<table data-table="pages" class="table table-striped table-hover">
<tbody>
<f:for each="{pages}" as="page">
<tr data-uid="{page.pid}">
<td nowrap="nowrap" class="col-title">
<a href="#" onclick="sgMailGoToPage({page.uid}); return false;">
<sgm:backend.icon table="pages" row="{page}" clickMenu="0" />
{page._thePathFull}
</a>
</td>
</tr>
</f:for>
</tbody>
</table>
</div>
</div>
</f:if>
</f:section>
......@@ -4,7 +4,7 @@
<f:if condition="{configuration.insertAbove}">
<thead>
<tr>
<td colspan="6">
<td colspan="10">
<f:render section="paginator" arguments="{pagination: pagination, position:'top', recordsLabel: configuration.recordsLabel}" />
</td>
</tr>
......@@ -16,7 +16,7 @@
<f:if condition="{configuration.insertBelow}">
<tfoot>
<tr>
<td colspan="6">
<td colspan="10">
<f:render section="paginator" arguments="{pagination: pagination, position:'bottom', recordsLabel: configuration.recordsLabel}" />
</td>
</tr>
......
......@@ -28,7 +28,7 @@
function toggleMailBody(_event) {
var uid = $(_event.currentTarget).data('uid');
$('#toggle-' + uid).detach().appendTo('body').modal('show');;
$('#toggle-' + uid).detach().appendTo('body').modal('show');
}
$(document).ready(function() {
......@@ -36,6 +36,18 @@
$('.btn-send-now').on('click', sendMailListener);
$('.btn-resend').on('click', resendMailListener);
$('.btn-toggle').on('click', toggleMailBody);
$('#filter-reset-btn').on('click', function(event) {
event.preventDefault();
this.form.reset();
$(this).closest('form').find('select').each(function() {
this.selectedIndex = 0;
});
$('.reset-me').val('');
$('#filters-all').attr('checked', true);
this.form.submit();
});
});
})
(TYPO3.jQuery);
......@@ -71,7 +83,7 @@ function setHighlight(id) { //
* @param {number} uid
*/
function sgMailGoToPage(uid) {
top.nav.invokePageId(uid,gotToPageCallback);
top.nav.invokePageId(uid, gotToPageCallback);
}
/**
......@@ -79,7 +91,7 @@ function sgMailGoToPage(uid) {
*
* @param {number} uid
*/
function gotToPageCallback(path){
function gotToPageCallback(path) {
var callback = top.Ext.createDelegate(top.nav.mainTree.selectPath, top.nav.mainTree);
callback.apply(this, arguments);
var node = top.nav.getSelected();
......
......@@ -15,8 +15,8 @@
.f3-widget-paginator {
display: inline-block;
border-radius: 4px;
margin: 20px 0px;
padding-left: 0px;
margin: 20px 0;
padding-left: 0;
background-color: red;
}
......@@ -45,7 +45,7 @@
.f3-widget-paginator > li:first-child > a,
.f3-widget-paginator > li.current:first-child {
margin-left: 0px;
margin-left: 0;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
......@@ -54,4 +54,29 @@
.f3-widget-paginator > li.current:last-child {
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.template-col:nth-of-type(even) {
/*background-color: #DCDCDC;*/
/*background-clip: content-box;*/
}
.template-col:nth-of-type(odd) {
/*background-color: #AAA;*/
/*background-clip: content-box;*/
}
.recordlist hr {
margin: 5px 0;
border-top: 1px solid #EAEAEA;
}
.recordlist-mail-unsent {
background-color: #CCC !important;
}
.filter-btn {
width: auto;
min-width: 100px;
margin-right: 10px;
}
\ No newline at end of file
......@@ -36,10 +36,25 @@ $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['extbase']['commandControllers'][] =
\SGalinski\SgMail\Command\SendMailCommandController::class;
// add upgrade wizard for moving all db entries to their respected siteroot
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']['tx_sgmail_migrate_data'] = \SGalinski\SgMail\Updates\MigrateData::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']['tx_sgmail_update_pid_to_site_root'] = \SGalinski\SgMail\Updates\UpdatePidToSiteRoot::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']['tx_sgmail_update_sending_times'] = \SGalinski\SgMail\Updates\UpdateSendingTimes::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']['tx_sgmail_update_languages'] = \SGalinski\SgMail\Updates\UpdateLanguages::class;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']['tx_sgmail_update_german_as_default'] = \SGalinski\SgMail\Updates\UpdateGermanAsDefault::class;
if (TYPO3_MODE === 'BE') {
$tsPath = $extPath . 'Configuration/TypoScript/';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(file_get_contents($tsPath . 'setup.ts'));
}
// Cache registration
$cacheName = \SGalinski\SgMail\Service\MailTemplateService::CACHE_NAME;
if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations'][$cacheName])) {
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations'][$cacheName] = [];
}
if (!isset($TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cacheName]['groups'])) {
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cacheName]['groups'] = [
'citypower'
];
}
......@@ -10,8 +10,8 @@ if (!defined('TYPO3_MODE')) {
'Mail',
'',
[
'Mail' => 'index, save, sendTestMail, empty, reset',
'Queue' => 'index, sendMail',
'Mail' => 'index, sendTestMail, empty, reset',
'Queue' => 'index, sendMail, export',
],
[
'access' => 'user,group',
......
......@@ -9,13 +9,13 @@ CREATE TABLE tx_sgmail_domain_model_mail (
from_name varchar(255) DEFAULT '' NOT NULL,
cc_addresses varchar(255) DEFAULT '' NOT NULL,
bcc_addresses varchar(255) DEFAULT '' NOT NULL,
sent tinyint(1) DEFAULT '0' NOT NULL,
priority int(11) unsigned DEFAULT '0' NOT NULL,
extension_key varchar(30) DEFAULT '' NOT NULL,
template_name varchar(30) DEFAULT '' NOT NULL,
reply_to varchar(30) DEFAULT '' NOT NULL,
extension_key varchar(255) DEFAULT '' NOT NULL,
template_name varchar(255) DEFAULT '' NOT NULL,
reply_to varchar(255) DEFAULT '' NOT NULL,
sending_time int(11) unsigned DEFAULT '0' NOT NULL,
site_root_id int(11) unsigned DEFAULT '0' NOT NULL,
last_sending_time int(11) unsigned DEFAULT '0' NOT NULL,
language varchar(255) DEFAULT '' NOT NULL,
tstamp int(11) unsigned DEFAULT '0' NOT NULL,
crdate int(11) unsigned DEFAULT '0' NOT NULL,
......@@ -33,12 +33,12 @@ CREATE TABLE tx_sgmail_domain_model_template (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
site_root_id int(11) unsigned DEFAULT '0' NOT NULL,
subject text NOT NULL,
extension_key varchar(255) DEFAULT '' NOT NULL,
template_name varchar(255) DEFAULT '' NOT NULL,
from_name varchar(255) DEFAULT '' NOT NULL,
from_mail varchar(255) DEFAULT '' NOT NULL,
to_address varchar(255) DEFAULT '' NOT NULL,
cc varchar(255) DEFAULT '' NOT NULL,
bcc varchar(255) DEFAULT '' NOT NULL,
reply_to varchar(255) DEFAULT '' NOT NULL,
......
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