first commit
This commit is contained in:
commit
1218dd1517
12716 files changed
+989233
No files matched your search
@@ -0,0 +1,10 @@
|
||||
<span class="avatar">
|
||||
<span class="avatar-image">
|
||||
{image -> f:format.raw()}
|
||||
</span>
|
||||
<f:if condition="{showIcon}">
|
||||
<span class="avatar-icon">
|
||||
<core:iconForRecord table="be_users" row="{backendUser}" size="small" />
|
||||
</span>
|
||||
</f:if>
|
||||
</span>
|
||||
@@ -0,0 +1,21 @@
|
||||
<div class="scaffold t3js-scaffold {f:if(condition: '!{moduleMenuCollapsed}', then: 'scaffold-modulemenu-expanded')}">
|
||||
<div class="t3js-scaffold-header">
|
||||
<f:format.raw>{topbar}</f:format.raw>
|
||||
</div>
|
||||
<div class="scaffold-modulemenu t3js-scaffold-modulemenu">
|
||||
<div class="modulemenu t3js-modulemenu">
|
||||
<f:format.raw>{moduleMenu}</f:format.raw>
|
||||
</div>
|
||||
</div>
|
||||
<div class="scaffold-content t3js-scaffold-content">
|
||||
<div class="scaffold-content-navigation t3js-scaffold-content-navigation">
|
||||
<div class="scaffold-content-navigation-component" data-component="typo3-navigationIframe">
|
||||
<iframe name="nav_frame" src="about:blank" id="typo3-navigationContainerIframe" scrolling="no" class="scaffold-content-navigation-iframe t3js-scaffold-content-navigation-iframe"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
<div class="scaffold-content-module t3js-scaffold-content-module">
|
||||
<iframe name="list_frame" id="typo3-contentIframe" scrolling="no" class="scaffold-content-module-iframe t3js-scaffold-content-module-iframe"></iframe>
|
||||
</div>
|
||||
<div class="scaffold-content-overlay t3js-scaffold-content-overlay"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,33 @@
|
||||
<form action="" id="clipboard_form">
|
||||
<a name="clip_head"></a>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<f:format.raw>{clipboardHeader}</f:format.raw>
|
||||
</div>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td colspan="2" class="nowrap" width="95%">
|
||||
<f:render partial="Clipboard/CopymodeSelector" arguments="{_all}"/>
|
||||
<f:if condition="{elementCount}">
|
||||
<f:render partial="Clipboard/MenuSelector" arguments="{_all}"/>
|
||||
</f:if>
|
||||
</td>
|
||||
<td class="col-control nowrap">
|
||||
<f:if condition="{elementCount}">
|
||||
<a href="{removeAllUrl}#clip_head"
|
||||
title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.clear')}" class="btn btn-danger">
|
||||
<f:format.raw><core:icon identifier="actions-remove" alternativeMarkupIdentifier="inline"></core:icon></f:format.raw>
|
||||
</a>
|
||||
</f:if>
|
||||
</td>
|
||||
</tr>
|
||||
<f:for each="{tabArray}" as="tab" key="key">
|
||||
<f:render partial="Clipboard/Tab" arguments="{tab: tab, current: current, currentMode: currentMode}"/>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
+219
@@ -0,0 +1,219 @@
|
||||
<f:if condition="{accessAllowed}">
|
||||
<f:then>
|
||||
<h1>
|
||||
<f:if condition="{table}">
|
||||
<small>{table}</small><br />{icon -> f:format.raw()}
|
||||
<span title="{title}">{title -> f:format.crop(maxCharacters: maxTitleLength)}</span>
|
||||
</f:if>
|
||||
</h1>
|
||||
<f:if condition="{missingFile}">
|
||||
<f:be.infobox title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:warning.file_missing')}" state="1">{missingFile}</f:be.infobox>
|
||||
</f:if>
|
||||
<f:if condition="{fileRenderer}">
|
||||
<p>
|
||||
{fileRenderer -> f:format.raw()}
|
||||
</p>
|
||||
</f:if>
|
||||
<f:if condition="{fileObject}">
|
||||
<p>
|
||||
<f:media file="{fileObject}"
|
||||
width="{width}"
|
||||
height="{height}"
|
||||
/>
|
||||
</p>
|
||||
</f:if>
|
||||
<f:if condition="{url}">
|
||||
<p>
|
||||
<a class="btn btn-default" href="{url}" target="_blank">
|
||||
<core:icon identifier="actions-document-view" size="small" alternativeMarkupIdentifier="inline" />
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.show" />
|
||||
</a>
|
||||
</p>
|
||||
</f:if>
|
||||
<div class="table-fit table-fit-wrap">
|
||||
<table class="table table-striped table-hover">
|
||||
<f:for each="{extraFields}" as="extraField">
|
||||
<f:render section="extraFieldRow" arguments="{row: extraField}" />
|
||||
</f:for>
|
||||
<f:for each="{fields}" as="field">
|
||||
<f:render section="fieldRow" arguments="{row: field}" />
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
<f:if condition="{returnUrl}">
|
||||
<a class="btn btn-primary" href="{returnUrl}">
|
||||
<core:icon identifier="actions-view-go-back" size="small" />
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:back" />
|
||||
</a>
|
||||
</f:if>
|
||||
<f:if condition="{refLines}">
|
||||
<h3><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.referencesToThisItem" /></h3>
|
||||
<div class="table-fit">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-icon"></th>
|
||||
<th class="col-title"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.title" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.table" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.uid" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.path" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.field" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.flexpointer" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.softrefKey" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.sorting" /></th>
|
||||
<th class="col-control"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<f:for each="{refLines}" as="refLine">
|
||||
<f:render section="refLineRow" arguments="{line: refLine, maxTitleLength: maxTitleLength}" />
|
||||
</f:for>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{refFromLines}">
|
||||
<h3><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.referencesFromThisItem" /></h3>
|
||||
<div class="table-fit">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-icon"></th>
|
||||
<th class="col-title"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.title" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.table" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.uid" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.path" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.field" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.flexpointer" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.softrefKey" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.sorting" /></th>
|
||||
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.refString" /></th>
|
||||
<th class="col-control"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<f:for each="{refFromLines}" as="refFromLine">
|
||||
<f:render section="refFromLineRow" arguments="{line: refFromLine, maxTitleLength: maxTitleLength}" />
|
||||
</f:for>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:be.infobox state="2">{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.noEditPermission')}</f:be.infobox>
|
||||
</f:else>
|
||||
</f:if>
|
||||
|
||||
|
||||
|
||||
<f:section name="extraFieldRow">
|
||||
<tr>
|
||||
<th class="col-nowrap">{row.fieldLabel}</th>
|
||||
<td>
|
||||
<f:if condition="{row.creatorRecord}">
|
||||
<div class="media">
|
||||
<div class="media-left">
|
||||
{row.creatorRecord.icon -> f:format.raw()}
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<strong>{row.creatorRecord.username}</strong><br>
|
||||
{row.creatorRecord.realName}
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{row.value}">
|
||||
{row.value}
|
||||
</f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</f:section>
|
||||
|
||||
<f:section name="fieldRow">
|
||||
<tr>
|
||||
<th class="col-nowrap">{row.fieldLabel}</th>
|
||||
<td>{row.fieldValue}</td>
|
||||
</tr>
|
||||
</f:section>
|
||||
|
||||
<f:section name="refLineRow">
|
||||
<tr>
|
||||
<f:if condition="{line.record}">
|
||||
<f:then>
|
||||
<td class="col-icon"><a href="{line.url}" title="id={line.record.uid}">{line.icon -> f:format.raw()}</a></td>
|
||||
<td class="col-title"><a href="{line.url}" title="[id={line.record.uid}] {line.recordTitle}">{line.recordTitle -> f:format.crop(maxCharacters: maxTitleLength)}</a></td>
|
||||
<td>{line.title}</td>
|
||||
<td><span title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:page')}: {line.parentRecordTitle} (uid={line.record.pid})">
|
||||
{line.record.uid}
|
||||
</span></td>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<td class="col-icon"></td>
|
||||
<td class="col-title"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.missing_record" /> (uid={line.row.recuid}</td>
|
||||
<td>{line.row.title}</td>
|
||||
<td></td>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<td title="{line.path}" class="col-responsive">{line.path}</td>
|
||||
<td>{line.labelForTableColumn}</td>
|
||||
<td>{line.row.flexpointer}</td>
|
||||
<td>{line.row.softref_key}</td>
|
||||
<td>{line.row.sorting}</td>
|
||||
<td class="col-control">
|
||||
<f:render section="action" arguments="{line: line.actions}" />
|
||||
</td>
|
||||
</tr>
|
||||
</f:section>
|
||||
|
||||
<f:section name="refFromLineRow">
|
||||
<tr>
|
||||
<f:if condition="{line.record}">
|
||||
<f:then>
|
||||
<td class="col-icon"><a href="{line.url}" title="id={line.record.uid}">{line.icon -> f:format.raw()}</a></td>
|
||||
<td class="col-title"><a href="{line.url}" title="[id={line.record.uid}] {line.recordTitle}">{line.recordTitle -> f:format.crop(maxCharacters: maxTitleLength)}</a></td>
|
||||
<td>{line.title}</td>
|
||||
<td>{line.row.ref_uid}</td>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<td class="col-icon"></td>
|
||||
<td class="col-title"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.missing_record" /> (uid={line.row.recuid}</td>
|
||||
<td>{line.row.title}</td>
|
||||
<td></td>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<td title="{line.path}" class="col-responsive">{line.path}</td>
|
||||
<td>{line.labelForTableColumn}</td>
|
||||
<td>{line.row.flexpointer}</td>
|
||||
<td>{line.row.softref_key}</td>
|
||||
<td>{line.row.sorting}</td>
|
||||
<td>{line.row.ref_string}</td>
|
||||
<td class="col-control">
|
||||
<f:render section="action" arguments="{line: line.actions}" />
|
||||
</td>
|
||||
</tr>
|
||||
</f:section>
|
||||
|
||||
<f:section name="action">
|
||||
<div class="btn-group" role="group">
|
||||
<f:if condition="{line.webListUrl}">
|
||||
<a class="btn btn-default btn-sm" href="#" onclick="{line.viewOnClick}" title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.showPage')}">
|
||||
<core:icon identifier="actions-document-view" size="small" />
|
||||
</a>
|
||||
</f:if>
|
||||
<a class="btn btn-default btn-sm" href="{line.recordEditUrl}">
|
||||
<core:icon identifier="actions-open" size="small" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-group" role="group">
|
||||
<a class="btn btn-default btn-sm" href="{line.recordHistoryUrl}">
|
||||
<core:icon identifier="actions-document-history-open" size="small" />
|
||||
</a>
|
||||
</div>
|
||||
<f:if condition="{line.webListUrl}">
|
||||
<div class="btn-group" role="group">
|
||||
<a class="btn btn-default btn-sm" href="{line.webListUrl}" title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.showList')}">
|
||||
<core:icon identifier="actions-system-list-open" size="small" />
|
||||
</a>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
@@ -0,0 +1,43 @@
|
||||
<h1><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:movingElement" /></h1>
|
||||
<div>
|
||||
<span {recordTooltip}><core:iconForRecord table="{table}" row="{elRow}" />{recordTitle -> f:format.raw()}</span>
|
||||
<div>
|
||||
<input type="hidden" name="makeCopy" value="0" />
|
||||
<input type="checkbox" name="makeCopy" id="makeCopy" value="1"{makeCopyChecked} onclick="{makeCopyOnClick}" />
|
||||
<label for="makeCopy" class="t3-label-valign-top"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:makeCopy" /></label>
|
||||
</div>
|
||||
</div>
|
||||
<h2><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:selectPositionOfElement" /></h2>
|
||||
<div>
|
||||
<f:if condition="{pages}">
|
||||
<f:if condition="{pages.goUpUrl}">
|
||||
<f:then>
|
||||
<a href="{pages.goUpUrl}"><core:icon identifier="actions-view-go-up" />{pages.pidRecordTitle -> f:format.raw()}</a><br />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{pages.pidPageInfo}">
|
||||
<core:iconForRecord table="pages" row="{pages.pidPageInfo}" />
|
||||
</f:if>
|
||||
{pages.pidRecordTitle -> f:format.raw()}<br />
|
||||
</f:else>
|
||||
</f:if>
|
||||
{pages.positionTree -> f:format.raw()}
|
||||
</f:if>
|
||||
<f:if condition="{ttContent}">
|
||||
<span {ttContent.recordToolTip}><core:iconForRecord table="pages" row="{ttContent.pageInfo}" /></span>
|
||||
{ttContent.recordTitle}<br />
|
||||
{ttContent.contentElementColumns -> f:format.raw()}<br /><br />
|
||||
<f:if condition="{ttContent.pageInfo.pid}">
|
||||
<f:if condition="{ttContent.goUpUrl}">
|
||||
<f:then>
|
||||
<a href="{ttContent.goUpUrl}"><core:icon identifier="actions-view-go-up" />{ttContent.pidRecordTitle -> f:format.raw()}</a><br />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<core:iconForRecord table="pages" row="{ttContent.pidPageInfo}" />
|
||||
{ttContent.pidRecordTitle -> f:format.raw()}<br />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
{ttContent.positionTree -> f:format.raw()}
|
||||
</f:if>
|
||||
</div>
|
||||
@@ -0,0 +1,11 @@
|
||||
<f:layout name="ContextSensitiveHelp" />
|
||||
|
||||
<f:section name="content">
|
||||
<f:render partial="ContextSensitiveHelp/TableOfContents" arguments="{toc:all.toc, all:1}" />
|
||||
|
||||
<f:for each="{all.content}" as="sections">
|
||||
<f:for each="{sections.content}" as="item">
|
||||
<f:render partial="ContextSensitiveHelp/Manual" arguments="{manual:item}" />
|
||||
</f:for>
|
||||
</f:for>
|
||||
</f:section>
|
||||
@@ -0,0 +1,7 @@
|
||||
<f:layout name="ContextSensitiveHelp" />
|
||||
|
||||
<f:section name="content">
|
||||
<f:for each="{manuals}" as="manual">
|
||||
<f:render partial="ContextSensitiveHelp/Manual" arguments="{manual:manual}" />
|
||||
</f:for>
|
||||
</f:section>
|
||||
@@ -0,0 +1,15 @@
|
||||
<html xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers">
|
||||
|
||||
<f:layout name="ContextSensitiveHelp" />
|
||||
|
||||
<f:section name="docheader">
|
||||
|
||||
</f:section>
|
||||
<f:section name="content">
|
||||
<f:render partial="ContextSensitiveHelp/TableOfContents" arguments="{toc:toc,all:0}" />
|
||||
|
||||
<a href="{be:moduleLink(route:'help_cshmanual',arguments:'{action:\'all\'}')}">
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_view_help.xlf:full_manual" />
|
||||
</a>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,39 @@
|
||||
<div class="panel-group" id="{id}" role="tablist" aria-multiselectable="true">
|
||||
<f:for each="{items}" as="item" iteration="iteration">
|
||||
<f:if condition="{item.content}">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab" id="{id}-{iteration.cycle}-heading">
|
||||
<a data-toggle="collapse" title="{item.linkTitle}" data-parent="#{id}" href="#{id}-{iteration.cycle}" aria-expanded="true" aria-controls="{id}-{iteration.cycle}">
|
||||
<f:if condition="{item.icon}">
|
||||
<f:format.raw>{item.icon}</f:format.raw>
|
||||
</f:if>
|
||||
{item.label}
|
||||
<f:if condition="{item.requiredIcon}">
|
||||
<f:format.raw>{item.requiredIcon}</f:format.raw>
|
||||
</f:if>
|
||||
<f:if condition="{item.stateIcon}">
|
||||
<f:render partial="StateIcon" arguments="{item: item}" />
|
||||
</f:if>
|
||||
</a>
|
||||
</div>
|
||||
<div id="{id}-{iteration.cycle}" class="panel-collapse collapse{f:if(condition: '{iteration.cycle} == {defaultTabIndex}', then: ' in')}" role="tabpanel" aria-labelledby="{id}-{iteration.cycle}-heading">
|
||||
<f:if condition="{item.description}">
|
||||
<div class="panel-body">
|
||||
<p><f:format.nl2br>{item.description}</f:format.nl2br></p>
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{wrapContent}">
|
||||
<f:then>
|
||||
<div class="panel-body">
|
||||
<f:format.raw>{item.content}</f:format.raw>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:format.raw>{item.content}</f:format.raw>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
<f:switch expression="{item.stateIcon}">
|
||||
<f:case value="-1"><core:icon identifier="status-dialog-ok" /></f:case>
|
||||
<f:case value="1"><core:icon identifier="status-dialog-notification" /></f:case>
|
||||
<f:case value="2"><core:icon identifier="status-dialog-warning" /></f:case>
|
||||
<f:case value="3"><core:icon identifier="status-dialog-error" /></f:case>
|
||||
</f:switch>
|
||||
@@ -0,0 +1,49 @@
|
||||
<div role="tabpanel">
|
||||
<ul class="nav nav-tabs t3js-tabs" role="tablist" id="tabs-{id}" data-store-last-tab="{storeLastActiveTab}">
|
||||
<f:for each="{items}" as="item" iteration="iteration">
|
||||
<f:if condition="{item.content}">
|
||||
<li role="presentation" class="t3js-tabmenu-item {f:if(condition: '{iteration.cycle} == {defaultTabIndex}', then: ' active')}">
|
||||
<a href="#{id}-{iteration.cycle}" title="{item.linkTitle}" aria-controls="{id}-{iteration.cycle}" role="tab" data-toggle="tab">
|
||||
<f:if condition="{item.icon}">
|
||||
<f:format.raw>{item.icon}</f:format.raw>
|
||||
</f:if>
|
||||
{item.label}
|
||||
<f:if condition="{item.requiredIcon}">
|
||||
<f:format.raw>{item.requiredIcon}</f:format.raw>
|
||||
</f:if>
|
||||
<f:if condition="{item.stateIcon}">
|
||||
<f:render partial="StateIcon" arguments="{item: item}" />
|
||||
</f:if>
|
||||
</a>
|
||||
</li>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<f:for each="{items}" as="item" iteration="iteration">
|
||||
<f:if condition="{item.content}">
|
||||
<div role="tabpanel" class="tab-pane{f:if(condition: '{iteration.cycle} == {defaultTabIndex}', then: ' active')}" id="{id}-{iteration.cycle}">
|
||||
<f:if condition="{item.description}">
|
||||
<div class="panel panel-tab">
|
||||
<div class="panel-body">
|
||||
<p><f:format.nl2br>{item.description}</f:format.nl2br></p>
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{wrapContent}">
|
||||
<f:then>
|
||||
<div class="panel panel-tab">
|
||||
<div class="panel-body">
|
||||
<f:format.raw>{item.content}</f:format.raw>
|
||||
</div>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:format.raw>{item.content}</f:format.raw>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,100 @@
|
||||
<div>
|
||||
<h1><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_newfolder.php.pagetitle" /></h1>
|
||||
<f:if condition="{moduleUrlTceFile}">
|
||||
<h3><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_newfolder.php.newfolders" /></h3>
|
||||
<div>
|
||||
<form role="form" action="{moduleUrlTceFile}" method="post" name="editform">
|
||||
<div class="form-group">
|
||||
<div class="form-section">
|
||||
<div class="form-group">
|
||||
<label for="number-of-new-folders"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_newfolder.php.number_of_folders" /></label> {cshFileNewFolder -> f:format.raw()}
|
||||
<div class="form-control-wrap">
|
||||
<div class="input-group">
|
||||
<select class="form-control form-control-adapt" name="number" id="number-of-new-folders" onchange="reload(this.options[this.selectedIndex].value);">';
|
||||
<f:for each="{options}" as="option">
|
||||
<option value="{option.value}"{option.selected}>{option.value}</option>
|
||||
</f:for>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<f:for each="{folders}" as="folder">
|
||||
<div class="form-section">
|
||||
<div class="form-group">
|
||||
<label for="folder_new_{folder.this}"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_newfolder.php.label_newfolder" /> {folder.next}:</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="text" class="form-control" id="folder_new_{folder.this}" name="data[newfolder][{folder.this}][data]" onchange="changed=true;" />
|
||||
<input type="hidden" name="data[newfolder][{folder.this}][target]" value="{target}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-default" type="submit" value="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_newfolder.php.submit')}" />
|
||||
<input type="hidden" name="data[newfolder][0][redirect]" value="{returnUrl}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{moduleUrlOnlineMedia}">
|
||||
<f:if condition="{fileExtList -> f:count()} > 0">
|
||||
<form action="{moduleUrlOnlineMedia}" method="post" name="editform2">
|
||||
<h3><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:online_media.new_media" /></h3>
|
||||
<div>
|
||||
<div class="form-group">
|
||||
<div class="form-section">
|
||||
<div class="form-group">
|
||||
<label for="newMedia"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:online_media.new_media.label" /></label> {cshFileNewMedia -> f:format.raw()}
|
||||
<div class="form-control-wrap">
|
||||
<input class="form-control" type="text" id="newMedia" name="data[newMedia][0][url]"
|
||||
placeholder="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:online_media.new_media.placeholder')}" />
|
||||
<input type="hidden" name="data[newMedia][0][target]" value="{target}" />
|
||||
</div>
|
||||
<div class="help-block">
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:online_media.new_media.allowedProviders" /><br>
|
||||
<f:for each="{fileExtList}" as="fileExt">
|
||||
<span class="label label-success">{fileExt}</span>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-default" type="submit" value="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:online_media.new_media.submit')}" />
|
||||
<input type="hidden" name="redirect" value="{returnUrl}" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</f:if>
|
||||
<f:if condition="{txtFileExtList -> f:count()} > 0">
|
||||
<form action="{moduleUrlTceFile}" method="post" name="editform3">
|
||||
<h3><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_newfolder.php.newfile" /></h3>
|
||||
<div>
|
||||
<div class="form-group">
|
||||
<div class="form-section">
|
||||
<div class="form-group">
|
||||
<label for="newfile"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_newfolder.php.label_newfile" /></label> {cshFileNewFile -> f:format.raw()}
|
||||
<div class="form-control-wrap">
|
||||
<input class="form-control" type="text" id="newfile" name="data[newfile][0][data]" onchange="changed=true;" />
|
||||
<input type="hidden" name="data[newfile][0][target]" value="{target}" />
|
||||
</div>
|
||||
<div class="help-block">
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.allowedEditableTextFileExtensions" /><br>
|
||||
<f:for each="{txtFileExtList}" as="fileExt">
|
||||
<span class="label label-success">{fileExt}</span>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button class="btn btn-default" name="edit" type="submit" value="1"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_newfolder.php.newfile_submit" /></button>
|
||||
<input type="hidden" name="data[newfile][0][redirect]" value="{returnUrl}" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</div>
|
||||
@@ -0,0 +1,4 @@
|
||||
<form action="{moduleUrlTceFile}" method="post" id="EditFileController" name="editform">
|
||||
<h1><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_edit.php.pagetitle" /> {fileName}</h1>
|
||||
<f:format.raw>{form}</f:format.raw>
|
||||
</form>
|
||||
@@ -0,0 +1,27 @@
|
||||
<form action="{moduleUrlTceFile}" method="post" name="editform" role="form" id="RenameFileController">
|
||||
<fieldset class="form-section">
|
||||
<div class="row">
|
||||
<div class="form-group col-md-12">
|
||||
<label class="t3js-formengine-label" for="rename_target">
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:{fieldLabel}" />
|
||||
</label>
|
||||
<div class="formengine-field-item">
|
||||
<div class="form-control-wrap">
|
||||
<div class="form-wizards-wrap">
|
||||
<div class="form-wizards-element">
|
||||
<input id="rename_target" class="form-control" type="text" name="data[rename][0][target]" value="{fileName}" data-original="{fileName}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<f:if condition="{destination}">
|
||||
<input type="hidden" name="data[rename][0][destination]" value="{destination}"/>
|
||||
<input type="hidden" name="data[rename][0][conflictMode]" value="{conflictMode}"/>
|
||||
</f:if>
|
||||
<input type="hidden" name="data[rename][0][data]" value="{fileIdentifier}"/>
|
||||
<input type="hidden" name="data[rename][0][redirect]" value="{returnUrl}"/>
|
||||
</form>
|
||||
@@ -0,0 +1,39 @@
|
||||
<h1><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_replace.php.pagetitle" /></h1>
|
||||
<div>
|
||||
<form action="{moduleUrlTceFile}" role="form" method="post" name="editform" enctype="multipart/form-data">
|
||||
<div class="form-group">
|
||||
<input type="checkbox" value="1" id="keepFilename" name="data[replace][1][keepFilename]">
|
||||
<label for="keepFilename"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_replace.php.keepfiletitle" /></label>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="file_replace"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_replace.php.selectfile" /></label>
|
||||
<div class="input-group col-xs-6">
|
||||
<input type="text" name="fakefile" id="fakefile" class="form-control input-xlarge" readonly>
|
||||
<a class="input-group-addon btn btn-primary" onclick="$('#file_replace').click();">
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_replace.php.browse" />
|
||||
</a>
|
||||
</div>
|
||||
<input class="form-control" type="file" id="file_replace" name="replace_1" style="visibility: hidden;" />
|
||||
</div>
|
||||
|
||||
<script>
|
||||
require(['jquery'], function($) {
|
||||
$('#file_replace').change(function() {
|
||||
$('#fakefile').val($(this).val());
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<input type="hidden" name="overwriteExistingFiles" value="replace" />
|
||||
<input type="hidden" name="data[replace][1][data]" value="1" />
|
||||
<input type="hidden" name="data[replace][1][uid]" value="{uid}" />
|
||||
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="submit" value="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:file_replace.php.submit')}" />
|
||||
<input class="btn btn-danger" type="submit" value="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.cancel')}"
|
||||
onclick="backToList(); return false;" />
|
||||
<input type="hidden" name="data[replace][1][redirect]" value="{returnUrl}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers">
|
||||
<f:layout name="ImageManipulation" />
|
||||
|
||||
<f:section name="Main">
|
||||
<f:if condition="{isAllowedFileExtension} && {image.properties.width}">
|
||||
<f:then>
|
||||
<f:if condition="{config.readOnly}">
|
||||
<f:else>
|
||||
<div class="form-control-wrap">
|
||||
<input type="hidden" id="{formEngine.field.id}"
|
||||
name="{formEngine.field.name}"
|
||||
value="{formEngine.field.value}"
|
||||
data-formengine-validation-rules="{formEngine.validation}"/>
|
||||
<button class="btn btn-default t3js-image-manipulation-trigger"
|
||||
data-url="{wizardUri}"
|
||||
data-payload="{wizardPayload}"
|
||||
data-preview-url="{previewUrl}"
|
||||
data-severity="notice"
|
||||
data-modal-title="{f:render(partial: 'ModalTitle', section:'Main', arguments: _all)}"
|
||||
data-image-uid="{image.uid}"
|
||||
data-crop-variants="{config.cropVariants -> f:format.json()}"
|
||||
data-button-preview-text="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.preview')}"
|
||||
data-button-dismiss-text="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.cancel')}"
|
||||
data-button-save-text="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.accept')}"
|
||||
data-file-field="{config.file_field}"
|
||||
data-field="{formEngine.field.id}">
|
||||
<span class="t3-icon fa fa-crop"></span>
|
||||
<f:translate id="LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.open-editor"/>
|
||||
</button>
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div class="row media-gallery__list">
|
||||
<f:for each="{config.cropVariants}" as="cropVariant">
|
||||
<div class="col-xs-6 col-sm-4 col-md-3 media-gallery__item">
|
||||
<p>
|
||||
<b><f:translate id="{cropVariant.title}" default="{cropVariant.title}" /></b><br/>
|
||||
<f:translate id="LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.aspect-ratio"/>: <span class="t3js-image-manipulation-selected-ratio" data-crop-variant-id="{cropVariant.id}"><f:translate id="{cropVariant.allowedAspectRatios.{cropVariant.selectedRatio}.title}" default="{cropVariant.allowedAspectRatios.{cropVariant.selectedRatio}.title}" /></span>
|
||||
</p>
|
||||
<div class="t3js-image-manipulation-preview media-object"
|
||||
data-preview-height="150"
|
||||
data-crop-variant-id="{cropVariant.id}">
|
||||
<f:image image="{image}" crop="{formEngine.field.value}"
|
||||
cropVariant="{cropVariant.id}"
|
||||
maxHeight="150"
|
||||
class="thumbnail thumbnail-status"
|
||||
additionalAttributes="{data-crop-variant: '{cropVariant -> f:format.json()}', data-crop-variant-id: cropVariant.id}"/>
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="media-body">
|
||||
<f:if condition="{image.properties.width}">
|
||||
<f:then>
|
||||
<p>
|
||||
<em>
|
||||
<f:translate id="LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.supported-types-message" /><br/>
|
||||
{config.allowedExtensions -> f:format.case(mode: 'upper')}
|
||||
</em>
|
||||
</p>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="alert alert-info">
|
||||
<h4>
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.no-image-dimensions"/>
|
||||
</h4>
|
||||
<p>
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.no-image-dimensions-message"/>
|
||||
</p>
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:section>
|
||||
</html>
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers">
|
||||
|
||||
<f:section name="Main">
|
||||
|
||||
<div class="modal-panel-main">
|
||||
<div id="t3js-crop-image-container" class="cropper-image-container">
|
||||
<f:image image="{image}" maxWidth="1000" maxHeight="1000" id="t3js-crop-image" class="cropper-image-container-image" additionalAttributes="{data-original-width: image.properties.width, data-original-height: image.properties.height}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-panel-sidebar">
|
||||
<div class="panel-group" id="accordion-cropper-variants" role="tablist" aria-multiselectable="true">
|
||||
<f:for each="{cropVariants}" as="cropVariant" iteration="cropVariantIterator">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab" id="cropper-accordion-heading-{cropVariantIterator.cycle}">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion-cropper-variants"
|
||||
href="#cropper-collapse-{cropVariantIterator.cycle}"
|
||||
aria-expanded="{f:if(condition:cropVariantIterator.isFirst, then:'true', else:'false')}"
|
||||
aria-controls="cropper-collapse-{cropVariantIterator.cycle}"
|
||||
class="t3js-crop-variant-trigger {f:if(condition:cropVariantIterator.isFirst, then:'is-active', else:'collapsed')}"
|
||||
data-crop-variant-id="{cropVariant.id}"
|
||||
data-crop-variant>
|
||||
<span><i class="fa fa-chevron-{f:if(condition:cropVariantIterator.isFirst, then:'up', else:'down')}"
|
||||
aria-hidden="true"></i> {cropVariant.title -> f:translate(id: cropVariant.title)}</span>
|
||||
<div
|
||||
class="cropper-preview-thumbnail {f:if(condition:'{image.properties.width}>{image.properties.height}', then:'wide', else: 'tall')}">
|
||||
<img class="cropper-preview-thumbnail-image"
|
||||
src="{f:uri.image(image:image, maxWidth:'300', maxHeight: '300')}">
|
||||
<div class="cropper-preview-thumbnail-crop-area t3js-cropper-preview-thumbnail-crop-area">
|
||||
<img src="{f:uri.image(image:image, maxWidth:'300', maxHeight: '300')}"
|
||||
class="cropper-preview-thumbnail-crop-image t3js-cropper-preview-thumbnail-crop-image">
|
||||
<div class="cropper-preview-thumbnail-focus-area t3js-cropper-preview-thumbnail-focus-area"></div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="cropper-collapse-{cropVariantIterator.cycle}"
|
||||
class="panel-collapse collapse {f:if(condition:cropVariantIterator.isFirst, then:'in')}"
|
||||
role="tabpanel"
|
||||
aria-labelledby="cropper-accordion-heading-{cropVariantIterator.cycle}">
|
||||
<div class="panel-body">
|
||||
<form class="form">
|
||||
<div class="form-group">
|
||||
<f:if condition="{cropVariant.allowedAspectRatios}">
|
||||
<label for="ratio-{cropVariantIterator.cycle}">
|
||||
<f:translate id="LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.aspect-ratio"/>
|
||||
</label>
|
||||
<div id="ratio-{cropVariantIterator.cycle}" class="ratio-buttons t3js-ratio-buttons"
|
||||
data-toggle="buttons">
|
||||
<f:for each="{cropVariant.allowedAspectRatios}" as="ratio" iteration="ratioIterator">
|
||||
<label class="btn btn-secondary" data-method="setAspectRatio" data-option="{ratio.id}" title="{f:translate(id:'LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.set-aspect-ratio')}">
|
||||
<input
|
||||
class="sr-only" id="aspectRatio-{cropVariantIterator.cycle}-{ratioIterator.cycle}"
|
||||
name="aspectRatio-{cropVariantIterator.cycle}-{ratioIterator.cycle}" value="{cropVariant.id}"
|
||||
type="radio">
|
||||
<span class="t3-js-ratio-title" data-ratio-id="{cropVariant.id}{ratio.id}">{ratio.title -> f:translate(id: ratio.title)}</span> <i class="fa fa-check"></i></label>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:if>
|
||||
<label><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.selection" /></label>
|
||||
<div class="table-fit-block">
|
||||
<table class="table table-no-borders table-transparent">
|
||||
<tr>
|
||||
<td class="t3js-cropper-info-crop"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<button class="btn btn-secondary" data-method="reset" data-crop-variant="{cropVariant -> f:format.json()}"
|
||||
title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.reset')}">
|
||||
<i class="fa fa-refresh"></i>
|
||||
{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.reset')}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<f:be.infobox title="{title}" state="{state}">
|
||||
<f:format.raw>{message}</f:format.raw>
|
||||
</f:be.infobox>
|
||||
@@ -0,0 +1,24 @@
|
||||
<div class="module" data-module-id="{moduleId}" data-module-name="{moduleName}">
|
||||
<f:if condition="{formTag}">
|
||||
<f:then>
|
||||
<f:format.raw>{formTag}</f:format.raw>
|
||||
</f:then>
|
||||
</f:if>
|
||||
<f:if condition="{docHeader.enabled}">
|
||||
<f:render partial="DocHeader" arguments="{docHeader:docHeader}" />
|
||||
</f:if>
|
||||
<div class="module-body t3js-module-body">
|
||||
<f:if condition="{uiBlock}">
|
||||
<div id="t3js-ui-block" class="ui-block">
|
||||
<core:icon identifier="spinner-circle-light" size="large" />
|
||||
</div>
|
||||
</f:if>
|
||||
<f:flashMessages queueIdentifier="{flashMessageQueueIdentifier}" />
|
||||
<f:format.raw>{content}</f:format.raw>
|
||||
</div>
|
||||
<f:if condition="{formTag}">
|
||||
<f:then>
|
||||
</form>
|
||||
</f:then>
|
||||
</f:if>
|
||||
</div>
|
||||
@@ -0,0 +1,35 @@
|
||||
<ul class="nav nav-modules" data-role="modulemenu" id="menu">
|
||||
<f:for each="{modules}" as="mainModule">
|
||||
<li class="modulemenu-group {f:if(condition: '{mainModule.collapsed}', then: 'collapsed', else: 'expanded')}" id="{mainModule.name}" data-modulename="{mainModule.name}" data-navigationcomponentid="{mainModule.navigationComponentId}" data-navigationframescript="{mainModule.navigationFrameScript}" data-navigationframescriptparameters="{mainModule.navigationFrameScriptParameters}">
|
||||
<div class="modulemenu-group-header">
|
||||
<span class="modulemenu-icon modulemenu-group-icon">
|
||||
<f:if condition="{mainModule.icon}">
|
||||
<f:then>
|
||||
<f:format.raw>{mainModule.icon}</f:format.raw>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<core:icon identifier="actions-move-move" size="default" alternativeMarkupIdentifier="inline" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</span>
|
||||
<span class="modulemenu-group-title">
|
||||
{mainModule.title} <span class="caret"></span>
|
||||
</span>
|
||||
</div>
|
||||
<ul class="modulemenu-group-container" {f:if(condition: '{mainModule.collapsed}', then: 'style="display: none;"')}>
|
||||
<f:for each="{mainModule.children}" as="subModule">
|
||||
<li id="{subModule.name}" class="modulemenu-item t3js-mainmodule" data-modulename="{mainModule.name}" data-navigationcomponentid="{subModule.navigationComponentId}" data-navigationframescript="{subModule.navigationFrameScript}" data-navigationframescriptparameters="{subModule.navigationFrameScriptParameters}">
|
||||
<a href="#" data-link="{subModule.link}" class="modulemenu-item-link" title="{subModule.description}">
|
||||
<span class="modulemenu-icon modulemenu-item-icon">
|
||||
<f:format.raw>{subModule.icon}</f:format.raw>
|
||||
</span>
|
||||
<span class="modulemenu-item-title">
|
||||
{subModule.title}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
@@ -0,0 +1,40 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:if condition="{hasAccess}">
|
||||
<f:then>
|
||||
<f:form action="" name="editForm" id="NewContentElementController">
|
||||
<f:form.hidden name="defValues" value="" />
|
||||
<f:if condition="{hasClickEvent}">
|
||||
<f:then>
|
||||
<script type="text/javascript">
|
||||
{onClickEvent -> f:format.raw()}
|
||||
</script>
|
||||
{renderedTabs -> f:format.raw()}
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div id="new-content-element-wizard-carousel" class="carousel slide" data-ride="carousel" data-interval="false">
|
||||
<div class="carousel-inner" role="listbox">
|
||||
<div class="item active" data-slide="next">
|
||||
<div class="t3-new-content-element-wizard-title">
|
||||
<h2>{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:1_selectType')}</h2>
|
||||
</div>
|
||||
{renderedTabs -> f:format.raw()}
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="t3-new-content-element-wizard-title">
|
||||
<h2>{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:2_selectPosition') -> f:format.htmlspecialchars()}</h2>
|
||||
</div>
|
||||
<div class="t3-new-content-element-wizard-body">
|
||||
{posMap -> f:format.raw()}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:form>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h1>{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:newContentElement')}</h1>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</html>
|
||||
@@ -0,0 +1,39 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<div class="media media-new-content-element-wizard">
|
||||
<f:if condition="{onClickEvent}">
|
||||
<f:then>
|
||||
<a href="#" onclick="{aOnClick -> f:format.htmlspecialchars()}" data-dismiss="modal">
|
||||
<f:if condition="{content}">
|
||||
{content -> f:format.raw()}
|
||||
</f:if>
|
||||
<div class="media-left">
|
||||
{icon -> f:format.raw()}
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<strong>{wizardInformation.title -> f:format.htmlspecialchars()}</strong>
|
||||
<br/>
|
||||
{wizardInformation.description -> f:format.nl2br() -> f:format.htmlspecialchars()}
|
||||
</div>
|
||||
</a>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<input type="radio" class="hide" name="tempB" value="{wizardKey -> f:format.htmlspecialchars()}"
|
||||
onclick="{wizardOnClick -> f:format.htmlspecialchars()}"/>
|
||||
<a href="#new-content-element-wizard-carousel" onclick="{aOnClick -> f:format.htmlspecialchars()}"
|
||||
data-slide="next">
|
||||
<f:if condition="{content}">
|
||||
{content -> f:format.raw()}
|
||||
</f:if>
|
||||
<div class="media-left">
|
||||
{icon -> f:format.raw()}
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<strong>{wizardInformation.title -> f:format.htmlspecialchars()}</strong>
|
||||
<br/>
|
||||
{wizardInformation.description -> f:format.nl2br() -> f:format.htmlspecialchars()}
|
||||
</div>
|
||||
</a>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,22 @@
|
||||
<h1><f:format.raw>{pageTitle}</f:format.raw></h1>
|
||||
|
||||
<f:if condition="{recordDescription}">
|
||||
<f:be.infobox title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.recordInformation')}">
|
||||
{recordDescription -> f:format.nl2br()}
|
||||
</f:be.infobox>
|
||||
</f:if>
|
||||
<f:if condition="{recordReadonly}">
|
||||
<f:be.infobox title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.recordInformation')}">
|
||||
{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.recordReadonly')}
|
||||
</f:be.infobox>
|
||||
</f:if>
|
||||
|
||||
<div class="typo3-TCEforms{f:if(condition:isNewRecord, then:' has-change')}">
|
||||
<f:format.raw>{fieldInformationHtml}</f:format.raw>
|
||||
<f:format.raw>{fieldWizardHtml}</f:format.raw>
|
||||
<f:format.raw>{childHtml}</f:format.raw>
|
||||
<div class="help-block text-right">
|
||||
<f:format.raw>{icon}</f:format.raw>
|
||||
<strong><f:format.raw>{tableTitle}</f:format.raw></strong> <f:format.raw>{newOrUid}</f:format.raw>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,150 @@
|
||||
{namespace be=TYPO3\CMS\Backend\ViewHelpers}
|
||||
|
||||
<f:be.pageRenderer
|
||||
includeRequireJsModules="{
|
||||
0:'TYPO3/CMS/Backend/ContextMenu',
|
||||
1:'TYPO3/CMS/Backend/NewMultiplePages'
|
||||
}"
|
||||
/>
|
||||
|
||||
<h1>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:title" />
|
||||
</h1>
|
||||
|
||||
<f:if condition="!{canCreateNew}">
|
||||
<f:then>
|
||||
<f:be.infobox
|
||||
title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:canNotCreateNew.title')}"
|
||||
message="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:canNotCreateNew.message')}"
|
||||
state="-1"
|
||||
/>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{hasNewPagesData}">
|
||||
<f:then>
|
||||
<f:if condition="{pagesCreated}">
|
||||
<f:then>
|
||||
<f:be.infobox
|
||||
title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:pagesCreated.title')}"
|
||||
message="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:pagesCreated.message')}"
|
||||
state="-1"
|
||||
/>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:be.infobox
|
||||
title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:noPagesCreated.title')}"
|
||||
message="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:noPagesCreated.message')}"
|
||||
state="1"
|
||||
/>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<f:if condition="{visiblePages}">
|
||||
<div class="form-group">
|
||||
<h2>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:newSubPages"/>
|
||||
</h2>
|
||||
<f:for each="{visiblePages}" as="page">
|
||||
<core:iconForRecord table="pages" row="{page}" />
|
||||
{page.title -> f:format.crop(maxCharacters: maxTitleLength)}
|
||||
<br />
|
||||
</f:for>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="t3js-newmultiplepages-newlinetemplate" style="display:none">
|
||||
<f:render section="FormLine" arguments="{line: {index: '[0]', label: '[1]', pageTypes: '{pageTypes}'}}" />
|
||||
</div>
|
||||
|
||||
<form action="{be:moduleLink(route:'pages_new', arguments:'{id:pageUid}')}" method="post">
|
||||
<div class="form-group t3js-newmultiplepages-container">
|
||||
<f:render section="FormLine" arguments="{line: {index: '0', label: '1', pageTypes: '{pageTypes}'}}" />
|
||||
<f:render section="FormLine" arguments="{line: {index: '1', label: '2', pageTypes: '{pageTypes}'}}" />
|
||||
<f:render section="FormLine" arguments="{line: {index: '2', label: '3', pageTypes: '{pageTypes}'}}" />
|
||||
<f:render section="FormLine" arguments="{line: {index: '3', label: '4', pageTypes: '{pageTypes}'}}" />
|
||||
<f:render section="FormLine" arguments="{line: {index: '4', label: '5', pageTypes: '{pageTypes}'}}" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="btn btn-default t3js-newmultiplepages-createnewfields"
|
||||
type="button"
|
||||
value="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:addMoreLines')}"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
<label for="createInListEnd">
|
||||
<input type="checkbox" name="createInListEnd" id="createInListEnd" value="1" />
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:listEnd" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label for="hidePages">
|
||||
<input type="checkbox" name="hidePages" id="hidePages" value="1" />
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:hidePages" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label for="hidePagesInMenus">
|
||||
<input type="checkbox" name="hidePagesInMenus" id="hidePagesInMenus" value="1" />
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:hidePagesInMenus" />
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="btn btn-default"
|
||||
type="submit"
|
||||
name="create"
|
||||
value="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:create')}"
|
||||
/>
|
||||
<input
|
||||
class="btn btn-default"
|
||||
type="reset"
|
||||
value="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:reset')}"
|
||||
/>
|
||||
</div>
|
||||
</form>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
|
||||
<f:section name="FormLine">
|
||||
<div class="form-section" id="form-line-{line.index}">
|
||||
<div class="row">
|
||||
<div class="form-group col-xs-8">
|
||||
<label for="page_new_{line.index}">
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_new:newPage"/> {line.label}:
|
||||
</label>
|
||||
<div class="form-control-wrap">
|
||||
<input class="form-control" type="text" id="page_new_{line.index}" name="pages[NEW{line.index}][title]" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-xs-4">
|
||||
<label for="page_new_select_{line.index}">
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.type"/>
|
||||
</label>
|
||||
<div class="form-control-wrap">
|
||||
<div class="input-group">
|
||||
<div id="page_new_icon_{line.index}" class="input-group-addon input-group-icon">
|
||||
<core:iconForRecord table="pages" row="{id: '0'}" />
|
||||
</div>
|
||||
<select id="page_new_select_{line.index}" class="form-control form-control-adapt t3js-newmultiplepages-select-doktype" name="pages[NEW{line.index}][doktype]" data-target="#page_new_icon_{line.index}">
|
||||
<f:for each="{line.pageTypes}" as="typegroup" key="group">
|
||||
<optgroup label="{f:translate(key: '{group}')}">
|
||||
<f:for each="{typegroup}" as="type">
|
||||
<option data-icon='{core:icon(identifier: "{type.2}")}' value="{type.1}">{f:translate(key: '{type.0}')}</option>
|
||||
</f:for>
|
||||
</optgroup>
|
||||
</f:for>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
@@ -0,0 +1,158 @@
|
||||
{namespace be=TYPO3\CMS\Backend\ViewHelpers}
|
||||
|
||||
<f:be.pageRenderer
|
||||
includeRequireJsModules="{
|
||||
0:'TYPO3/CMS/Backend/ContextMenu',
|
||||
1:'TYPO3/CMS/Backend/Modal',
|
||||
2:'TYPO3/CMS/Backend/Tooltip'
|
||||
}"
|
||||
/>
|
||||
|
||||
<h1>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:title" />
|
||||
</h1>
|
||||
|
||||
<f:if condition="{isInWorkspace}">
|
||||
<f:then>
|
||||
<f:be.infobox
|
||||
title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:notAvailableInWorkspace.title')}"
|
||||
message="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:notAvailableInWorkspace.message')}"
|
||||
state="-1"
|
||||
/>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{subPages}">
|
||||
<f:then>
|
||||
<f:if condition="{hasInvisiblePage}">
|
||||
<f:be.infobox
|
||||
title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:hasInvisiblePage.title')}"
|
||||
message="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:hasInvisiblePage.message')}"
|
||||
state="-1"
|
||||
/>
|
||||
</f:if>
|
||||
|
||||
<h2>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:currentPageOrder" />
|
||||
</h2>
|
||||
|
||||
<div class="table-fit">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:fieldTitle" />
|
||||
</th>
|
||||
<th>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:fieldSubtitle" />
|
||||
</th>
|
||||
<th>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:fieldNavTitle" />
|
||||
</th>
|
||||
<th>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:fieldTstamp" />
|
||||
</th>
|
||||
<th>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:fieldCrdate" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<f:for each="{subPages}" as="page">
|
||||
<tr>
|
||||
<td class="text-nowrap">
|
||||
<core:iconForRecord table="pages" row="{page.record}" />
|
||||
<f:if condition="!{page.canEdit}">
|
||||
<span
|
||||
data-toggle="tooltip"
|
||||
data-title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:noEditPermissions')}"
|
||||
>
|
||||
<core:icon identifier="status-status-permission-denied" />
|
||||
</span>
|
||||
</f:if>
|
||||
{page.record.title -> f:format.crop(maxCharacters: maxTitleLength)}
|
||||
</td>
|
||||
<td class="text-nowrap">
|
||||
{page.record.subtitle -> f:format.crop(maxCharacters: maxTitleLength)}
|
||||
</td>
|
||||
<td class="text-nowrap">
|
||||
{page.record.nav_title -> f:format.crop(maxCharacters: maxTitleLength)}
|
||||
</td>
|
||||
<td class="text-nowrap">
|
||||
<f:format.date format="{dateFormat} {timeFormat}">{page.record.tstamp}</f:format.date>
|
||||
</td>
|
||||
<td class="text-nowrap">
|
||||
<f:format.date format="{dateFormat} {timeFormat}">{page.record.crdate}</f:format.date>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrder"/>
|
||||
</h2>
|
||||
<a class="btn btn-default t3js-modal-trigger"
|
||||
href="{be:moduleLink(route:'pages_sort', arguments:'{id:parentPageUid, newSortBy:\'title\'}')}"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:pleaseConfirm')}"
|
||||
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
|
||||
data-content="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderConfirm')}"
|
||||
>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderByTitle" />
|
||||
</a>
|
||||
<a class="btn btn-default t3js-modal-trigger"
|
||||
href="{be:moduleLink(route:'pages_sort', arguments:'{id:parentPageUid, newSortBy:\'subtitle\'}')}"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:pleaseConfirm')}"
|
||||
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
|
||||
data-content="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderConfirm')}"
|
||||
>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderBySubtitle" />
|
||||
</a>
|
||||
<a class="btn btn-default t3js-modal-trigger"
|
||||
href="{be:moduleLink(route:'pages_sort', arguments:'{id:parentPageUid, newSortBy:\'nav_title\'}')}"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:pleaseConfirm')}"
|
||||
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
|
||||
data-content="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderConfirm')}"
|
||||
>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderByNavtitle" />
|
||||
</a>
|
||||
<a class="btn btn-default t3js-modal-trigger"
|
||||
href="{be:moduleLink(route:'pages_sort', arguments:'{id:parentPageUid, newSortBy:\'tstamp\'}')}"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:pleaseConfirm')}"
|
||||
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
|
||||
data-content="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderConfirm')}"
|
||||
>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderByTstamp" />
|
||||
</a>
|
||||
<a class="btn btn-default t3js-modal-trigger"
|
||||
href="{be:moduleLink(route:'pages_sort', arguments:'{id:parentPageUid, newSortBy:\'create\'}')}"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:pleaseConfirm')}"
|
||||
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
|
||||
data-content="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderConfirm')}"
|
||||
>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderByCreate" />
|
||||
</a>
|
||||
<a class="btn btn-default t3js-modal-trigger"
|
||||
href="{be:moduleLink(route:'pages_sort', arguments:'{id:parentPageUid, newSortBy:\'reverseCurrentSorting\'}')}"
|
||||
data-severity="warning"
|
||||
data-title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:pleaseConfirm')}"
|
||||
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
|
||||
data-content="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderConfirm')}"
|
||||
>
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:changeOrderReverse" />
|
||||
</a>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:be.infobox
|
||||
title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:noSubpages.title')}"
|
||||
message="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_pages_sort.xlf:noSubpages.message')}"
|
||||
state="-1"
|
||||
/>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
@@ -0,0 +1,6 @@
|
||||
<h1>{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:title')}</h1>
|
||||
<f:render partial="RecordHistory/Settings" arguments="{_all}" />
|
||||
<f:if condition="{showDifferences}">
|
||||
<f:render partial="RecordHistory/MultipleDiff" arguments="{_all}" />
|
||||
</f:if>
|
||||
<f:render partial="RecordHistory/History" arguments="{_all}" />
|
||||
@@ -0,0 +1,32 @@
|
||||
<h3 class="dropdown-headline">
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:toolbarItems.bookmarks')}
|
||||
</h3>
|
||||
<hr>
|
||||
<f:if condition="{f:count(subject: '{shortcutMenu}')} == 0">
|
||||
<f:then>
|
||||
<f:render section="helpMessage"/>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:for each="{shortcutMenu}" as="group" iteration="iterator">
|
||||
<f:if condition="!{iterator.isFirst}">
|
||||
<hr>
|
||||
</f:if>
|
||||
<f:if condition="{group.title}">
|
||||
<h3 class="dropdown-headline" id="shortcut-group-{group.id}">{group.title}</h3>
|
||||
</f:if>
|
||||
<div class="dropdown-table" data-shortcutgroup="{group.id}">
|
||||
<f:for each="{group.shortcuts}" as="shortcut">
|
||||
<f:render partial="ShortcutToolbarItem/Shortcut" arguments="{group : group, shortcut : shortcut}" />
|
||||
</f:for>
|
||||
</div>
|
||||
</f:for>
|
||||
</f:else>
|
||||
</f:if>
|
||||
|
||||
<f:section name="helpMessage">
|
||||
<f:comment>No shortcuts added yet, show a small help message how to add shortcuts</f:comment>
|
||||
<f:alias
|
||||
map="{inlineIcon: '{core:icon(identifier: \'actions-system-shortcut-new\', alternativeMarkupIdentifier: \'inline\')}', inlineIconTitle: '{f:translate(key: \'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:toolbarItems.bookmarks\')}'}">
|
||||
<p>{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:bookmark_description', arguments:'{0: \'<span title="{inlineIconTitle}">{inlineIcon -> f:format.raw()}</span>\'}') -> f:format.raw()}</p>
|
||||
</f:alias>
|
||||
</f:section>
|
||||
@@ -0,0 +1,19 @@
|
||||
<form class="shortcut-form" role="form" data-shortcutid="{selectedShortcutId}">
|
||||
<h3 class="dropdown-headline">
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:toolbarItems.bookmarksEdit')}
|
||||
</h3>
|
||||
<hr>
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" name="shortcut-title" value="{selectedShortcut.label}"/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<select class="form-control" name="shortcut-group">
|
||||
<f:for each="{shortcutGroups}" key="shortcutGroupId" as="shortcutGroupTitle">
|
||||
<option value="{shortcutGroupId}" {f:if(condition: '{selectedShortcutGroupId} == {shortcutGroupId}', then: 'selected="selected"')}>{shortcutGroupTitle}</option>
|
||||
</f:for>
|
||||
</select>
|
||||
</div>
|
||||
<hr>
|
||||
<input type="button" class="btn btn-default shortcut-form-cancel" value="Cancel"/>
|
||||
<input type="button" class="btn btn-success shortcut-form-save" value="Save"/>
|
||||
</form>
|
||||
@@ -0,0 +1,6 @@
|
||||
<span class="toolbar-item-icon" title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:toolbarItems.bookmarks')}">
|
||||
<core:icon identifier="apps-toolbar-menu-shortcut" alternativeMarkupIdentifier="inline" />
|
||||
</span>
|
||||
<span class="toolbar-item-title">
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:toolbarItems.bookmarks"/>
|
||||
</span>
|
||||
@@ -0,0 +1,18 @@
|
||||
<f:be.pageRenderer includeRequireJsModules="{0: 'TYPO3/CMS/Backend/SiteInlineActions'}" />
|
||||
<form
|
||||
action="{f:be.uri(route:'site_configuration', parameters:'{action: \'save\'}')}"
|
||||
method="post"
|
||||
enctype="multipart/form-data"
|
||||
name="editform"
|
||||
id="siteConfigurationController"
|
||||
onsubmit="TBE_EDITOR.checkAndDoSubmit(1); return false;"
|
||||
>
|
||||
{formEngineHtml -> f:format.raw()}
|
||||
|
||||
<input type="hidden" name="returnUrl" value="{returnUrl -> f:format.raw()}" />
|
||||
<input type="hidden" name="closeDoc" value="0" />
|
||||
<input type="hidden" name="doSave" value="0" />
|
||||
<input type="hidden" name="rootPageId" value="{rootPageId}" />
|
||||
|
||||
{formEngineFooter -> f:format.raw()}
|
||||
</form>
|
||||
@@ -0,0 +1,160 @@
|
||||
<html
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true">
|
||||
<h1><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.title" /></h1>
|
||||
|
||||
<f:if condition="{pages}">
|
||||
<f:then>
|
||||
<div class="table-fit">
|
||||
<table class="table table-striped table-hover table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.site" /></th>
|
||||
<th><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.configuration" /></th>
|
||||
<th><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.baseUrl" /></th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<f:for each="{pages}" as="page">
|
||||
<tr>
|
||||
<td nowrap valign="top">
|
||||
<f:for each="{page.rootline}" as="rootLinePage" iteration="i">
|
||||
<span style="width: 1px; height: 1px; display:inline-block; margin-left: {rootLinePage.margin}px"></span>
|
||||
<f:if condition="{rootLinePage.uid} == {page.uid}">
|
||||
<f:then>
|
||||
<a href="#" class="t3js-contextmenutrigger" data-table="pages" data-uid="{rootLinePage.uid}">
|
||||
<core:iconForRecord table="pages" row="{rootLinePage}" />
|
||||
</a>
|
||||
<f:if condition="{page.siteIdentifier}">
|
||||
<f:then>
|
||||
<f:be.link route="site_configuration" parameters="{action: 'edit', site: page.siteIdentifier}" title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:edit')}">
|
||||
{rootLinePage.title} [ID: {page.uid}]
|
||||
</f:be.link>
|
||||
</f:then>
|
||||
<f:else>
|
||||
{rootLinePage.title} [ID: {page.uid}]
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<core:iconForRecord table="pages" row="{rootLinePage}" />
|
||||
{rootLinePage.title}<br>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</td>
|
||||
<td>
|
||||
<f:if condition="{page.siteIdentifier}">
|
||||
<f:then>
|
||||
<code>{page.siteIdentifier}</code>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div>
|
||||
<f:be.link route="site_configuration" parameters="{action: 'edit', pageUid: page.uid}" title="Create configuration" class="btn btn-primary">
|
||||
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.addSiteConfiguration" />
|
||||
</f:be.link>
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
<td>
|
||||
<f:if condition="{page.siteConfiguration}">
|
||||
<table class="table table-striped table-no-borders">
|
||||
<tr>
|
||||
<th>{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration_tca.xlf:site_language.language')}</th>
|
||||
<th>{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.fullUrlPrefix')}</th>
|
||||
</tr>
|
||||
<f:for each="{page.siteConfiguration.allLanguages}" as="siteLanguage">
|
||||
<tr>
|
||||
<td>
|
||||
<f:if condition="{siteLanguage.enabled}">
|
||||
<f:then>
|
||||
<core:icon identifier="{siteLanguage.flagIdentifier}" /> {siteLanguage.title}
|
||||
</f:then>
|
||||
<f:else>
|
||||
<core:icon identifier="{siteLanguage.flagIdentifier}" overlay="overlay-hidden" /> <span class="text-muted">{siteLanguage.title} (<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:disabled">disabled</f:translate>)</span>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
<td><a href="{siteLanguage.base}" target="_blank">{siteLanguage.base}</a></td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</f:if>
|
||||
</td>
|
||||
<td class="col-control nowrap">
|
||||
<div class="btn-group">
|
||||
<f:if condition="{page.siteIdentifier}">
|
||||
<f:be.link route="site_configuration" parameters="{action: 'edit', site: page.siteIdentifier}" title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:edit')}" class="btn btn-default">
|
||||
<core:icon identifier="actions-open" />
|
||||
</f:be.link>
|
||||
<f:be.link
|
||||
route="site_configuration"
|
||||
parameters="{action: 'delete', site:page.siteIdentifier}"
|
||||
class="btn btn-default t3js-modal-trigger"
|
||||
title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.deleteSiteConfiguration')}"
|
||||
data="{
|
||||
severity: 'error',
|
||||
title: '{f:translate(key:\'LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.deleteSiteConfiguration\')}',
|
||||
button-ok-text: '{f:translate(key:\'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete\')}'
|
||||
}"
|
||||
>
|
||||
<core:icon identifier="actions-delete" />
|
||||
</f:be.link>
|
||||
</f:if>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:be.infobox state="-1" title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.noPages.title')}">
|
||||
<p><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.noPages.message"/></p>
|
||||
</f:be.infobox>
|
||||
</f:else>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{unassignedSites}">
|
||||
<h3>{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.unassignedSites.title')}</h3>
|
||||
<p>{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.unassignedSites.description')}</p>
|
||||
|
||||
<table class="table table-striped table-hover table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.configuration" /></th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<f:for each="{unassignedSites}" as="unassignedSite">
|
||||
<tr>
|
||||
<td> <code>{unassignedSite.identifier}</code></td>
|
||||
<td class="col-control nowrap">
|
||||
<div class="btn-group">
|
||||
<f:be.link
|
||||
route="site_configuration"
|
||||
parameters="{action: 'delete', site:unassignedSite.identifier}"
|
||||
class="btn btn-default t3js-modal-trigger"
|
||||
title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.deleteSiteConfiguration')}"
|
||||
data="{
|
||||
severity: 'error',
|
||||
title: '{f:translate(key:\'LLL:EXT:backend/Resources/Private/Language/locallang_siteconfiguration.xlf:overview.deleteSiteConfiguration\')}',
|
||||
button-ok-text: '{f:translate(key:\'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete\')}'
|
||||
}"
|
||||
>
|
||||
<core:icon identifier="actions-delete" />
|
||||
</f:be.link>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
</table>
|
||||
</f:if>
|
||||
</html>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:render partial="ToolbarItem" arguments="{
|
||||
title: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:rm.clearCache_clearCache',
|
||||
icon: '{core:icon(identifier: \'apps-toolbar-menu-cache\', size: \'small\', alternativeMarkupIdentifier: \'inline\')}'
|
||||
}" />
|
||||
</html>
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<h3 class="dropdown-headline">
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:rm.clearCache_clearCache" />
|
||||
</h3>
|
||||
<hr>
|
||||
<div class="dropdown-table">
|
||||
<f:for each="{cacheActions}" as="cacheAction">
|
||||
<div class="dropdown-table-row">
|
||||
<a href="{cacheAction.href}" class="toolbar-cache-flush-action">
|
||||
<div class="dropdown-table-column dropdown-table-column-top dropdown-table-icon">
|
||||
<core:icon identifier="{cacheAction.iconIdentifier}" size="small" />
|
||||
</div>
|
||||
<div class="dropdown-table-column dropdown-table-column-top dropdown-table-text">
|
||||
<f:translate key="{cacheAction.title}" />
|
||||
<br>
|
||||
<small class="text-muted">{f:translate(key: '{f:if(condition: cacheAction.description, then: cacheAction.description, else:
|
||||
cacheAction.title)}')}
|
||||
</small>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</html>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<a href="{link}" class="toolbar-cache-flush-action toolbar-item-link" title="{f:translate(key: title, default: title)}">
|
||||
<f:render partial="ToolbarItem" arguments="{title: title, icon: '{core:icon(identifier: iconIdentifier, size: \'small\')}'}"/>
|
||||
</a>
|
||||
</html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:render partial="ToolbarItem" arguments="{
|
||||
title: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:toolbarItems.help',
|
||||
icon: '{core:icon(identifier: \'apps-toolbar-menu-help\', size: \'small\', alternativeMarkupIdentifier: \'inline\')}'
|
||||
}" />
|
||||
</html>
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<h3 class="dropdown-headline">
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:toolbarItems.help') -> f:format.raw()}
|
||||
</h3>
|
||||
<hr>
|
||||
<div class="dropdown-table">
|
||||
<f:for each="{modules}" as="module">
|
||||
<div class="dropdown-table-row"
|
||||
id="{module.name -> f:format.htmlspecialchars()}"
|
||||
data-modulename="{module.name -> f:format.htmlspecialchars()}"
|
||||
data-navigationcomponentid="{module.navigationFrameScript -> f:format.htmlspecialchars()}"
|
||||
data-navigationframescript="{module.navigationFrameScript -> f:format.htmlspecialchars()}"
|
||||
data-navigationframescriptparameters="{module.navigationFrameScriptParameters -> f:format.htmlspecialchars()}">
|
||||
<div class="dropdown-table-column dropdown-table-icon">
|
||||
{module.icon -> f:format.raw()}
|
||||
</div>
|
||||
<div class="dropdown-table-column dropdown-table-title">
|
||||
<a href="#" data-link="{module.link}" title="{module.description -> f:format.htmlspecialchars()}">
|
||||
{module.title}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</html>
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<form class="t3js-topbar-navigation-search toolbar-item-search-form live-search-wrapper" role="search">
|
||||
<div class="form-group">
|
||||
<div class="form-control-holder">
|
||||
<div class="form-control-icon">
|
||||
<core:icon identifier="apps-toolbar-menu-search" size="small" alternativeMarkupIdentifier="inline"/>
|
||||
</div>
|
||||
<input type="text" class="form-control toolbar-item-search-field t3js-topbar-navigation-search-field"
|
||||
placeholder="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:toolbarItems.search') -> f:format.htmlspecialchars()}"
|
||||
id="live-search-box" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<a href="#" class="dropdown-toggle t3js-toolbar-search-dropdowntoggle" data-toggle="dropdown" aria-expanded="false"></a>
|
||||
<div class="dropdown-menu" role="menu"></div>
|
||||
</html>
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<span class="systeminformationtoolbaritem-container t3js-systeminformation-container" data-count="{count}"
|
||||
data-severityclass="{severityBadgeClass}"></span>
|
||||
|
||||
<h3 class="dropdown-headline">
|
||||
<f:translate key="systemmessage.header"/>
|
||||
</h3>
|
||||
<f:if condition="{environmentToolUrl}">
|
||||
<p class="dropdown-text typo3-module-menu-item submodule mod-tools_toolsenvironment" data-modulename="tools_toolsenvironment">
|
||||
<f:format.raw>
|
||||
<f:translate key="systemmessage.intro" arguments="{0: '{environmentToolUrl}'}"/>
|
||||
</f:format.raw>
|
||||
</p>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{systemInformation}">
|
||||
<hr>
|
||||
<div class="dropdown-table">
|
||||
<f:for each="{systemInformation}" as="info">
|
||||
<div class="dropdown-table-row">
|
||||
<div class="dropdown-table-column dropdown-table-column-top dropdown-table-icon">
|
||||
<f:if condition="{info.iconIdentifier}">
|
||||
<f:then>
|
||||
<core:icon identifier="{info.iconIdentifier}" size="small" alternativeMarkupIdentifier="inline" />
|
||||
</f:then>
|
||||
<f:else>{info.icon -> f:format.raw()}</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="dropdown-table-column dropdown-table-column-top dropdown-table-title">
|
||||
<f:translate key="{info.title}" default="{info.title}"/>
|
||||
<f:if condition="{info.titleAddition}"> ({info.titleAddition -> f:format.htmlspecialchars()})</f:if>
|
||||
</div>
|
||||
<div
|
||||
class="dropdown-table-column dropdown-table-column-top dropdown-table-value {f:if(condition: info.status, then: 'text-{info.status}')}">
|
||||
{info.value}
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<hr>
|
||||
|
||||
<f:if condition="{messages -> f:count()} > 0">
|
||||
<f:then>
|
||||
<f:for each="{messages}" as="message">
|
||||
<f:if condition="{message.module}">
|
||||
<f:then>
|
||||
<p id="systeminformation_{message.module}"
|
||||
class="dropdown-text t3js-systeminformation-module typo3-module-menu-item submodule mod-{message.module}"
|
||||
data-modulename="{message.module}" data-moduleparams="{message.params}">
|
||||
<span class="text-{message.status}"><f:format.raw>{message.text}</f:format.raw></span>
|
||||
</p>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<p class="dropdown-text text-{message.status}">
|
||||
<f:format.raw>{message.text}</f:format.raw>
|
||||
</p>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<p class="dropdown-text text-success">
|
||||
<f:format.nl2br>
|
||||
<f:translate key="systemmessage.allgood"/>
|
||||
</f:format.nl2br>
|
||||
</p>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</html>
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:render partial="ToolbarItem" arguments="{
|
||||
title: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:toolbarItems.sysinfo',
|
||||
icon: '{core:icon(identifier: \'actions-system-list-open\', size: \'small\', alternativeMarkupIdentifier: \'inline\')}'
|
||||
}" />
|
||||
<span class="toolbar-item-badge t3js-systeminformation-counter badge"></span>
|
||||
</html>
|
||||
@@ -0,0 +1,18 @@
|
||||
<html xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
|
||||
<span class="toolbar-item-avatar"><be:avatar backendUser="{currentUser.uid}"/></span>
|
||||
<f:if condition="{switchUserMode}">
|
||||
<f:then>
|
||||
<span class="toolbar-item-name"
|
||||
title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:switchtouser')} {currentUser.username}">
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:switchtousershort') -> f:format.raw()}
|
||||
{f:if(condition: '{currentUser.realName}', then: '{currentUser.realName} ({currentUser.username})', else: '{currentUser.username}')}
|
||||
</span>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<span class="toolbar-item-name" title="{username}">
|
||||
{f:if(condition: '{currentUser.realName}', then: '{currentUser.realName}', else: '{currentUser.username}')}
|
||||
</span>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</html>
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<h3 class="dropdown-headline">
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.user')}
|
||||
</h3>
|
||||
<hr>
|
||||
<f:if condition="{modules}">
|
||||
<div class="dropdown-table">
|
||||
<f:for each="{modules}" as="module">
|
||||
<div class="dropdown-table-row"
|
||||
id="{module.name -> f:format.htmlspecialchars()}"
|
||||
data-modulename="{module.name -> f:format.htmlspecialchars()}"
|
||||
data-navigationcomponentid="{module.navigationComponentId -> f:format.htmlspecialchars()}"
|
||||
data-navigationframescript="{module.navigationFrameScript -> f:format.htmlspecialchars()}"
|
||||
data-navigationframescriptparameters="{module.navigationFrameScriptParameters -> f:format.htmlspecialchars()}"
|
||||
>
|
||||
<div class="dropdown-table-column dropdown-table-icon">{module.icon -> f:format.raw()}</div>
|
||||
<div class="dropdown-table-column dropdown-table-title">
|
||||
<a href="#" data-link="{module.link}" title="{module.description}">
|
||||
{module.title}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
<hr>
|
||||
</f:if>
|
||||
<f:if condition="{f:count(subject: recentUsers)} > 0">
|
||||
<h3 class="dropdown-headline"><f:translate key="usermodule.su.list" /></h3>
|
||||
<div class="dropdown-table">
|
||||
<f:for each="{recentUsers}" as="user">
|
||||
<div class="dropdown-table-row">
|
||||
<div class="dropdown-table-column dropdown-table-icon">
|
||||
<be:avatar backendUser="{user.uid}" size="32" />
|
||||
</div>
|
||||
<div class="dropdown-table-column dropdown-table-title">
|
||||
<a href="{user.switchUserLink}" title="{f:translate(key: 'usermodule.su.tooltip', arguments: '{0: user.username}')}">
|
||||
<f:if condition="{user.realName}">
|
||||
<f:then>
|
||||
{user.realName}
|
||||
</f:then>
|
||||
<f:else>
|
||||
{user.username}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
<hr>
|
||||
</f:if>
|
||||
<a href="{logoutUrl}" class="btn btn-danger pull-left" target="_top">
|
||||
<core:icon identifier="actions-logout" size="small" alternativeMarkupIdentifier="inline"/>
|
||||
<f:if condition="{switchUserMode}">
|
||||
<f:then>
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.exit') -> f:format.raw()}
|
||||
</f:then>
|
||||
<f:else>
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.logout') -> f:format.raw()}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</a>
|
||||
</html>
|
||||
@@ -0,0 +1,24 @@
|
||||
<f:layout name="Login" />
|
||||
|
||||
<f:section name="loginFormFields">
|
||||
<div class="form-group t3js-login-username-section" id="t3-login-username-section">
|
||||
<div class="form-control-wrap">
|
||||
<div class="form-control-holder">
|
||||
<input type="text" id="t3-username" name="username" value="{presetUsername}" aria-label="{f:translate(key: 'login.username')}" placeholder="{f:translate(key: 'login.username')}" class="form-control input-login t3js-clearable t3js-login-username-field" autofocus="autofocus" required="required" />
|
||||
<div class="form-notice-capslock hidden t3js-login-alert-capslock">
|
||||
<img src="{images.capslock}" width="14" height="14" alt="{f:translate(key: 'login.error.capslock')}" title="{f:translate(key: 'login.error.capslock')}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group t3js-login-password-section" id="t3-login-password-section">
|
||||
<div class="form-control-wrap">
|
||||
<div class="form-control-holder">
|
||||
<input type="password" id="t3-password" name="p_field" value="{presetPassword}" aria-label="{f:translate(key: 'login.password')}" placeholder="{f:translate(key: 'login.password')}" class="form-control input-login t3js-clearable t3js-login-password-field" required="required" data-rsa-encryption="t3-field-userident" />
|
||||
<div class="form-notice-capslock hidden t3js-login-alert-capslock">
|
||||
<img src="{images.capslock}" width="14" height="14" alt="{f:translate(key: 'login.error.capslock')}" title="{f:translate(key: 'login.error.capslock')}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
@@ -0,0 +1,3 @@
|
||||
<!-- ###FULLDOC### begin -->
|
||||
###CONTENT###
|
||||
<!-- ###FULLDOC### end -->
|
||||
@@ -0,0 +1,9 @@
|
||||
###JS_LIBS###
|
||||
###JS_INCLUDE###
|
||||
###JS_INLINE###
|
||||
###HEADERDATA###
|
||||
|
||||
###JS_LIBS_FOOTER###
|
||||
###JS_INCLUDE_FOOTER###
|
||||
###JS_INLINE_FOOTER###
|
||||
###FOOTERDATA###
|
||||
Reference in new issue
Block a user