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,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file t3:id="1415815007" source-language="en" datatype="plaintext" original="EXT:tstemplate/Resources/Private/Language/locallang.xlf" date="2011-10-17T20:22:37Z" product-name="tstemplate">
<header/>
<body>
<trans-unit id="moduleTitle" resname="moduleTitle">
<source>Template tools</source>
</trans-unit>
<trans-unit id="templateAnalyzer" resname="templateAnalyzer">
<source>Template Analyzer</source>
</trans-unit>
<trans-unit id="constantEditor" resname="constantEditor">
<source>Constant Editor</source>
</trans-unit>
<trans-unit id="infoModify" resname="infoModify">
<source>Info/Modify</source>
</trans-unit>
<trans-unit id="objectBrowser" resname="objectBrowser">
<source>TypoScript Object Browser</source>
</trans-unit>
<trans-unit id="viewTemplates" resname="viewTemplates">
<source>Viewing templates of</source>
</trans-unit>
<trans-unit id="pageName" resname="pageName">
<source>Page name</source>
</trans-unit>
<trans-unit id="templates" resname="templates">
<source>Templates</source>
</trans-unit>
<trans-unit id="isRoot" resname="isRoot">
<source>Is Root?</source>
</trans-unit>
<trans-unit id="isExt" resname="isExt">
<source>Is Ext?</source>
</trans-unit>
<trans-unit id="overview" resname="overview">
<source>This is an overview of the pages in the database containing one or more template records. Click a page title to go to the page.</source>
</trans-unit>
<trans-unit id="areYouSure" resname="areYouSure">
<source>Are you sure you want to do this?</source>
</trans-unit>
<trans-unit id="noTemplate" resname="noTemplate">
<source>No template</source>
</trans-unit>
<trans-unit id="noTemplateDescription" resname="noTemplateDescription">
<source>There was no template on this page!</source>
</trans-unit>
<trans-unit id="createTemplate" resname="createTemplate">
<source>Create a template record first in order to edit constants!</source>
</trans-unit>
<trans-unit id="createTemplateToEditConfiguration" resname="createTemplateToEditConfiguration">
<source>You need to create a template record below in order to edit your configuration.</source>
</trans-unit>
<trans-unit id="newWebsite" resname="newWebsite">
<source>Create new website</source>
</trans-unit>
<trans-unit id="newWebsiteDescription" resname="newWebsiteDescription">
<source>If you want this page to be the root of a new website, optionally based on one of the standard templates, then press the button below</source>
</trans-unit>
<trans-unit id="newWebsiteAction" resname="newWebsiteAction">
<source>Create template for a new site</source>
</trans-unit>
<trans-unit id="extTemplate" resname="extTemplate">
<source>Create extension template</source>
</trans-unit>
<trans-unit id="extTemplateDescription" resname="extTemplateDescription">
<source>An extension template allows you to enter TypoScript values that will affect only this page and subpages.</source>
</trans-unit>
<trans-unit id="extTemplateAction" resname="extTemplateAction">
<source>Click here to create an extension template.</source>
</trans-unit>
<trans-unit id="goToClosest" resname="goToClosest">
<source>Go to closest page with template</source>
</trans-unit>
<trans-unit id="goToClosestDescription" resname="goToClosestDescription">
<source>Closest template is on page '%s' (uid %s).</source>
</trans-unit>
<trans-unit id="goToClosestAction" resname="goToClosestAction">
<source>Click here to go.</source>
</trans-unit>
<trans-unit id="titleNewSiteStandard" resname="titleNewSiteStandard">
<source>NEW SITE, based on standard</source>
</trans-unit>
<trans-unit id="titleNewSite" resname="titleNewSite">
<source>NEW SITE</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file t3:id="1415815003" source-language="en" datatype="plaintext" original="EXT:tstemplate/Resources/Private/Language/locallang_analyzer.xlf" date="2011-10-17T20:22:37Z" product-name="tstemplate">
<header/>
<body>
<trans-unit id="currentTemplate" resname="currentTemplate">
<source>Current template</source>
</trans-unit>
<trans-unit id="title" resname="title">
<source>Title</source>
</trans-unit>
<trans-unit id="rootlevel" resname="rootlevel">
<source>Rootlevel</source>
</trans-unit>
<trans-unit id="clearSetup" resname="clearSetup">
<source>Clear Setup</source>
</trans-unit>
<trans-unit id="clearConstants" resname="clearConstants">
<source>Clear Constants</source>
</trans-unit>
<trans-unit id="pid" resname="pid">
<source>PID</source>
</trans-unit>
<trans-unit id="rootline" resname="rootline">
<source>Rootline</source>
</trans-unit>
<trans-unit id="nextLevel" resname="nextLevel">
<source>Next Level</source>
</trans-unit>
<trans-unit id="templateHierarchy" resname="templateHierarchy">
<source>Template hierarchy</source>
</trans-unit>
<trans-unit id="displayOptions" resname="displayOptions">
<source>Display Options</source>
</trans-unit>
<trans-unit id="lineNumbers" resname="lineNumbers">
<source>Line numbers</source>
</trans-unit>
<trans-unit id="syntaxHighlight" resname="syntaxHighlight">
<source>Syntax highlight</source>
</trans-unit>
<trans-unit id="comments" resname="comments">
<source>Comments</source>
</trans-unit>
<trans-unit id="cropLines" resname="cropLines">
<source>Crop lines</source>
</trans-unit>
<trans-unit id="blockMode" resname="blockMode">
<source>Block mode</source>
</trans-unit>
<trans-unit id="constants" resname="constants">
<source>Constants</source>
</trans-unit>
<trans-unit id="setup" resname="setup">
<source>Setup</source>
</trans-unit>
<trans-unit id="viewCompleteTS" resname="viewCompleteTS">
<source>View the complete TS Listing</source>
</trans-unit>
<trans-unit id="completeTS" resname="completeTS">
<source>Complete TS</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file t3:id="1415815004" source-language="en" datatype="plaintext" original="EXT:tstemplate/Resources/Private/Language/locallang_ceditor.xlf" date="2011-10-17T20:22:37Z" product-name="tstemplate">
<header/>
<body>
<trans-unit id="editConstants" resname="editConstants">
<source>Edit constants for template</source>
</trans-unit>
<trans-unit id="category" resname="category">
<source>Category</source>
</trans-unit>
<trans-unit id="noConstants" resname="noConstants">
<source>No constants available</source>
</trans-unit>
<trans-unit id="noConstantsDescription" resname="noConstantsDescription">
<source>There are no editable constants available for the Constant Editor.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file t3:id="1415815005" source-language="en" datatype="plaintext" original="EXT:tstemplate/Resources/Private/Language/locallang_info.xlf" date="2011-10-17T20:22:37Z" product-name="tstemplate">
<header/>
<body>
<trans-unit id="delete" resname="delete">
<source>Delete</source>
</trans-unit>
<trans-unit id="toTop" resname="toTop">
<source>To top</source>
</trans-unit>
<trans-unit id="fileChanged" resname="fileChanged">
<source>File changed</source>
</trans-unit>
<trans-unit id="resourceUpdated" resname="resourceUpdated">
<source>Resource '%s' has been updated.</source>
</trans-unit>
<trans-unit id="templateInformation" resname="templateInformation">
<source>Template information</source>
</trans-unit>
<trans-unit id="title" resname="title">
<source>Title</source>
</trans-unit>
<trans-unit id="sitetitle" resname="sitetitle">
<source>Sitetitle</source>
</trans-unit>
<trans-unit id="description" resname="description">
<source>Description</source>
</trans-unit>
<trans-unit id="allowedExtensions" resname="allowedExtensions">
<source>Allowed extensions</source>
</trans-unit>
<trans-unit id="maxFilesize" resname="maxFilesize">
<source>Max filesize</source>
</trans-unit>
<trans-unit id="uploadResource" resname="uploadResource">
<source>Upload resource</source>
</trans-unit>
<trans-unit id="newTextResource" resname="newTextResource">
<source>New text resource (enter name)</source>
</trans-unit>
<trans-unit id="copyResource" resname="copyResource">
<source>Make a copy of resource</source>
</trans-unit>
<trans-unit id="updateResourceList" resname="updateResourceList">
<source>Update resource list</source>
</trans-unit>
<trans-unit id="constants" resname="constants">
<source>Constants</source>
</trans-unit>
<trans-unit id="file" resname="file">
<source>File</source>
</trans-unit>
<trans-unit id="editResource" resname="editResource">
<source>Edit Resource</source>
</trans-unit>
<trans-unit id="filesizeExceeded" resname="filesizeExceeded">
<source>Filesize exceeded %s KBytes</source>
</trans-unit>
<trans-unit id="notAllowed" resname="notAllowed">
<source>Files larger than %s KBytes are not allowed to be edited.</source>
</trans-unit>
<trans-unit id="setup" resname="setup">
<source>Setup</source>
</trans-unit>
<trans-unit id="resources" resname="resources">
<source>Resources</source>
</trans-unit>
<trans-unit id="editToView" resname="editToView">
<source>(edit to view, %s lines)</source>
</trans-unit>
<trans-unit id="editTemplateRecord" resname="editTemplateRecord">
<source>Edit the whole template record</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file t3:id="1415815008" source-language="en" datatype="plaintext" original="EXT:tstemplate/Resources/Private/Language/locallang_mod.xlf" date="2011-10-17T20:22:37Z" product-name="tstemplate">
<header/>
<body>
<trans-unit id="mlang_labels_tablabel" resname="mlang_labels_tablabel">
<source>Template tools</source>
</trans-unit>
<trans-unit id="mlang_labels_tabdescr" resname="mlang_labels_tabdescr">
<source>Here you manage the TypoScript templates which are in charge of the look of your website on the frontend. The module provides specialized features like an object browser, a constant editor and raw editing facilities.&lt;br /&gt;&lt;em&gt;Access for 'admin' users only!&lt;/em&gt;</source>
</trans-unit>
<trans-unit id="mlang_tabs_tab" resname="mlang_tabs_tab">
<source>Template</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file t3:id="1415815006" source-language="en" datatype="plaintext" original="EXT:tstemplate/Resources/Private/Language/locallang_objbrowser.xlf" date="2011-10-17T20:22:37Z" product-name="tstemplate">
<header/>
<body>
<trans-unit id="constants" resname="constants">
<source>Constants</source>
</trans-unit>
<trans-unit id="setup" resname="setup">
<source>Setup</source>
</trans-unit>
<trans-unit id="all" resname="all">
<source>All</source>
</trans-unit>
<trans-unit id="plainSubstitution" resname="plainSubstitution">
<source>Plain substitution (default)</source>
</trans-unit>
<trans-unit id="substitutedGreen" resname="substitutedGreen">
<source>Substituted constants in green</source>
</trans-unit>
<trans-unit id="unsubstitutedGreen" resname="unsubstitutedGreen">
<source>UN-substituted constants in green</source>
</trans-unit>
<trans-unit id="currentTemplate" resname="currentTemplate">
<source>Current template</source>
</trans-unit>
<trans-unit id="badProperty" resname="badProperty">
<source>Bad property!</source>
</trans-unit>
<trans-unit id="noSpaces" resname="noSpaces">
<source>You must enter a property with characters a-z, A-Z and 0-9, no spaces!</source>
</trans-unit>
<trans-unit id="nothingUpdated" resname="nothingUpdated">
<source>Nothing was updated!</source>
</trans-unit>
<trans-unit id="propertyAdded" resname="propertyAdded">
<source>Property added</source>
</trans-unit>
<trans-unit id="valueUpdated" resname="valueUpdated">
<source>Value updated</source>
</trans-unit>
<trans-unit id="objectCleared" resname="objectCleared">
<source>Object cleared</source>
</trans-unit>
<trans-unit id="updateButton" resname="updateButton">
<source>Update</source>
</trans-unit>
<trans-unit id="editProperty" resname="editProperty">
<source>Edit object/property value</source>
</trans-unit>
<trans-unit id="addButton" resname="addButton">
<source>Add</source>
</trans-unit>
<trans-unit id="addProperty" resname="addProperty">
<source>Add object property</source>
</trans-unit>
<trans-unit id="clear" resname="clear">
<source>Clear?</source>
</trans-unit>
<trans-unit id="clearButton" resname="clearButton">
<source>Clear</source>
</trans-unit>
<trans-unit id="clearObject" resname="clearObject">
<source>Clear object</source>
</trans-unit>
<trans-unit id="edit" resname="edit">
<source>Edit</source>
</trans-unit>
<trans-unit id="noCurrentTemplate" resname="noCurrentTemplate">
<source>You cannot edit properties and values, if there's no current template.</source>
</trans-unit>
<trans-unit id="addKey" resname="addKey">
<source>Add key &quot;%s&quot; to Object List</source>
</trans-unit>
<trans-unit id="back" resname="back">
<source>Back</source>
</trans-unit>
<trans-unit id="browse" resname="browse">
<source>Browse</source>
</trans-unit>
<trans-unit id="objectList" resname="objectList">
<source>Object List</source>
</trans-unit>
<trans-unit id="search" resname="search">
<source>Search</source>
</trans-unit>
<trans-unit id="regExp" resname="regExp">
<source>Regular expressions</source>
</trans-unit>
<trans-unit id="errorsWarnings" resname="errorsWarnings">
<source>Errors and warnings</source>
</trans-unit>
<trans-unit id="errorShowDetails" resname="errorShowDetails">
<source>Show details</source>
</trans-unit>
<trans-unit id="removeKey" resname="removeKey">
<source>Remove key from OL</source>
</trans-unit>
<trans-unit id="setupRoot" resname="setupRoot">
<source>setup root</source>
</trans-unit>
<trans-unit id="constantRoot" resname="constantRoot">
<source>constants root</source>
</trans-unit>
<trans-unit id="displayComments" resname="displayComments">
<source>Display comments</source>
</trans-unit>
<trans-unit id="sortAlphabetically" resname="sortAlphabetically">
<source>Sort alphabetically</source>
</trans-unit>
<trans-unit id="cropLines" resname="cropLines">
<source>Crop lines</source>
</trans-unit>
<trans-unit id="displayConstants" resname="displayConstants">
<source>Display constants</source>
</trans-unit>
<trans-unit id="displayOptions" resname="displayOptions">
<source>Display options</source>
</trans-unit>
<trans-unit id="conditions" resname="conditions">
<source>Conditions</source>
</trans-unit>
<trans-unit id="setConditions" resname="setConditions">
<source>Set conditions</source>
</trans-unit>
<trans-unit id="severity.1" resname="severity.1">
<source>Info</source>
</trans-unit>
<trans-unit id="severity.2" resname="severity.2">
<source>Warning</source>
</trans-unit>
<trans-unit id="severity.3" resname="severity.3">
<source>Error</source>
</trans-unit>
<trans-unit id="error.1446559458" resname="error.1446559458">
<source>Error evaluating regular expression "%s".</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><path fill="#1A568F" d="M0 0h64v64H0z"/><path fill="#FFF" d="M14 14h36v36H14z"/><path fill="#1A568F" d="M16 16h32v32H16z"/><path fill="#FFF" d="M18 18h28v8H18zM18 28h10v18H18zM30 28h16v18H30z"/></svg>

After

Width:  |  Height:  |  Size: 260 B

@@ -0,0 +1,104 @@
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* Module: TYPO3/CMS/Tstemplate/ConstantEditor
* Various functions related to the Constant Editor
* e.g. updating the field and working with colors
*/
define(['jquery'], function($) {
'use strict';
/**
*
* @type {{options: {editIconSelector: string, colorSelectSelector: string, colorInputSelector: string}}}
* @exports TYPO3/CMS/Tstemplate/ConstantEditor
*/
var ConstantEditor = {
options: {
editIconSelector: '.t3js-toggle',
colorSelectSelector: '.t3js-color-select',
colorInputSelector: '.t3js-color-input'
}
};
/**
* initially register event listeners
*
* @param {Object} $editIcon
*/
ConstantEditor.changeProperty = function($editIcon) {
var constantName = $editIcon.attr('rel');
var $defaultDiv = $('#defaultTS-' + constantName);
var $userDiv = $('#userTS-' + constantName);
var $checkBox = $('#check-' + constantName);
var toggleState = $editIcon.data('toggle');
if (toggleState === 'edit') {
$defaultDiv.hide();
$userDiv.show();
$userDiv.find('input').css({background: '#fdf8bd'});
$checkBox.attr('disabled', false).attr('checked', true);
} else if (toggleState === 'undo') {
$userDiv.hide();
$defaultDiv.show();
$checkBox.val('').attr('disabled', true);
}
};
/**
* updates the color from a dropdown
*
* @param {Object} $colorSelect
*/
ConstantEditor.updateColorFromSelect = function($colorSelect) {
var constantName = $colorSelect.attr('rel');
var colorValue = $colorSelect.val();
$('#input-' + constantName).val(colorValue);
$('#colorbox-' + constantName).css({background: colorValue});
};
/**
* updates the color from an input field
*
* @param {Object} $colorInput
*/
ConstantEditor.updateColorFromInput = function($colorInput) {
var constantName = $colorInput.attr('rel');
var colorValue = $colorInput.val();
$('#colorbox-' + constantName).css({background: colorValue});
$('#select-' + constantName).children().each(function(option) {
option.selected = (option.value === colorValue);
});
};
/**
* Registers listeners
*/
ConstantEditor.initializeEvents = function() {
// no DOMready needed since only events for document are registered
$(document).on('click', ConstantEditor.options.editIconSelector, function() {
ConstantEditor.changeProperty($(this));
}).on('change', ConstantEditor.options.colorSelectSelector, function() {
ConstantEditor.updateColorFromSelect($(this));
}).on('blur', ConstantEditor.options.colorInputSelector, function() {
ConstantEditor.updateColorFromInput($(this));
});
};
ConstantEditor.initializeEvents();
return ConstantEditor;
});
@@ -0,0 +1,36 @@
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* Module: TYPO3/CMS/Tstemplate/TypoScriptObjectBrowser
* JavaScript for TypoScript Object Browser
* @exports TYPO3/CMS/Tstemplate/TypoScriptObjectBrowser
*/
define(['jquery', 'TYPO3/CMS/Backend/jquery.clearable'], function($) {
var $searchFields = $('input[name="search_field"]');
var searchResultShown = ('' !== $searchFields.first().val());
// make search field clearable
$searchFields.clearable({
onClear: function() {
if (searchResultShown) {
$(this).closest('form').submit();
}
}
});
if (self.location.hash) {
window.scrollTo(window.pageXOffset, window.pageYOffset - 40);
}
});