first commit

This commit is contained in:
salam committed 2026-10-19 08:18:39 +02:00
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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>&nbsp;</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>&nbsp;</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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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###