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,36 @@
<f:be.pageRenderer includeRequireJsModules="{0: 'TYPO3/CMS/Tstemplate/ConstantEditor'}" />
<h3><f:translate key="{LLPrefix}editConstants"/></h3>
<div>
<core:iconForRecord table="sys_template" row="{templateRecord}" />
<strong>&nbsp;<f:format.raw>{title}</f:format.raw></strong>
<f:if condition="{siteTitle}">({siteTitle})</f:if>
<f:if condition="{manyTemplatesMenu}">
<div>
<f:format.raw>
{manyTemplatesMenu}
</f:format.raw>
</div>
</f:if>
<div style="padding-top: 10px;"></div>
<f:if condition="{constantsMenu}">
<f:then>
<h3><f:translate key="{LLPrefix}category"/></h3>
<div><span class="text-nowrap">
<div class="form-inline form-inline-spaced"><f:format.raw>{constantsMenu}</f:format.raw></div>
</span></div>
</f:then>
<f:else>
<f:be.infobox title="{f:translate(key:'{LLPrefix}noConstants')}">
{f:translate(key:'{LLPrefix}noConstantsDescription')}
</f:be.infobox>
</f:else>
</f:if>
<div style="padding-top: 15px;"></div>
<f:if condition="{printFields}">
<div>
<f:format.raw>
{printFields}
</f:format.raw>
</div>
</f:if>
</div>
@@ -0,0 +1,3 @@
<f:be.infobox title="{title}" state="{state}">
<f:format.raw>{message}</f:format.raw>
</f:be.infobox>
@@ -0,0 +1,40 @@
<h3><f:translate key="{LLPrefix}templateInformation"/></h3>
<div>
<f:if condition="{siteTitle}">({siteTitle})</f:if>
<f:if condition="{manyTemplatesMenu}">
<div>
<f:format.raw>
{manyTemplatesMenu}
</f:format.raw>
</div>
</f:if>
<f:format.raw>{formResult}</f:format.raw>
<div class="table-fit">
<table class="table table-striped table-hover">
<thead>
<tr>
<td colspan="3">
<a href="#" class="t3js-contextmenutrigger" data-table="sys_template" data-uid="{templateRecord.uid}">
<core:iconForRecord table="sys_template" row="{templateRecord}"/>
</a><strong>{title}</strong>
</td>
</tr>
</thead>
<f:for each="{tableRows}" as="line">
<f:render section="TemplateTableRow" arguments="{line: line}" />
</f:for>
</table>
</div>
<div>
<br />
<a class="btn btn-default" href="{editAllUrl}"><strong><core:icon identifier="actions-document-open" />&nbsp;<f:translate key="{LLPrefix}editTemplateRecord"/></strong></a>
</div>
</div>
<f:section name="TemplateTableRow">
<tr>
<td><a href="{line.url}" title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:editField')}"><strong>{line.label}</strong></a></td>
<td width="80%">{line.data -> f:format.nl2br()}</td>
<td><a href="{line.url}" title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:editField')}"><span class="btn btn-default"><core:icon identifier="actions-open" /></span></a></td>
</tr>
</f:section>
@@ -0,0 +1,5 @@
<form action="{actionName}" method="post" enctype="multipart/form-data" id="TypoScriptTemplateModuleController" name="editForm" class="form">
<h1><f:translate key="moduleTitle" /></h1>
<f:render partial="{partialName}" arguments="{content: content}" optional="1" />
<f:format.raw>{typoscriptTemplateModuleContent}</f:format.raw>
</form>
@@ -0,0 +1,30 @@
<form action="{content.actionName}" method="post" enctype="multipart/form-data" id="TypoScriptTemplateModuleController" name="editForm" class="form">
<f:be.infobox title="{f:translate(key: 'noTemplate', extensionName:'tstemplate')}" state="{content.state}">
<p>
<f:translate key="noTemplateDescription" />
<br />
<f:translate key="createTemplateToEditConfiguration" />
</p>
</f:be.infobox>
<h2><f:translate key="newWebsite" />{staticsText}</h2>
<div>
<p><f:translate key="newWebsiteDescription" /></p>
{content.selector -> f:format.raw() -> f:or(alternative: '<input type="hidden" name="createStandard" value="" />')}
<input class="btn btn-primary" type="submit" form="TypoScriptTemplateModuleController" name="newWebsite" value="{f:translate(key: 'newWebsiteAction', extensionName:'tstemplate')}" />
</div>
<h2><f:translate key="extTemplate" /></h2>
<div>
<p><f:translate key="extTemplateDescription" /></p>
<input class="btn btn-default" type="submit" form="TypoScriptTemplateModuleController" name="createExtension" value="{f:translate(key: 'extTemplateAction', extensionName:'tstemplate')}" />
</div>
<f:if condition="{content.previousPage}">
<h3><f:translate key="goToClosest" /></h3>
<div>
<p><f:translate key="goToClosestDescription" arguments="{0: content.previousPage.title, 1: content.previousPage.uid}" /></p>
<a class="btn btn-default" href="{content.previousPage.aHref}"><f:translate key="goToClosestAction" /></a>
</div>
</f:if>
</form>
@@ -0,0 +1,96 @@
<html xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers" data-namespace-typo3-fluid="true">
<h1><f:translate key="moduleTitle" /></h1>
<div>
<p class="lead"><f:translate key="overview" /></p>
<div class="table-fit">
<table class="table table-striped table-hover" id="ts-overview">
<thead>
<tr>
<th><f:translate key="pageName" /></th>
<th><f:translate key="templates" /></th>
<th><f:translate key="isRoot" /></th>
<th><f:translate key="isExt" /></th>
</tr>
</thead>
<tbody>
<f:for each="{pageTree}" as="page">
<f:render section="PageZeroTableRow" arguments="{page: page, level: 0, template: page._templates.0}" />
</f:for>
</tbody>
</table>
</div>
</div>
<f:section name="PageZeroTableRow">
<f:variable name="maxCharacters" value="30" />
<tr class="{f:if(condition: page.hidden, then: 'inactive')}">
<td class="nowrap">
<span style="width: 1px; height: 1px; display:inline-block; margin-left: {level * 20}px"></span>
<f:if condition="{page}">
<f:then>
<f:if condition="{page._templates}">
<f:then>
<a href="{f:be.uri(route:'web_ts', parameters:'{id: page.uid}')}"
title="ID: {page.uid}">
<core:IconForRecord table="pages" row="{page}" />
{page.title -> f:format.crop(maxCharacters: maxCharacters)}
</a>
</f:then>
<f:else>
<span title="ID: {page.uid}">
<core:IconForRecord table="pages" row="{page}" />
{page.title -> f:format.crop(maxCharacters: maxCharacters)}
</span>
</f:else>
</f:if>
</f:then>
<f:else>
&nbsp;
</f:else>
</f:if>
</td>
<td>
<f:if condition="{template}">
<f:then>
<f:variable name="web_ts_parameters"
value="{id: template.pid, 'SET[templatesOnPage]': template.uid}" />
<a href="{f:be.uri(route:'web_ts', parameters:web_ts_parameters)}"
title="ID: {template.uid} {template.sitetitle}">
<core:IconForRecord table="sys_template" row="{template}" />
{template.title -> f:format.crop(maxCharacters: maxCharacters)}
</a>
</f:then>
<f:else>
&nbsp;
</f:else>
</f:if>
</td>
<td>
<f:if condition="{template}">
{f:if(condition: "{template.root}", then: "{core:icon(identifier: 'status-status-checked')}" )}
</f:if>
</td>
<td>
<f:if condition="{template}">
{f:if(condition: "!{template.root}", then: "{core:icon(identifier: 'status-status-checked')}" )}
</f:if>
</td>
</tr>
<f:if condition="{page}">
<!-- Additional templates -->
<f:if condition="{page._templates -> f:count()}">
<f:for each="{page._templates}" as="template" iteration="i">
<f:if condition="{i.index} > 0">
<f:render section="PageZeroTableRow" arguments="{page: 0, level: level, template: template}" />
</f:if>
</f:for>
</f:if>
<!-- Subpages -->
<f:if condition="{page._nodes -> f:count()}">
<f:for each="{page._nodes}" as="page">
<f:render section="PageZeroTableRow" arguments="{page: page, level: '{level + 1}', template: page._templates.0}" />
</f:for>
</f:if>
</f:if>
</f:section>
</html>
@@ -0,0 +1,69 @@
<f:if condition="{existTemplate}">
<h3><f:translate key="{LLPrefix}currentTemplate"/></h3>
<core:iconForRecord table="sys_template" row="{templateRecord}" />
<strong><f:format.raw>{linkWrappedTemplateTitle}</f:format.raw></strong>
<f:if condition="{siteTitle}">({siteTitle})</f:if>
</f:if>
<f:if condition="{existTemplate}">
<div>
<f:format.raw>
{manyTemplatesMenu}
</f:format.raw>
</div>
</f:if>
<div style="padding-top: 5px;"></div>
<h2><f:translate key="{LLPrefix}templateHierarchy"/></h2>
<div>
<div class="table-fit"><table class="table table-striped table-hover" id="ts-analyzer">
<thead>
<tr>
<th><f:translate key="{LLPrefix}title"/></th>
<th><f:translate key="{LLPrefix}rootlevel"/></th>
<th><f:translate key="{LLPrefix}clearSetup"/></th>
<th><f:translate key="{LLPrefix}clearConstants"/></th>
<th><f:translate key="{LLPrefix}pid"/></th>
<th><f:translate key="{LLPrefix}rootline"/></th>
<th><f:translate key="{LLPrefix}nextLevel"/></th>
</tr>
</thead>
<f:format.raw>{hierarchy}</f:format.raw>
</table>
</div>
</div>
<div style="padding-top: 5px;"></div>
<h2><f:translate key="{LLPrefix}completeTS"/></h2>
<div>
<p><a href="{moduleLink}" class="btn btn-default">
<f:translate key="{LLPrefix}viewCompleteTS"/>
</a></p>
</div>
<div style="padding-top: 15px;"></div>
<h2><f:translate key="{LLPrefix}displayOptions"/></h2>
<div class="tst-analyzer-options">
<f:for each="{checkboxes}" as="checkbox">
<div class="checkbox">
<label for="{checkbox.id}">
<f:format.raw>{checkbox.label}</f:format.raw>
<f:translate key="{LLPrefix}{checkbox.ll}"/>
</label>
</div>
</f:for>
</div>
<div style="padding-top: 25px;"></div>
<f:if condition="{template}">
<h2><f:translate key="{LLPrefix}constants"/></h2>
<f:for each="{constants}" as="constant">
<h3>{constant.title}</h3>
<div class="nowrap">
<f:format.raw>{constant.content}</f:format.raw>
</div>
</f:for>
<div style="padding-top: 15px;"></div>
<h2><f:translate key="{LLPrefix}setups"/></h2>
<f:for each="{setups}" as="setup">
<h3>{setup.title}</h3>
<div class="nowrap">
<f:format.raw>{setup.content}</f:format.raw>
</div>
</f:for>
</f:if>
@@ -0,0 +1,226 @@
<f:if condition="{existTemplate}">
<h3>
<f:translate key="{LLPrefix}currentTemplate"/>
</h3>
<div>
<core:iconForRecord table="sys_template" row="{templateRecord}"/>
<strong>
<f:format.raw>{linkWrapTemplateTitle}</f:format.raw>
</strong>
<f:if condition="{templateRecord.sitetitle} != ''">
({templateRecord.sitetitle})
</f:if>
</div>
</f:if>
<f:if condition="{manyTemplatesMenu}">
<f:format.raw>
{manyTemplatesMenu}
</f:format.raw>
</f:if>
<f:if condition="{typoScriptPath}">
<f:then>
<f:if condition="{existTemplate}">
<f:then>
<div style="padding-top: 10px;">
<div class="form-group">
<h3>
<f:translate key="{LLPrefix}editProperty"/>
</h3>
<label>{typoScriptPath} =</label>
<f:form.textfield class="form-control" name="data[{typoScriptPath}][value]" value="{theSetupValue}"/>
</div>
<f:form.submit value="{f:translate(key:'{LLPrefix}updateButton')}" class="btn btn-default"
name="update_value"/>
</div>
<div style="padding-top: 20px">
<div class="form-group">
<h3>
<f:translate key="{LLPrefix}addProperty"/>
</h3>
</div>
<div class="form-inline form-inline-spaced">
<div class="form-group">
<label class="sr-only">{typoScriptPath}.</label>
<div class="input-group">
<div class="input-group-addon">{typoScriptPath}.</div>
<f:form.textfield class="form-control" name="data[{typoScriptPath}][name]"/>
</div>
</div>
</div>
<div class="form-group">
<label>=</label>
<f:form.textfield class="form-control" name="data[{typoScriptPath}][propertyValue]"/>
</div>
<div class="form-group">
<f:form.submit class="btn btn-default" name="add_property"
value="{f:translate(key:'{LLPrefix}addButton')}"/>
</div>
</div>
<div style="padding-top: 20px;">
<div class="form-group">
<h3>
<f:translate key="{LLPrefix}clearObject"/>
</h3>
</div>
<div class="form-inline form-inline-spaced">
<div class="form-group">
<div class="checkbox">
<label>
{typoScriptPath}
<f:format.case mode="upper">
<f:translate key="{LLPrefix}clear"/>
</f:format.case>
<f:form.checkbox name="data[{typoScriptPath}][clearValue]" value="1"/>
</label>
</div>
</div>
<div class="form-group">
<f:form.submit class="btn btn-default" name="clear_object"
value="{f:translate(key:'{LLPrefix}clearButton')}"/>
</div>
</div>
</div>
<f:if condition="{isNotInTopLevelKeyList}">
<f:then>
<f:if condition="{hasProperties}">
<f:link.external uri="{moduleUrlObjectListAction}" defaultScheme="" class="btn btn-default">
<f:translate key="{LLPrefix}addKey" arguments="{0:'{typoScriptPath}'}"/>
</f:link.external>
</f:if>
</f:then>
<f:else>
<f:link.external uri="{moduleUrlObjectListAction}" defaultScheme="" class="btn btn-default">
<f:translate key="{LLPrefix}removeKey" arguments="{0:'{typoScriptPath}'}"/>
</f:link.external>
</f:else>
</f:if>
</f:then>
<f:else>
{typoScriptPath} = <strong>{theSetupValue}</strong>
</f:else>
</f:if>
<div>
<hr style="margin-top: 5px; margin-bottom: 5px;"/>
<f:link.external uri="{moduleUrl}" defaultScheme="" class="btn btn-default">
<strong><i class="fa fa-chevron-left"></i>&nbsp;
<f:translate key="{LLPrefix}back"/>
</strong>
</f:link.external>
</div>
</f:then>
<f:else>
<f:be.pageRenderer includeRequireJsModules="{0: 'TYPO3/CMS/Tstemplate/TypoScriptObjectBrowser'}"/>
<div class="tsob-menu">
<div class="form-inline">
<f:if condition="{hasTsBrowserTypes}">
<div class="form-group">
<label class="control-label">
<f:translate key="{LLPrefix}browse"/>
</label>
<f:format.raw>{browserTypeDropdownMenu}</f:format.raw>
</div>
</f:if>
<f:if condition="{hasTopLevelInObjectList}">
<div class="form-group">
<label class="control-label" for="ts_browser_toplevel_{tsBrowserType}">
<f:translate key="{LLPrefix}objectList"/>
</label>
<f:format.raw>{objectListDropdownMenu}</f:format.raw>
</div>
</f:if>
<div class="form-group">
<label class="control-label" for="search_field">
<f:translate key="{LLPrefix}search"/>
</label>
<div class="form-group"><input class="form-control" type="search" name="search_field" id="search_field"
value="{postSearchField}"/></div>
</div>
<input class="btn btn-default tsob-search-submit" type="submit" name="search"
value="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:search')}"/>
</div>
<div class="checkbox">
<label for="checkTs_browser_regexsearch">
<f:format.raw>{regexSearchCheckbox}</f:format.raw>
<f:translate key="{LLPrefix}regExp"/>
</label>
</div>
</div>
<f:if condition="{hasParseErrors}">
<div style="padding-top: 10px;"></div>
<f:be.infobox title="{f:translate(key: '{LLPrefix}errorsWarnings')}" state="1">
<f:for each="{parseErrors}" as="parseError">
<f:translate key="{LLPrefix}severity.{parseError.1}"/>
: {parseError.0}
<f:link.external uri="{showErrorDetailsUri}{parseError.2}" defaultScheme="" class="text-warning">
<f:translate key="{LLPrefix}errorShowDetails"/>
</f:link.external>
<br/>
</f:for>
</f:be.infobox>
</f:if>
<div class="panel panel-space panel-default">
<div class="panel-heading">
<f:if condition="{hasKeySelected}">
<f:then>
<strong>{treeLabel}</strong>
</f:then>
<f:else>
<f:format.case mode="upper">
<f:translate key="{LLPrefix}{rootLLKey}" />
</f:format.case>
</f:else>
</f:if>
<strong>{selectedKey}</strong>
<f:if condition="{moduleUrlRemoveFromObjectList}">
<f:link.external uri="{moduleUrlRemoveFromObjectList}" defaultScheme="" class="btn btn-default">
<f:translate key="{LLPrefix}removeKey" />
</f:link.external>
</f:if>
</div>
<div class="panel-body"><f:format.raw>{tsTree}</f:format.raw></div>
</div>
<div>
<h2><f:translate key="{LLPrefix}displayOptions" /></h2>
<div class="typo3-listOptions">
<div class="checkbox">
<label for="checkTs_browser_showComments">
<f:format.raw>{checkBoxShowComments}</f:format.raw>
<f:translate key="{LLPrefix}displayComments" />
</label>
</div>
<div class="checkbox">
<label for="checkTs_browser_alphaSort">
<f:format.raw>{checkBoxAlphaSort}</f:format.raw>
<f:translate key="{LLPrefix}sortAlphabetically" />
</label>
</div>
<div class="checkbox">
<label for="checkTs_browser_fixedLgd">
<f:format.raw>{checkBoxCropLines}</f:format.raw>
<f:translate key="{LLPrefix}cropLines" />
</label>
</div>
</div>
<f:if condition="{isSetupAndCropLinesDisabled}">
<div class="form">
<label><f:translate key="{LLPrefix}displayConstants" /></label>
<f:format.raw>{dropdownDisplayConstants}</f:format.raw>
</div>
</f:if>
<f:if condition="{hasConditions}">
<h2><f:translate key="{LLPrefix}conditions" /></h2>
<div class="typo3-listOptions">
<f:for each="{tsConditions}" as="condition">
<div class="checkbox">
<label for="check{condition.key}">
<f:form.checkbox class="checkbox" name="conditions[{condition.key}]" id="check{condition.key}" value="{condition.value}" checked="{condition.isSet}" />
<f:format.raw>{condition.label}</f:format.raw>
</label>
</div>
</f:for>
</div>
<f:form.submit class="btn btn-default" value="{f:translate(key: '{LLPrefix}setConditions')}" name="Submit"/>
</f:if>
</div>
</f:else>
</f:if>