[FEATURE] Merge extensions TS/Template 54/21554/5
authorFelix Kopp <felix-source@phorax.com>
Wed, 19 Jun 2013 16:48:36 +0000 (18:48 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Fri, 5 Jul 2013 13:45:29 +0000 (15:45 +0200)
TypoScript workbench can be found within WEB > Template.

Technically "Template" was spread among several extensions.
Those extensions are now merged into one single extension.

Nothing is changed in menu/module/naming/interface.

Resolves: #49270
Releases: 6.2
Change-Id: I636d28034e363f4ed22871309a0643fec719d30e
Reviewed-on: https://review.typo3.org/21554
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
146 files changed:
typo3/sysext/core/Configuration/FactoryConfiguration.php
typo3/sysext/tstemplate/Classes/Controller/TemplateAnalyzerModuleFunctionController.php [new file with mode: 0644]
typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php [new file with mode: 0644]
typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php [new file with mode: 0644]
typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateModuleController.php
typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateObjectBrowserModuleFunctionController.php [new file with mode: 0644]
typo3/sysext/tstemplate/Migrations/Code/ClassAliasMap.php
typo3/sysext/tstemplate/Resources/Private/Language/locallang_analyzer.xlf [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Private/Language/locallang_ceditor.xlf [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Private/Language/locallang_info.xlf [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Private/Language/locallang_objbrowser.xlf [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/1.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/10.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/11.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/12.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/13.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/14.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/15.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/16.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/17.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/18.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/19.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/2.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/20.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/3.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/4.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/5.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/6.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/7.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/8.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/9.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/BUG_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/BUG_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/BUG_menu2.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/BUSINESS_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/BUSINESS_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_page.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/CrCPH_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/FIRST_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/FIRST_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_columns.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu2.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu3.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_menu2.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_page.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_toptitle.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/MM_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/MM_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/MM_right.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/NEWSLETTER_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/RE_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/RE_leftmenu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/RE_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/RE_top.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/TU_basic.gif [new file with mode: 0644]
typo3/sysext/tstemplate/Resources/Public/gfx/TU_menu.gif [new file with mode: 0644]
typo3/sysext/tstemplate/ext_icon.gif
typo3/sysext/tstemplate/ext_tables.php
typo3/sysext/tstemplate/ts/ts.gif [deleted file]
typo3/sysext/tstemplate_analyzer/Classes/Controller/TemplateAnalyzerModuleFunctionController.php [deleted file]
typo3/sysext/tstemplate_analyzer/Migrations/Code/ClassAliasMap.php [deleted file]
typo3/sysext/tstemplate_analyzer/ext_emconf.php [deleted file]
typo3/sysext/tstemplate_analyzer/ext_icon.gif [deleted file]
typo3/sysext/tstemplate_analyzer/ext_tables.php [deleted file]
typo3/sysext/tstemplate_analyzer/locallang.xlf [deleted file]
typo3/sysext/tstemplate_ceditor/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php [deleted file]
typo3/sysext/tstemplate_ceditor/Migrations/Code/ClassAliasMap.php [deleted file]
typo3/sysext/tstemplate_ceditor/doc/TODO.txt [deleted file]
typo3/sysext/tstemplate_ceditor/ext_emconf.php [deleted file]
typo3/sysext/tstemplate_ceditor/ext_icon.gif [deleted file]
typo3/sysext/tstemplate_ceditor/ext_tables.php [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/1.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/10.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/11.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/12.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/13.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/14.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/15.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/16.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/17.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/18.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/19.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/2.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/20.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/3.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/4.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/5.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/6.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/7.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/8.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/9.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/BUG_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/BUG_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/BUG_menu2.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/BUSINESS_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/BUSINESS_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_page.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/CrCPH_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/FIRST_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/FIRST_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/GLCK_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/GLCK_columns.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/GLCK_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/GREEN_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu2.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu3.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/HYPER_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/HYPER_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/HYPER_menu2.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/HYPER_page.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/HYPER_toptitle.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/MM_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/MM_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/MM_right.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/NEWSLETTER_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/RE_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/RE_leftmenu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/RE_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/RE_top.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/TU_basic.gif [deleted file]
typo3/sysext/tstemplate_ceditor/gfx/TU_menu.gif [deleted file]
typo3/sysext/tstemplate_ceditor/locallang.xlf [deleted file]
typo3/sysext/tstemplate_info/Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php [deleted file]
typo3/sysext/tstemplate_info/Migrations/Code/ClassAliasMap.php [deleted file]
typo3/sysext/tstemplate_info/ext_emconf.php [deleted file]
typo3/sysext/tstemplate_info/ext_icon.gif [deleted file]
typo3/sysext/tstemplate_info/ext_tables.php [deleted file]
typo3/sysext/tstemplate_info/locallang.xlf [deleted file]
typo3/sysext/tstemplate_objbrowser/Classes/Controller/TypoScriptTemplateObjectBrowserModuleFunctionController.php [deleted file]
typo3/sysext/tstemplate_objbrowser/Migrations/Code/ClassAliasMap.php [deleted file]
typo3/sysext/tstemplate_objbrowser/doc/TODO.txt [deleted file]
typo3/sysext/tstemplate_objbrowser/ext_emconf.php [deleted file]
typo3/sysext/tstemplate_objbrowser/ext_icon.gif [deleted file]
typo3/sysext/tstemplate_objbrowser/ext_tables.php [deleted file]
typo3/sysext/tstemplate_objbrowser/locallang.xlf [deleted file]

index cc74a45..1c50d56 100644 (file)
@@ -33,10 +33,6 @@ return array(
                        'impexp',
                        'sys_note',
                        'tstemplate',
-                       'tstemplate_ceditor',
-                       'tstemplate_info',
-                       'tstemplate_objbrowser',
-                       'tstemplate_analyzer',
                        'func_wizards',
                        'wizard_crpages',
                        'wizard_sortpages',
@@ -73,4 +69,4 @@ return array(
                'sitename' => 'New TYPO3 site',
        ),
 );
-?>
\ No newline at end of file
+?>
diff --git a/typo3/sysext/tstemplate/Classes/Controller/TemplateAnalyzerModuleFunctionController.php b/typo3/sysext/tstemplate/Classes/Controller/TemplateAnalyzerModuleFunctionController.php
new file mode 100644 (file)
index 0000000..a1b8908
--- /dev/null
@@ -0,0 +1,223 @@
+<?php
+namespace TYPO3\CMS\TsTemplate\Controller;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 1999-2013 Kasper Skårhøj (kasperYYYY@typo3.com)
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the textfile GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+/**
+ * TypoScript template analyzer
+ *
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
+ */
+class TemplateAnalyzerModuleFunctionController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
+
+       /**
+        * Init
+        *
+        * @param object $pObj
+        * @param array $conf
+        * @return void
+        * @todo Define visibility
+        */
+       public function init(&$pObj, $conf) {
+               parent::init($pObj, $conf);
+               $GLOBALS['LANG']->includeLLFile('EXT:tstemplate/Resources/Private/Language/locallang_analyzer.xlf');
+               $this->pObj->modMenu_setDefaultList .= ',ts_analyzer_checkLinenum,ts_analyzer_checkSyntax';
+       }
+
+       /**
+        * Mod menu
+        *
+        * @return array
+        * @todo Define visibility
+        */
+       public function modMenu() {
+               return array(
+                       'ts_analyzer_checkSetup' => '1',
+                       'ts_analyzer_checkConst' => '1',
+                       'ts_analyzer_checkLinenum' => '1',
+                       'ts_analyzer_checkComments' => '1',
+                       'ts_analyzer_checkCrop' => '1',
+                       'ts_analyzer_checkSyntax' => '1'
+               );
+       }
+
+       /**
+        * Initialize editor
+        *
+        * @param integer $pageId
+        * @param integer $template_uid
+        * @return integer
+        * @todo Define visibility
+        */
+       public function initialize_editor($pageId, $template_uid = 0) {
+               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
+               $GLOBALS['tmpl'] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\ExtendedTemplateService');
+               // Do not log time-performance information
+               $GLOBALS['tmpl']->tt_track = 0;
+               $GLOBALS['tmpl']->init();
+               // Gets the rootLine
+               $sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
+               $GLOBALS['rootLine'] = $sys_page->getRootLine($pageId);
+               // This generates the constants/config + hierarchy info for the template.
+               $GLOBALS['tmpl']->runThroughTemplates($GLOBALS['rootLine'], $template_uid);
+               // Get the row of the first VISIBLE template of the page. whereclause like the frontend.
+               $GLOBALS['tplRow'] = $GLOBALS['tmpl']->ext_getFirstTemplate($pageId, $template_uid);
+               if (is_array($GLOBALS['tplRow'])) {
+                       // IF there was a template...
+                       return 1;
+               }
+       }
+
+       /**
+        * Main
+        *
+        * @return string
+        * @todo Define visibility
+        */
+       public function main() {
+               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
+               // Checking for more than one template an if, set a menu...
+               $manyTemplatesMenu = $this->pObj->templateMenu();
+               $template_uid = 0;
+               if ($manyTemplatesMenu) {
+                       $template_uid = $this->pObj->MOD_SETTINGS['templatesOnPage'];
+               }
+               // BUGBUG: Should we check if the uset may at all read and write template-records???
+               $existTemplate = $this->initialize_editor($this->pObj->id, $template_uid);
+               // initialize
+               if ($existTemplate) {
+                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('currentTemplate', TRUE), \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForRecord('sys_template', $GLOBALS['tplRow']) . '<strong>' . $this->pObj->linkWrapTemplateTitle($GLOBALS['tplRow']['title']) . '</strong>' . htmlspecialchars((trim($GLOBALS['tplRow']['sitetitle']) ? ' (' . $GLOBALS['tplRow']['sitetitle'] . ')' : '')));
+               }
+               if ($manyTemplatesMenu) {
+                       $theOutput .= $this->pObj->doc->section('', $manyTemplatesMenu);
+               }
+               $GLOBALS['tmpl']->clearList_const_temp = array_flip($GLOBALS['tmpl']->clearList_const);
+               $GLOBALS['tmpl']->clearList_setup_temp = array_flip($GLOBALS['tmpl']->clearList_setup);
+               $pointer = count($GLOBALS['tmpl']->hierarchyInfo);
+               $GLOBALS['tmpl']->hierarchyInfoArr = $GLOBALS['tmpl']->ext_process_hierarchyInfo(array(), $pointer);
+               $GLOBALS['tmpl']->processIncludes();
+               $hierarArr = array();
+               $head = '<tr class="t3-row-header">';
+               $head .= '<td>' . $GLOBALS['LANG']->getLL('title', TRUE) . '</td>';
+               $head .= '<td>' . $GLOBALS['LANG']->getLL('rootlevel', TRUE) . '</td>';
+               $head .= '<td>' . $GLOBALS['LANG']->getLL('clearSetup', TRUE) . '</td>';
+               $head .= '<td>' . $GLOBALS['LANG']->getLL('clearConstants', TRUE) . '</td>';
+               $head .= '<td>' . $GLOBALS['LANG']->getLL('pid', TRUE) . '</td>';
+               $head .= '<td>' . $GLOBALS['LANG']->getLL('rootline', TRUE) . '</td>';
+               $head .= '<td>' . $GLOBALS['LANG']->getLL('nextLevel', TRUE) . '</td>';
+               $head .= '</tr>';
+               $hierar = implode(array_reverse($GLOBALS['tmpl']->ext_getTemplateHierarchyArr($GLOBALS['tmpl']->hierarchyInfoArr, '', array(), 1)), '');
+               $hierar = '<table id="ts-analyzer" cellpadding="0" cellspacing="0">' . $head . $hierar . '</table>';
+               $theOutput .= $this->pObj->doc->spacer(5);
+               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('templateHierarchy', TRUE), $hierar, 0, 1);
+               $urlParameters = array(
+                       'id' => $GLOBALS['SOBE']->id,
+                       'template' => 'all'
+               );
+               $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
+               $completeLink = '<p><a href="' . htmlspecialchars($aHref) . '">' . $GLOBALS['LANG']->getLL('viewCompleteTS', TRUE) . '</a></p>';
+               $theOutput .= $this->pObj->doc->spacer(5);
+               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('completeTS', TRUE), $completeLink, 0, 1);
+               $theOutput .= $this->pObj->doc->spacer(15);
+               // Output options
+               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('displayOptions', TRUE), '', FALSE, TRUE);
+               $addParams = \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') ? '&template=' . \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') : '';
+               $theOutput .= '<div class="tst-analyzer-options">' . \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_analyzer_checkLinenum]', $this->pObj->MOD_SETTINGS['ts_analyzer_checkLinenum'], '', $addParams, 'id="checkTs_analyzer_checkLinenum"') . '<label for="checkTs_analyzer_checkLinenum">' . $GLOBALS['LANG']->getLL('lineNumbers', TRUE) . '</label> ' . \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_analyzer_checkSyntax]', $this->pObj->MOD_SETTINGS['ts_analyzer_checkSyntax'], '', $addParams, 'id="checkTs_analyzer_checkSyntax"') . '<label for="checkTs_analyzer_checkSyntax">' . $GLOBALS['LANG']->getLL('syntaxHighlight', TRUE) . '</label> ' . (!$this->pObj->MOD_SETTINGS['ts_analyzer_checkSyntax'] ? \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_analyzer_checkComments]', $this->pObj->MOD_SETTINGS['ts_analyzer_checkComments'], '', $addParams, 'id="checkTs_analyzer_checkComments"') . '<label for="checkTs_analyzer_checkComments">' . $GLOBALS['LANG']->getLL('comments', TRUE) . '</label> ' . \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_analyzer_checkCrop]', $this->pObj->MOD_SETTINGS['ts_analyzer_checkCrop'], '', $addParams, 'id="checkTs_analyzer_checkCrop"') . '<label for="checkTs_analyzer_checkCrop">' . $GLOBALS['LANG']->getLL('cropLines', TRUE) . '</label> ' : '') . '</div>';
+               $theOutput .= $this->pObj->doc->spacer(25);
+               // Output Constants
+               if (\TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template')) {
+                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('constants', TRUE), '', 0, 1);
+                       $theOutput .= $this->pObj->doc->sectionEnd();
+                       $theOutput .= '
+                               <table class="ts-typoscript" border="0" cellpadding="1" cellspacing="0">
+                       ';
+                       // Don't know why -2 and not 0... :-) But works.
+                       $GLOBALS['tmpl']->ext_lineNumberOffset = -2;
+                       $GLOBALS['tmpl']->ext_lineNumberOffset_mode = 'const';
+                       $GLOBALS['tmpl']->ext_lineNumberOffset += count(explode(LF, \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines(('' . $GLOBALS['TYPO3_CONF_VARS']['FE']['defaultTypoScript_constants'])))) + 1;
+                       reset($GLOBALS['tmpl']->clearList_const);
+                       foreach ($GLOBALS['tmpl']->constants as $key => $val) {
+                               $cVal = current($GLOBALS['tmpl']->clearList_const);
+                               if ($cVal == \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') || \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') == 'all') {
+                                       $theOutput .= '
+                                               <tr>
+                                                       </td><td class="bgColor2"><strong>' . htmlspecialchars($GLOBALS['tmpl']->templateTitles[$cVal]) . '</strong></td></tr>
+                                               <tr>
+                                                       <td class="bgColor2"><table border="0" cellpadding="0" cellspacing="0" class="bgColor0" width="100%"><tr><td nowrap="nowrap">' . $GLOBALS['tmpl']->ext_outputTS(array($val), $this->pObj->MOD_SETTINGS['ts_analyzer_checkLinenum'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkComments'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkCrop'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkSyntax'], 0) . '</td></tr></table>
+                                                       </td>
+                                               </tr>
+                                       ';
+                                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') != 'all') {
+                                               break;
+                                       }
+                               }
+                               $GLOBALS['tmpl']->ext_lineNumberOffset += count(explode(LF, $val)) + 1;
+                               next($GLOBALS['tmpl']->clearList_const);
+                       }
+                       $theOutput .= '
+                               </table>
+                       ';
+               }
+               // Output setup
+               if (\TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template')) {
+                       $theOutput .= $this->pObj->doc->spacer(15);
+                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('setup', TRUE), '', 0, 1);
+                       $theOutput .= $this->pObj->doc->sectionEnd();
+                       $theOutput .= '
+                               <table class="ts-typoscript" border="0" cellpadding="1" cellspacing="0">
+                       ';
+                       $GLOBALS['tmpl']->ext_lineNumberOffset = 0;
+                       $GLOBALS['tmpl']->ext_lineNumberOffset_mode = 'setup';
+                       $GLOBALS['tmpl']->ext_lineNumberOffset += count(explode(LF, \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines(('' . $GLOBALS['TYPO3_CONF_VARS']['FE']['defaultTypoScript_setup'])))) + 1;
+                       reset($GLOBALS['tmpl']->clearList_setup);
+                       foreach ($GLOBALS['tmpl']->config as $key => $val) {
+                               if (current($GLOBALS['tmpl']->clearList_setup) == \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') || \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') == 'all') {
+                                       $theOutput .= '
+                                               <tr>
+                                                       <td class="bgColor2"><strong>' . htmlspecialchars($GLOBALS['tmpl']->templateTitles[current($GLOBALS['tmpl']->clearList_setup)]) . '</strong></td></tr>
+                                               <tr>
+                                                       <td class="bgColor2"><table border="0" cellpadding="0" cellspacing="0" class="bgColor0" width="100%"><tr><td nowrap="nowrap">' . $GLOBALS['tmpl']->ext_outputTS(array($val), $this->pObj->MOD_SETTINGS['ts_analyzer_checkLinenum'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkComments'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkCrop'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkSyntax'], 0) . '</td></tr></table>
+                                                       </td>
+                                               </tr>
+                                       ';
+                                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') != 'all') {
+                                               break;
+                                       }
+                               }
+                               $GLOBALS['tmpl']->ext_lineNumberOffset += count(explode(LF, $val)) + 1;
+                               next($GLOBALS['tmpl']->clearList_setup);
+                       }
+                       $theOutput .= '
+                               </table>
+                       ';
+               }
+               return $theOutput;
+       }
+
+}
+
+?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php b/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php
new file mode 100644 (file)
index 0000000..9896f96
--- /dev/null
@@ -0,0 +1,173 @@
+<?php
+namespace TYPO3\CMS\TsTemplate\Controller;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 1999-2013 Kasper Skårhøj (kasperYYYY@typo3.com)
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the textfile GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+/**
+ * TypoScript Constant editor
+ *
+ * Module Include-file
+ *
+ * localconf-variables:
+ * $TYPO3_CONF_VARS['MODS']['web_ts']['onlineResourceDir'] = 'fileadmin/fonts/';               // This is the path (must be in "fileadmin/" !!) where the web_ts/constant-editor submodule fetches online resources. Put fonts (ttf) and standard images here!
+ *
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
+ */
+class TypoScriptTemplateConstantEditorModuleFunctionController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
+
+       /**
+        * Initialize editor
+        *
+        * @param integer $pageId
+        * @param integer $template_uid
+        * @return integer
+        * @todo Define visibility
+        */
+       public function initialize_editor($pageId, $template_uid = 0) {
+               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
+               global $tmpl, $tplRow, $theConstants;
+               $tmpl = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\ExtendedTemplateService');
+               // Defined global here!
+               $tmpl->tt_track = 0;
+               // Do not log time-performance information
+               $tmpl->init();
+               $tmpl->ext_localGfxPrefix = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('tstemplate');
+               $tmpl->ext_localWebGfxPrefix = $GLOBALS['BACK_PATH'] . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('tstemplate') . 'Resources/Public/';
+               // Get the row of the first VISIBLE template of the page. whereclause like the frontend.
+               $tplRow = $tmpl->ext_getFirstTemplate($pageId, $template_uid);
+               // IF there was a template...
+               if (is_array($tplRow)) {
+                       // Gets the rootLine
+                       $sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
+                       $rootLine = $sys_page->getRootLine($pageId);
+                       // This generates the constants/config + hierarchy info for the template.
+                       $tmpl->runThroughTemplates($rootLine, $template_uid);
+                       // The editable constants are returned in an array.
+                       $theConstants = $tmpl->generateConfig_constants();
+                       // The returned constants are sorted in categories, that goes into the $tmpl->categories array
+                       $tmpl->ext_categorizeEditableConstants($theConstants);
+                       // This array will contain key=[expanded constantname], value=linenumber in template. (after edit_divider, if any)
+                       $tmpl->ext_regObjectPositions($tplRow['constants']);
+                       return 1;
+               }
+       }
+
+       /**
+        * Display example
+        *
+        * @param string $theOutput
+        * @return string
+        * @todo Define visibility
+        */
+       public function displayExample($theOutput) {
+               global $tmpl;
+               if ($tmpl->helpConfig['imagetag'] || $tmpl->helpConfig['description'] || $tmpl->helpConfig['header']) {
+                       $theOutput .= $this->pObj->doc->spacer(30);
+                       $theOutput .= $this->pObj->doc->section($tmpl->helpConfig['header'], '<div align="center">' . $tmpl->helpConfig['imagetag'] . '</div><BR>' . ($tmpl->helpConfig['description'] ? implode(explode('//', $tmpl->helpConfig['description']), '<BR>') . '<BR>' : '') . ($tmpl->helpConfig['bulletlist'] ? '<ul><li>' . implode(explode('//', $tmpl->helpConfig['bulletlist']), '<li>') . '</ul>' : '<BR>'));
+               }
+               return $theOutput;
+       }
+
+       /**
+        * Main
+        *
+        * @return string
+        * @todo Define visibility
+        */
+       public function main() {
+               global $TYPO3_CONF_VARS;
+               global $tmpl, $tplRow, $theConstants;
+               $GLOBALS['LANG']->includeLLFile('EXT:tstemplate/Resources/Private/Language/locallang_ceditor.xlf');
+               $theOutput = '';
+               // Create extension template
+               $this->pObj->createTemplate($this->pObj->id);
+               // Checking for more than one template an if, set a menu...
+               $manyTemplatesMenu = $this->pObj->templateMenu();
+               $template_uid = 0;
+               if ($manyTemplatesMenu) {
+                       $template_uid = $this->pObj->MOD_SETTINGS['templatesOnPage'];
+               }
+               // BUGBUG: Should we check if the user may at all read and write template-records???
+               // initialize
+               $existTemplate = $this->initialize_editor($this->pObj->id, $template_uid);
+               if ($existTemplate) {
+                       $saveId = $tplRow['_ORIG_uid'] ? $tplRow['_ORIG_uid'] : $tplRow['uid'];
+                       // Update template ?
+                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('submit') || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger(\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('submit_x')) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger(\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('submit_y'))) {
+                               $tmpl->changed = 0;
+                               $tmpl->ext_procesInput(\TYPO3\CMS\Core\Utility\GeneralUtility::_POST(), array(), $theConstants, $tplRow);
+                               if ($tmpl->changed) {
+                                       // Set the data to be saved
+                                       $recData = array();
+                                       $recData['sys_template'][$saveId]['constants'] = implode($tmpl->raw, LF);
+                                       // Create new  tce-object
+                                       $tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
+                                       $tce->stripslashes_values = 0;
+                                       $tce->start($recData, array());
+                                       $tce->process_datamap();
+                                       // Clear the cache (note: currently only admin-users can clear the cache in tce_main.php)
+                                       $tce->clear_cacheCmd('all');
+                                       // re-read the template ...
+                                       $this->initialize_editor($this->pObj->id, $template_uid);
+                               }
+                       }
+                       // Resetting the menu (start). I wonder if this in any way is a violation of the menu-system. Haven't checked. But need to do it here, because the menu is dependent on the categories available.
+                       $this->pObj->MOD_MENU['constant_editor_cat'] = $tmpl->ext_getCategoryLabelArray();
+                       $this->pObj->MOD_SETTINGS = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleData($this->pObj->MOD_MENU, \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('SET'), $this->pObj->MCONF['name']);
+                       // Resetting the menu (stop)
+                       $content = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForRecord('sys_template', $tplRow) . '<strong>' . $this->pObj->linkWrapTemplateTitle($tplRow['title'], 'constants') . '</strong>' . htmlspecialchars((trim($tplRow['sitetitle']) ? ' (' . $tplRow['sitetitle'] . ')' : ''));
+                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('editConstants', TRUE), $content, FALSE, TRUE);
+                       if ($manyTemplatesMenu) {
+                               $theOutput .= $this->pObj->doc->section('', $manyTemplatesMenu);
+                       }
+                       $theOutput .= $this->pObj->doc->spacer(10);
+                       if (count($this->pObj->MOD_MENU['constant_editor_cat'])) {
+                               $menu = \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[constant_editor_cat]', $this->pObj->MOD_SETTINGS['constant_editor_cat'], $this->pObj->MOD_MENU['constant_editor_cat']);
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('category', TRUE), '<NOBR>' . $menu . '</NOBR>', FALSE);
+                       } else {
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('noConstants', TRUE), $GLOBALS['LANG']->getLL('noConstantsDescription', TRUE), FALSE, FALSE, 1);
+                       }
+                       $theOutput .= $this->pObj->doc->spacer(15);
+                       // Category and constant editor config:
+                       $category = $this->pObj->MOD_SETTINGS['constant_editor_cat'];
+                       $tmpl->ext_getTSCE_config($category);
+                       $printFields = trim($tmpl->ext_printFields($theConstants, $category));
+                       if ($printFields) {
+                               $theOutput .= $this->pObj->doc->section('', $printFields);
+                       }
+                       if ($BE_USER_modOptions['properties']['constantEditor.']['example'] != 'top') {
+                               $theOutput = $this->displayExample($theOutput);
+                       }
+               } else {
+                       $theOutput .= $this->pObj->noTemplate(1);
+               }
+               return $theOutput;
+       }
+
+}
+
+?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php b/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php
new file mode 100644 (file)
index 0000000..58b90b1
--- /dev/null
@@ -0,0 +1,420 @@
+<?php
+namespace TYPO3\CMS\Tstemplate\Controller;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 1999-2013 Kasper Skårhøj (kasperYYYY@typo3.com)
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the textfile GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+/**
+ * This class displays the Info/Modify screen of the Web > Template module
+ *
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
+ */
+class TypoScriptTemplateInformationModuleFunctionController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
+
+       /**
+        * Indicator for t3editor, whether data is stored
+        *
+        * @var boolean
+        */
+       public $tce_processed = FALSE;
+
+       /**
+        * Creates a row for a HTML table
+        *
+        * @param string $label The label to be shown (e.g. 'Title:', 'Sitetitle:')
+        * @param string $data The data/information to be shown (e.g. 'Template for my site')
+        * @param string $field The field/variable to be sent on clicking the edit icon (e.g. 'title', 'sitetitle')
+        * @return string A row for a HTML table
+        * @todo Define visibility
+        */
+       public function tableRow($label, $data, $field) {
+               $ret = '<tr><td>';
+               $urlParameters = array(
+                       'id' => $this->pObj->id
+               );
+               $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
+               $ret .= '<a href="' . htmlspecialchars(($aHref . '&e[' . $field . ']=1')) . '">' . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-open', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xlf:editField', TRUE))) . '<strong>' . $label . '&nbsp;&nbsp;</strong></a>';
+               $ret .= '</td><td width="80%" class="bgColor4">' . $data . '&nbsp;</td></tr>';
+               return $ret;
+       }
+
+       /**
+        * Renders HTML table with available template resources/files
+        *
+        * @param string $resources List of  resources/files to be shown (e.g. 'file_01.txt,file.txt')
+        * @param boolean $func Whether to render functions like 'to top' or 'delete' for each resource (default: FALSE)
+        * @return string HTML table with available template resources/files
+        * @todo Define visibility
+        */
+       public function procesResources($resources, $func = FALSE) {
+               $arr = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $resources . ',,', TRUE);
+               $out = '';
+               $bgcol = $func ? ' class="bgColor4"' : '';
+               foreach ($arr as $k => $v) {
+                       $path = PATH_site . $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['uploadfolder'] . '/' . $v;
+                       $functions = '';
+                       if ($func) {
+                               $functions = '<td bgcolor="red" nowrap="nowrap">' . $GLOBALS['LANG']->getLL('delete') . ' <input type="checkbox" name="data[remove_resource][' . $k . ']" value="' . htmlspecialchars($v) . '" /></td>';
+                               $functions .= '<td' . $bgcol . ' nowrap="nowrap">' . $GLOBALS['LANG']->getLL('toTop') . ' <input type="checkbox" name="data[totop_resource][' . $k . ']" value="' . htmlspecialchars($v) . '" /></td>';
+                               $functions .= '<td' . $bgcol . ' nowrap="nowrap">';
+                               $fI = \TYPO3\CMS\Core\Utility\GeneralUtility::split_fileref($v);
+                               if (\TYPO3\CMS\Core\Utility\GeneralUtility::inList($this->pObj->textExtensions, $fI['fileext'])) {
+                                       $urlParameters = array(
+                                               'id' => $this->pObj->id
+                                       );
+                                       $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
+                                       $functions .= '<a href="' . htmlspecialchars(($aHref . '&e[file]=' . rawurlencode($v))) . '">' . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-open', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xlf:editFile', TRUE))) . '</a>';
+                               }
+                               $functions .= '</td>';
+                       }
+                       $thumb = \TYPO3\CMS\Backend\Utility\BackendUtility::thumbCode(array('resources' => $v), 'sys_template', 'resources', $GLOBALS['BACK_PATH'], '');
+                       $out .= '<tr><td' . $bgcol . ' nowrap="nowrap">' . $v . '&nbsp;&nbsp;</td><td' . $bgcol . ' nowrap="nowrap">&nbsp;' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatSize(@filesize($path)) . '&nbsp;</td>' . $functions . '<td' . $bgcol . '>' . trim($thumb) . '</td></tr>';
+               }
+               if ($out) {
+                       if ($func) {
+                               $out = '<table border="0" cellpadding="1" cellspacing="1" width="100%">' . $out . '</table>';
+                               $out = '<table border="0" cellpadding="0" cellspacing="0">
+                                       <tr><td class="bgColor2">' . $out . '<img src="clear.gif" width="465px" height="1px"></td></tr>
+                               </table>';
+                       } else {
+                               $out = '<table border="0" cellpadding="0" cellspacing="0">' . $out . '</table>';
+                       }
+               }
+               return $out;
+       }
+
+       /**
+        * Renders HTML table with all available template resources/files in the current rootline that could be copied
+        *
+        * @param integer $id The uid of the current page
+        * @param integer $template_uid The uid of the template record to be rendered (only if more than one template on the current page)
+        * @return string HTML table with all available template resources/files in the current rootline that could be copied
+        * @todo Define visibility
+        */
+       public function resourceListForCopy($id, $template_uid) {
+               global $tmpl;
+               $sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
+               $rootLine = $sys_page->getRootLine($id);
+               // This generates the constants/config + hierarchy info for the template.
+               $tmpl->runThroughTemplates($rootLine, $template_uid);
+               $theResources = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $tmpl->resources, TRUE);
+               foreach ($theResources as $k => $v) {
+                       $fI = pathinfo($v);
+                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::inList($this->pObj->textExtensions, strtolower($fI['extension']))) {
+                               $path = PATH_site . $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['uploadfolder'] . '/' . $v;
+                               $thumb = \TYPO3\CMS\Backend\Utility\BackendUtility::thumbCode(array('resources' => $v), 'sys_template', 'resources', $GLOBALS['BACK_PATH'], '');
+                               $out .= '<tr><td' . $bgcol . ' nowrap="nowrap">' . $v . '&nbsp;&nbsp;</td><td' . $bgcol . ' nowrap="nowrap">&nbsp;' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatSize(@filesize($path)) . '&nbsp;</td><td' . $bgcol . '>' . trim($thumb) . '</td><td><input type="Checkbox" name="data[makecopy_resource][' . $k . ']" value="' . htmlspecialchars($v) . '"></td></tr>';
+                       }
+               }
+               $out = $out ? '<table border="0" cellpadding="0" cellspacing="0">' . $out . '</table>' : '';
+               return $out;
+       }
+
+       /**
+        * Create an instance of \TYPO3\CMS\Core\TypoScript\ExtendedTemplateService in
+        * $GLOBALS['tmpl'] and looks for the first (visible) template
+        * record. If $template_uid was given and greater than zero, this record will be checked.
+        *
+        * @param integer $pageId The uid of the current page
+        * @param integer $template_uid: The uid of the template record to be rendered (only if more than one template on the current page)
+        * @return boolean Returns TRUE if a template record was found, otherwise FALSE
+        * @todo Define visibility
+        */
+       public function initialize_editor($pageId, $template_uid = 0) {
+               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
+               global $tmpl, $tplRow, $theConstants;
+               // Defined global here!
+               $tmpl = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\ExtendedTemplateService');
+               // Do not log time-performance information
+               $tmpl->tt_track = 0;
+               $tmpl->init();
+               // Get the row of the first VISIBLE template of the page. whereclause like the frontend.
+               $tplRow = $tmpl->ext_getFirstTemplate($pageId, $template_uid);
+               if (is_array($tplRow)) {
+                       $tplRow = $this->processTemplateRowAfterLoading($tplRow);
+                       return TRUE;
+               }
+               return FALSE;
+       }
+
+       /**
+        * Process template row after loading
+        *
+        * @param array $tplRow Template row
+        * @return array Preprocessed template row
+        * @author Fabrizio Branca <typo3@fabrizio-branca.de>
+        * @todo Define visibility
+        */
+       public function processTemplateRowAfterLoading(array $tplRow) {
+               if ($this->pObj->MOD_SETTINGS['includeTypoScriptFileContent']) {
+                       // Let the recursion detection counter start at 91, so that only 10 recursive calls will be resolved
+                       // Otherwise the editor will be bloated with way to many lines making it hard the break the cyclic recursion.
+                       $tplRow['config'] = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines($tplRow['config'], 91);
+                       $tplRow['constants'] = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines($tplRow['constants'], 91);
+               }
+               return $tplRow;
+       }
+
+       /**
+        * Process template row before saving
+        *
+        * @param array $tplRow Template row
+        * @return array Preprocessed template row
+        * @author Fabrizio Branca <typo3@fabrizio-branca.de>
+        * @todo Define visibility
+        */
+       public function processTemplateRowBeforeSaving(array $tplRow) {
+               if ($this->pObj->MOD_SETTINGS['includeTypoScriptFileContent']) {
+                       $tplRow = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::extractIncludes_array($tplRow);
+               }
+               return $tplRow;
+       }
+
+       /**
+        * The main processing method if this class
+        *
+        * @return string Information of the template status or the taken actions as HTML string
+        * @todo Define visibility
+        */
+       public function main() {
+               global $BACK_PATH;
+               global $tmpl, $tplRow, $theConstants;
+               $GLOBALS['LANG']->includeLLFile('EXT:tstemplate/Resources/Private/Language/locallang_info.xlf');
+               $this->pObj->MOD_MENU['includeTypoScriptFileContent'] = TRUE;
+               $edit = $this->pObj->edit;
+               $e = $this->pObj->e;
+               // Checking for more than one template an if, set a menu...
+               $manyTemplatesMenu = $this->pObj->templateMenu();
+               $template_uid = 0;
+               if ($manyTemplatesMenu) {
+                       $template_uid = $this->pObj->MOD_SETTINGS['templatesOnPage'];
+               }
+               // Initialize
+               $existTemplate = $this->initialize_editor($this->pObj->id, $template_uid);
+               if ($existTemplate) {
+                       $saveId = $tplRow['_ORIG_uid'] ? $tplRow['_ORIG_uid'] : $tplRow['uid'];
+               }
+               // Create extension template
+               $newId = $this->pObj->createTemplate($this->pObj->id, $saveId);
+               if ($newId) {
+                       // Switch to new template
+                       $urlParameters = array(
+                               'id' => $this->pObj->id,
+                               'SET[templatesOnPage]' => $newId
+                       );
+                       $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
+                       \TYPO3\CMS\Core\Utility\HttpUtility::redirect($aHref);
+               }
+               if ($existTemplate) {
+                       // Update template ?
+                       $POST = \TYPO3\CMS\Core\Utility\GeneralUtility::_POST();
+                       if ($POST['submit'] || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['submit_x']) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['submit_y']) || $POST['saveclose'] || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['saveclose_x']) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['saveclose_y'])) {
+                               // Set the data to be saved
+                               $recData = array();
+                               $alternativeFileName = array();
+                               $tmp_upload_name = '';
+                               // Set this to blank
+                               $tmp_newresource_name = '';
+                               if (is_array($POST['data'])) {
+                                       foreach ($POST['data'] as $field => $val) {
+                                               switch ($field) {
+                                                       case 'constants':
+
+                                                       case 'config':
+
+                                                       case 'title':
+
+                                                       case 'sitetitle':
+
+                                                       case 'description':
+                                                               $recData['sys_template'][$saveId][$field] = $val;
+                                                       break;
+                                               }
+                                       }
+                               }
+                               if (count($recData)) {
+                                       $recData['sys_template'][$saveId] = $this->processTemplateRowBeforeSaving($recData['sys_template'][$saveId]);
+                                       // Create new  tce-object
+                                       $tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
+                                       $tce->stripslashes_values = 0;
+                                       $tce->alternativeFileName = $alternativeFileName;
+                                       // Initialize
+                                       $tce->start($recData, array());
+                                       // Saved the stuff
+                                       $tce->process_datamap();
+                                       // Clear the cache (note: currently only admin-users can clear the cache in tce_main.php)
+                                       $tce->clear_cacheCmd('all');
+                                       // tce were processed successfully
+                                       $this->tce_processed = TRUE;
+                                       // re-read the template ...
+                                       $this->initialize_editor($this->pObj->id, $template_uid);
+                               }
+                               // If files has been edited:
+                               if (is_array($edit)) {
+                                       if ($edit['filename'] && $tplRow['resources'] && \TYPO3\CMS\Core\Utility\GeneralUtility::inList($tplRow['resources'], $edit['filename'])) {
+                                               // Check if there are resources, and that the file is in the resourcelist.
+                                               $path = PATH_site . $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['uploadfolder'] . '/' . $edit['filename'];
+                                               $fI = \TYPO3\CMS\Core\Utility\GeneralUtility::split_fileref($edit['filename']);
+                                               if (@is_file($path) && \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($path) && \TYPO3\CMS\Core\Utility\GeneralUtility::inList($this->pObj->textExtensions, $fI['fileext'])) {
+                                                       // checks that have already been done.. Just to make sure
+                                                       // @TODO: Check if the hardcorded value already has a config member, otherwise create one
+                                                       // Checks that have already been done.. Just to make sure
+                                                       if (filesize($path) < 30720) {
+                                                               \TYPO3\CMS\Core\Utility\GeneralUtility::writeFile($path, $edit['file']);
+                                                               $theOutput .= $this->pObj->doc->spacer(10);
+                                                               $theOutput .= $this->pObj->doc->section('<font color=red>' . $GLOBALS['LANG']->getLL('fileChanged') . '</font>', sprintf($GLOBALS['LANG']->getLL('resourceUpdated'), $edit['filename']), 0, 0, 0, 1);
+                                                               // Clear cache - the file has probably affected the template setup
+                                                               // @TODO: Check if the edited file really had something to do with cached data and prevent this clearing if possible!
+                                                               /** @var $tce \TYPO3\CMS\Core\DataHandling\DataHandler */
+                                                               $tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
+                                                               $tce->stripslashes_values = 0;
+                                                               $tce->start(array(), array());
+                                                               $tce->clear_cacheCmd('all');
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+                       // Hook post updating template/TCE processing
+                       if (isset($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postTCEProcessingHook'])) {
+                               $postTCEProcessingHook = &$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postTCEProcessingHook'];
+                               if (is_array($postTCEProcessingHook)) {
+                                       $hookParameters = array(
+                                               'POST' => $POST,
+                                               'tce' => $tce
+                                       );
+                                       foreach ($postTCEProcessingHook as $hookFunction) {
+                                               \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($hookFunction, $hookParameters, $this);
+                                       }
+                               }
+                       }
+                       $content = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForRecord('sys_template', $tplRow, array('oncontextmenu' => "Clickmenu.show(
+'sys_template', '" . $tplRow['uid'] . "', '1', '', '', ''); return false;", 'onclick' => "Clickmenu.show('sys_template', '" . $tplRow['uid'] . "', '1', '','', ''); return false;")) . '<strong>' . htmlspecialchars($tplRow['title']) . '</strong>' . htmlspecialchars((trim($tplRow['sitetitle']) ? ' (' . $tplRow['sitetitle'] . ')' : ''));
+                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('templateInformation'), $content, 0, 1);
+                       if ($manyTemplatesMenu) {
+                               $theOutput .= $this->pObj->doc->section('', $manyTemplatesMenu);
+                       }
+                       $theOutput .= $this->pObj->doc->spacer(10);
+                       $numberOfRows = 35;
+                       // If abort pressed, nothing should be edited:
+                       if ($POST['abort'] || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['abort_x']) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['abort_y']) || $POST['saveclose'] || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['saveclose_x']) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['saveclose_y'])) {
+                               unset($e);
+                       }
+                       if ($e['title']) {
+                               $outCode = '<input type="Text" name="data[title]" value="' . htmlspecialchars($tplRow['title']) . '"' . $this->pObj->doc->formWidth() . '>';
+                               $outCode .= '<input type="Hidden" name="e[title]" value="1">';
+                               $theOutput .= $this->pObj->doc->spacer(15);
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('title'), $outCode, TRUE);
+                       }
+                       if ($e['sitetitle']) {
+                               $outCode = '<input type="Text" name="data[sitetitle]" value="' . htmlspecialchars($tplRow['sitetitle']) . '"' . $this->pObj->doc->formWidth() . '>';
+                               $outCode .= '<input type="Hidden" name="e[sitetitle]" value="1">';
+                               $theOutput .= $this->pObj->doc->spacer(15);
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('sitetitle'), $outCode, TRUE);
+                       }
+                       if ($e['description']) {
+                               $outCode = '<textarea name="data[description]" rows="5" class="fixed-font enable-tab"' . $this->pObj->doc->formWidthText(48, '', '') . '>' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatForTextarea($tplRow['description']) . '</textarea>';
+                               $outCode .= '<input type="Hidden" name="e[description]" value="1">';
+                               $theOutput .= $this->pObj->doc->spacer(15);
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('description'), $outCode, TRUE);
+                       }
+                       if ($e['constants']) {
+                               $outCode = '<textarea name="data[constants]" rows="' . $numberOfRows . '" wrap="off" class="fixed-font enable-tab"' . $this->pObj->doc->formWidthText(48, 'width:98%;height:70%', 'off') . ' class="fixed-font">' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatForTextarea($tplRow['constants']) . '</textarea>';
+                               $outCode .= '<input type="Hidden" name="e[constants]" value="1">';
+                               // Display "Include TypoScript file content?" checkbox
+                               $outCode .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[includeTypoScriptFileContent]', $this->pObj->MOD_SETTINGS['includeTypoScriptFileContent'], '', '&e[constants]=1', 'id="checkIncludeTypoScriptFileContent"');
+                               $outCode .= '<label for="checkIncludeTypoScriptFileContent">' . $GLOBALS['LANG']->getLL('includeTypoScriptFileContent') . '</label><br />';
+                               $theOutput .= $this->pObj->doc->spacer(15);
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('constants'), '', TRUE);
+                               $theOutput .= $this->pObj->doc->sectionEnd() . $outCode;
+                       }
+                       if ($e['file']) {
+                               $path = PATH_site . $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['uploadfolder'] . '/' . $e[file];
+                               $fI = \TYPO3\CMS\Core\Utility\GeneralUtility::split_fileref($e[file]);
+                               if (@is_file($path) && \TYPO3\CMS\Core\Utility\GeneralUtility::inList($this->pObj->textExtensions, $fI['fileext'])) {
+                                       if (filesize($path) < $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['max_size'] * 1024) {
+                                               $fileContent = \TYPO3\CMS\Core\Utility\GeneralUtility::getUrl($path);
+                                               $outCode = $GLOBALS['LANG']->getLL('file') . ' <strong>' . $e[file] . '</strong><BR>';
+                                               $outCode .= '<textarea name="edit[file]" rows="' . $numberOfRows . '" wrap="off" class="fixed-font enable-tab"' . $this->pObj->doc->formWidthText(48, 'width:98%;height:70%', 'off') . ' class="fixed-font">' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatForTextarea($fileContent) . '</textarea>';
+                                               $outCode .= '<input type="Hidden" name="edit[filename]" value="' . $e[file] . '">';
+                                               $outCode .= '<input type="Hidden" name="e[file]" value="' . htmlspecialchars($e[file]) . '">';
+                                               $theOutput .= $this->pObj->doc->spacer(15);
+                                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('editResource'), '');
+                                               $theOutput .= $this->pObj->doc->sectionEnd() . $outCode;
+                                       } else {
+                                               $theOutput .= $this->pObj->doc->spacer(15);
+                                               $fileToBig = sprintf($GLOBALS['LANG']->getLL('filesizeExceeded'), $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['max_size']);
+                                               $filesizeNotAllowed = sprintf($GLOBALS['LANG']->getLL('notAllowed'), $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['max_size']);
+                                               $theOutput .= $this->pObj->doc->section('<font color=red>' . $fileToBig . '</font>', $filesizeNotAllowed, 0, 0, 0, 1);
+                                       }
+                               }
+                       }
+                       if ($e['config']) {
+                               $outCode = '<textarea name="data[config]" rows="' . $numberOfRows . '" wrap="off" class="fixed-font enable-tab"' . $this->pObj->doc->formWidthText(48, 'width:98%;height:70%', 'off') . ' class="fixed-font">' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatForTextarea($tplRow['config']) . '</textarea>';
+                               $outCode .= '<input type="Hidden" name="e[config]" value="1">';
+                               // Display "Include TypoScript file content?" checkbox
+                               $outCode .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[includeTypoScriptFileContent]', $this->pObj->MOD_SETTINGS['includeTypoScriptFileContent'], '', '&e[config]=1', 'id="checkIncludeTypoScriptFileContent"');
+                               $outCode .= '<label for="checkIncludeTypoScriptFileContent">' . $GLOBALS['LANG']->getLL('includeTypoScriptFileContent') . '</label><br />';
+                               $theOutput .= $this->pObj->doc->spacer(15);
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('setup'), '', TRUE);
+                               $theOutput .= $this->pObj->doc->sectionEnd() . $outCode;
+                       }
+                       // Processing:
+                       $outCode = '';
+                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('title'), htmlspecialchars($tplRow['title']), 'title');
+                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('sitetitle'), htmlspecialchars($tplRow['sitetitle']), 'sitetitle');
+                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('description'), nl2br(htmlspecialchars($tplRow['description'])), 'description');
+                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('constants'), sprintf($GLOBALS['LANG']->getLL('editToView'), trim($tplRow[constants]) ? count(explode(LF, $tplRow[constants])) : 0), 'constants');
+                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('setup'), sprintf($GLOBALS['LANG']->getLL('editToView'), trim($tplRow[config]) ? count(explode(LF, $tplRow[config])) : 0), 'config');
+                       $outCode = '<table class="t3-table-info">' . $outCode . '</table>';
+                       // Edit all icon:
+                       $outCode .= '<br /><a href="#" onClick="' . \TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick((rawurlencode('&createExtension=0') . '&amp;edit[sys_template][' . $tplRow['uid'] . ']=edit'), $BACK_PATH, '') . '"><strong>' . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-open', array('title' => $GLOBALS['LANG']->getLL('editTemplateRecord'))) . $GLOBALS['LANG']->getLL('editTemplateRecord') . '</strong></a>';
+                       $theOutput .= $this->pObj->doc->section('', $outCode);
+                       // hook after compiling the output
+                       if (isset($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postOutputProcessingHook'])) {
+                               $postOutputProcessingHook = &$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postOutputProcessingHook'];
+                               if (is_array($postOutputProcessingHook)) {
+                                       $hookParameters = array(
+                                               'theOutput' => &$theOutput,
+                                               'POST' => $POST,
+                                               'e' => $e,
+                                               'tplRow' => $tplRow,
+                                               'numberOfRows' => $numberOfRows
+                                       );
+                                       foreach ($postOutputProcessingHook as $hookFunction) {
+                                               \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($hookFunction, $hookParameters, $this);
+                                       }
+                               }
+                       }
+               } else {
+                       $theOutput .= $this->pObj->noTemplate(1);
+               }
+               return $theOutput;
+       }
+
+}
+
+?>
index 47ede6d..5f8f1b4 100644 (file)
@@ -254,10 +254,11 @@ class TypoScriptTemplateModuleController extends \TYPO3\CMS\Backend\Module\BaseS
                        'view' => '',
                        'shortcut' => ''
                );
+
                if ($this->id && $this->access) {
                        // View page
                        $buttons['view'] = '<a href="#" onclick="' . htmlspecialchars(\TYPO3\CMS\Backend\Utility\BackendUtility::viewOnClick($this->pageinfo['uid'], $GLOBALS['BACK_PATH'], \TYPO3\CMS\Backend\Utility\BackendUtility::BEgetRootLine($this->pageinfo['uid']))) . '" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.showPage', TRUE) . '">' . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-view') . '</a>';
-                       if ($this->extClassConf['name'] == 'TYPO3\CMS\TstemplateInfo\Controller\TypoScriptTemplateInformationModuleFunctionController') {
+                       if ($this->extClassConf['name'] == 'TYPO3\CMS\TsTemplate\Controller\TypoScriptTemplateInformationModuleFunctionController') {
                                // NEW button
                                $buttons['new'] = '<input type="image" class="c-inputButton" name="createExtension" value="New"' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/new_el.gif', '') . ' title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:db_new.php.pagetitle', TRUE) . '" />';
                                if (!empty($this->e) && !\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('abort') && !\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('saveclose')) {
@@ -276,10 +277,10 @@ class TypoScriptTemplateModuleController extends \TYPO3\CMS\Backend\Module\BaseS
                                                'html' => '<input type="image" class="c-inputButton" name="abort" src="clear.gif" ' . 'title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:rm.closeDoc', TRUE) . '" ' . 'value="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:rm.closeDoc', TRUE) . '" ' . '/>'
                                        ));
                                }
-                       } elseif ($this->extClassConf['name'] == 'TYPO3\CMS\TstemplateCeditor\Controller\TypoScriptTemplateConstantEditorModuleFunctionController' && count($this->MOD_MENU['constant_editor_cat'])) {
+                       } elseif ($this->extClassConf['name'] == 'TYPO3\CMS\TsTemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController' && count($this->MOD_MENU['constant_editor_cat'])) {
                                // SAVE button
                                $buttons['save'] = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-save', array('html' => '<input type="image" class="c-inputButton" name="submit" src="clear.gif" ' . 'title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:rm.saveDoc', TRUE) . '" ' . 'value="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:rm.saveDoc', TRUE) . '" ' . '/>'));
-                       } elseif ($this->extClassConf['name'] == 'TYPO3\CMS\TstemplateObjbrowser\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController') {
+                       } elseif ($this->extClassConf['name'] == 'TYPO3\CMS\TsTemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController') {
                                if (!empty($this->sObj)) {
                                        // BACK
                                        $urlParameters = array(
diff --git a/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateObjectBrowserModuleFunctionController.php b/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateObjectBrowserModuleFunctionController.php
new file mode 100644 (file)
index 0000000..14f08d9
--- /dev/null
@@ -0,0 +1,481 @@
+<?php
+namespace TYPO3\CMS\TsTemplate\Controller;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 1999-2013 Kasper Skårhøj (kasperYYYY@typo3.com)
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the textfile GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+/**
+ * This class displays the submodule "TypoScript Object Browser" inside the Web > Template module
+ *
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
+ */
+class TypoScriptTemplateObjectBrowserModuleFunctionController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
+
+       /**
+        * Init
+        *
+        * @param object $pObj
+        * @param array $conf
+        * @return void
+        * @todo Define visibility
+        */
+       public function init(&$pObj, $conf) {
+               parent::init($pObj, $conf);
+               $this->pObj->modMenu_dontValidateList .= ',ts_browser_toplevel_setup,ts_browser_toplevel_const,ts_browser_TLKeys_setup,ts_browser_TLKeys_const';
+               $this->pObj->modMenu_setDefaultList .= ',ts_browser_fixedLgd,ts_browser_showComments';
+       }
+
+       /**
+        * Mod menu
+        *
+        * @return array
+        * @todo Define visibility
+        */
+       public function modMenu() {
+               $GLOBALS['LANG']->includeLLFile('EXT:tstemplate/Resources/Private/Language/locallang_objbrowser.xlf');
+               $modMenu = array(
+                       'ts_browser_type' => array(
+                               'const' => $GLOBALS['LANG']->getLL('constants'),
+                               'setup' => $GLOBALS['LANG']->getLL('setup')
+                       ),
+                       'ts_browser_toplevel_setup' => array(
+                               '0' => $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('all'), 'toUpper')
+                       ),
+                       'ts_browser_toplevel_const' => array(
+                               '0' => $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('all'), 'toUpper')
+                       ),
+                       'ts_browser_const' => array(
+                               '0' => $GLOBALS['LANG']->getLL('plainSubstitution'),
+                               'subst' => $GLOBALS['LANG']->getLL('substitutedGreen'),
+                               'const' => $GLOBALS['LANG']->getLL('unsubstitutedGreen')
+                       ),
+                       'ts_browser_regexsearch' => '1',
+                       'ts_browser_fixedLgd' => '1',
+                       'ts_browser_showComments' => '1',
+                       'ts_browser_alphaSort' => '1'
+               );
+               foreach (array('setup', 'const') as $bType) {
+                       $addKey = \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('addKey');
+                       // If any plus-signs were clicked, it's registred.
+                       if (is_array($addKey)) {
+                               reset($addKey);
+                               if (current($addKey)) {
+                                       $this->pObj->MOD_SETTINGS['ts_browser_TLKeys_' . $bType][key($addKey)] = key($addKey);
+                               } else {
+                                       unset($this->pObj->MOD_SETTINGS['ts_browser_TLKeys_' . $bType][key($addKey)]);
+                               }
+                               $GLOBALS['BE_USER']->pushModuleData($this->pObj->MCONF['name'], $this->pObj->MOD_SETTINGS);
+                       }
+                       if (count($this->pObj->MOD_SETTINGS['ts_browser_TLKeys_' . $bType])) {
+                               $modMenu['ts_browser_toplevel_' . $bType]['-'] = '---';
+                               $modMenu['ts_browser_toplevel_' . $bType] = $modMenu[('ts_browser_toplevel_' . $bType)] + $this->pObj->MOD_SETTINGS[('ts_browser_TLKeys_' . $bType)];
+                       }
+               }
+               return $modMenu;
+       }
+
+       /**
+        * Verify TS objects
+        *
+        * @param array $propertyArray
+        * @param string $parentType
+        * @param string $parentValue
+        * @return array
+        * @todo Define visibility
+        */
+       public function verify_TSobjects($propertyArray, $parentType, $parentValue) {
+               $TSobjTable = array(
+                       'PAGE' => array(
+                               'prop' => array(
+                                       'typeNum' => 'int',
+                                       '1,2,3' => 'COBJ',
+                                       'bodyTag' => 'string'
+                               )
+                       ),
+                       'TEXT' => array(
+                               'prop' => array(
+                                       'value' => 'string'
+                               )
+                       ),
+                       'HTML' => array(
+                               'prop' => array(
+                                       'value' => 'stdWrap'
+                               )
+                       ),
+                       'stdWrap' => array(
+                               'prop' => array(
+                                       'field' => 'string',
+                                       'current' => 'boolean'
+                               )
+                       )
+               );
+               $TSobjDataTypes = array(
+                       'COBJ' => 'TEXT,CONTENT',
+                       'PAGE' => 'PAGE',
+                       'stdWrap' => ''
+               );
+               if ($parentType) {
+                       if (isset($TSobjDataTypes[$parentType]) && (!$TSobjDataTypes[$parentType] || \TYPO3\CMS\Core\Utility\GeneralUtility::inlist($TSobjDataTypes[$parentType], $parentValue))) {
+                               $ObjectKind = $parentValue;
+                       } else {
+                               // Object kind is "" if it should be known.
+                               $ObjectKind = '';
+                       }
+               } else {
+                       // If parentType is not given, then it can be anything. Free.
+                       $ObjectKind = $parentValue;
+               }
+               if ($ObjectKind && is_array($TSobjTable[$ObjectKind])) {
+                       $result = array();
+                       if (is_array($propertyArray)) {
+                               foreach ($propertyArray as $key => $val) {
+                                       if (\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($key)) {
+                                               // If num-arrays
+                                               $result[$key] = $TSobjTable[$ObjectKind]['prop']['1,2,3'];
+                                       } else {
+                                               // standard
+                                               $result[$key] = $TSobjTable[$ObjectKind]['prop'][$key];
+                                       }
+                               }
+                       }
+                       return $result;
+               }
+       }
+
+       /**
+        * Initialize editor
+        *
+        * @param integer $pageId
+        * @param integer $template_uid
+        * @return integer
+        * @todo Define visibility
+        */
+       public function initialize_editor($pageId, $template_uid = 0) {
+               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
+               global $tmpl, $tplRow, $theConstants;
+               // Defined global here!
+               $tmpl = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\ExtendedTemplateService');
+               // Do not log time-performance information
+               $tmpl->tt_track = 0;
+               $tmpl->init();
+               // Gets the rootLine
+               $sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
+               $rootLine = $sys_page->getRootLine($pageId);
+               // This generates the constants/config + hierarchy info for the template.
+               $tmpl->runThroughTemplates($rootLine, $template_uid);
+               // Get the row of the first VISIBLE template of the page. whereclause like the frontend.
+               $tplRow = $tmpl->ext_getFirstTemplate($pageId, $template_uid);
+               // IF there was a template...
+               if (is_array($tplRow)) {
+                       return 1;
+               }
+       }
+
+       /**
+        * Main
+        *
+        * @return string
+        * @todo Define visibility
+        */
+       public function main() {
+               global $BACK_PATH;
+               global $tmpl, $tplRow, $theConstants;
+               $POST = \TYPO3\CMS\Core\Utility\GeneralUtility::_POST();
+               // Checking for more than one template an if, set a menu...
+               $manyTemplatesMenu = $this->pObj->templateMenu();
+               $template_uid = 0;
+               if ($manyTemplatesMenu) {
+                       $template_uid = $this->pObj->MOD_SETTINGS['templatesOnPage'];
+               }
+               // BUGBUG: Should we check if the user may at all read and write template-records???
+               $bType = $this->pObj->MOD_SETTINGS['ts_browser_type'];
+               $existTemplate = $this->initialize_editor($this->pObj->id, $template_uid);
+               // initialize
+               if ($existTemplate) {
+                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('currentTemplate'), ' <img ' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], \TYPO3\CMS\Backend\Utility\IconUtility::getIcon('sys_template', $tplRow)) . ' align="top" /> <strong>' . $this->pObj->linkWrapTemplateTitle($tplRow['title'], ($bType == 'setup' ? 'config' : 'constants')) . '</strong>' . htmlspecialchars((trim($tplRow['sitetitle']) ? ' (' . $tplRow['sitetitle'] . ')' : '')));
+                       if ($manyTemplatesMenu) {
+                               $theOutput .= $this->pObj->doc->section('', $manyTemplatesMenu);
+                       }
+                       $theOutput .= $this->pObj->doc->spacer(10);
+                       if ($POST['add_property'] || $POST['update_value'] || $POST['clear_object']) {
+                               // add property
+                               $line = '';
+                               if (is_array($POST['data'])) {
+                                       $name = key($POST['data']);
+                                       if ($POST['data'][$name]['name'] !== '') {
+                                               // Workaround for this special case: User adds a key and submits by pressing the return key. The form however will use "add_property" which is the name of the first submit button in this form.
+                                               unset($POST['update_value']);
+                                               $POST['add_property'] = 'Add';
+                                       }
+                                       if ($POST['add_property']) {
+                                               $property = trim($POST['data'][$name]['name']);
+                                               if (preg_replace('/[^a-zA-Z0-9_\\.]*/', '', $property) != $property) {
+                                                       $badPropertyMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', $GLOBALS['LANG']->getLL('noSpaces') . '<br />' . $GLOBALS['LANG']->getLL('nothingUpdated'), $GLOBALS['LANG']->getLL('badProperty'), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR);
+                                                       $this->addFlashMessage($badPropertyMessage);
+                                               } else {
+                                                       $pline = $name . '.' . $property . ' = ' . trim($POST['data'][$name]['propertyValue']);
+                                                       $propertyAddedMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', htmlspecialchars($pline), $GLOBALS['LANG']->getLL('propertyAdded'));
+                                                       $this->addFlashMessage($propertyAddedMessage);
+                                                       $line .= LF . $pline;
+                                               }
+                                       } elseif ($POST['update_value']) {
+                                               $pline = $name . ' = ' . trim($POST['data'][$name]['value']);
+                                               $updatedMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', htmlspecialchars($pline), $GLOBALS['LANG']->getLL('valueUpdated'));
+                                               $this->addFlashMessage($updatedMessage);
+                                               $line .= LF . $pline;
+                                       } elseif ($POST['clear_object']) {
+                                               if ($POST['data'][$name]['clearValue']) {
+                                                       $pline = $name . ' >';
+                                                       $objectClearedMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', htmlspecialchars($pline), $GLOBALS['LANG']->getLL('objectCleared'));
+                                                       $this->addFlashMessage($objectClearedMessage);
+                                                       $line .= LF . $pline;
+                                               }
+                                       }
+                               }
+                               if ($line) {
+                                       $saveId = $tplRow['_ORIG_uid'] ? $tplRow['_ORIG_uid'] : $tplRow['uid'];
+                                       // Set the data to be saved
+                                       $recData = array();
+                                       $field = $bType == 'setup' ? 'config' : 'constants';
+                                       $recData['sys_template'][$saveId][$field] = $tplRow[$field] . $line;
+                                       // Create new  tce-object
+                                       $tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
+                                       $tce->stripslashes_values = 0;
+                                       // Initialize
+                                       $tce->start($recData, array());
+                                       // Saved the stuff
+                                       $tce->process_datamap();
+                                       // Clear the cache (note: currently only admin-users can clear the cache in tce_main.php)
+                                       $tce->clear_cacheCmd('all');
+                                       // re-read the template ...
+                                       $this->initialize_editor($this->pObj->id, $template_uid);
+                               }
+                       }
+               }
+               $tsbr = \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('tsbr');
+               $update = 0;
+               if (is_array($tsbr)) {
+                       // If any plus-signs were clicked, it's registred.
+                       $this->pObj->MOD_SETTINGS['tsbrowser_depthKeys_' . $bType] = $tmpl->ext_depthKeys($tsbr, $this->pObj->MOD_SETTINGS['tsbrowser_depthKeys_' . $bType]);
+                       $update = 1;
+               }
+               if ($POST['Submit']) {
+                       // If any POST-vars are send, update the condition array
+                       $this->pObj->MOD_SETTINGS['tsbrowser_conditions'] = $POST['conditions'];
+                       $update = 1;
+               }
+               if ($update) {
+                       $GLOBALS['BE_USER']->pushModuleData($this->pObj->MCONF['name'], $this->pObj->MOD_SETTINGS);
+               }
+               $tmpl->matchAlternative = $this->pObj->MOD_SETTINGS['tsbrowser_conditions'];
+               $tmpl->matchAlternative[] = 'dummydummydummydummydummydummydummydummydummydummydummy';
+               // This is just here to make sure that at least one element is in the array so that the tsparser actually uses this array to match.
+               $tmpl->constantMode = $this->pObj->MOD_SETTINGS['ts_browser_const'];
+               if ($this->pObj->sObj && $tmpl->constantMode) {
+                       $tmpl->constantMode = 'untouched';
+               }
+               $tmpl->regexMode = $this->pObj->MOD_SETTINGS['ts_browser_regexsearch'];
+               $tmpl->fixedLgd = $this->pObj->MOD_SETTINGS['ts_browser_fixedLgd'];
+               $tmpl->linkObjects = TRUE;
+               $tmpl->ext_regLinenumbers = TRUE;
+               $tmpl->ext_regComments = $this->pObj->MOD_SETTINGS['ts_browser_showComments'];
+               $tmpl->bType = $bType;
+               $tmpl->resourceCheck = 1;
+               $tmpl->removeFromGetFilePath = PATH_site;
+               if ($this->pObj->MOD_SETTINGS['ts_browser_type'] == 'const') {
+                       $tmpl->ext_constants_BRP = intval(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('breakPointLN'));
+               } else {
+                       $tmpl->ext_config_BRP = intval(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('breakPointLN'));
+               }
+               $tmpl->generateConfig();
+               if ($bType == 'setup') {
+                       $theSetup = $tmpl->setup;
+               } else {
+                       $theSetup = $tmpl->setup_constants;
+               }
+               // EDIT A VALUE:
+               if ($this->pObj->sObj) {
+                       list($theSetup, $theSetupValue) = $tmpl->ext_getSetup($theSetup, $this->pObj->sObj ? $this->pObj->sObj : '');
+                       if ($existTemplate) {
+                               // Value
+                               $out = '';
+                               $out .= htmlspecialchars($this->pObj->sObj) . ' =<br />';
+                               $out .= '<input type="Text" name="data[' . htmlspecialchars($this->pObj->sObj) . '][value]" value="' . htmlspecialchars($theSetupValue) . '"' . $GLOBALS['TBE_TEMPLATE']->formWidth(40) . ' />';
+                               $out .= '<input type="Submit" name="update_value" value="' . $GLOBALS['LANG']->getLL('updateButton') . '" />';
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('editProperty'), $out, 0, 0);
+                               // Property
+                               $out = '';
+                               $out = '<nobr>' . htmlspecialchars($this->pObj->sObj) . '.';
+                               $out .= '<input type="Text" name="data[' . htmlspecialchars($this->pObj->sObj) . '][name]"' . $GLOBALS['TBE_TEMPLATE']->formWidth(20) . ' /> = </nobr><br />';
+                               $out .= '<input type="Text" name="data[' . htmlspecialchars($this->pObj->sObj) . '][propertyValue]"' . $GLOBALS['TBE_TEMPLATE']->formWidth(40) . ' />';
+                               $out .= '<input type="Submit" name="add_property" value="' . $GLOBALS['LANG']->getLL('addButton') . '" />';
+                               $theOutput .= $this->pObj->doc->spacer(20);
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('addProperty'), $out, 0, 0);
+                               // clear
+                               $out = '';
+                               $out = htmlspecialchars($this->pObj->sObj) . ' <strong>' . $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('clear'), 'toUpper') . '</strong> &nbsp;&nbsp;';
+                               $out .= '<input type="Checkbox" name="data[' . htmlspecialchars($this->pObj->sObj) . '][clearValue]" value="1" />';
+                               $out .= '<input type="Submit" name="clear_object" value="' . $GLOBALS['LANG']->getLL('clearButton') . '" />';
+                               $theOutput .= $this->pObj->doc->spacer(20);
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('clearObject'), $out, 0, 0);
+                               $theOutput .= $this->pObj->doc->spacer(10);
+                       } else {
+                               $noTemplateMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', $GLOBALS['LANG']->getLL('noCurrentTemplate'), $GLOBALS['LANG']->getLL('edit'), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR);
+                               $this->addFlashMessage($noTemplateMessage);
+                       }
+                       // Links:
+                       $out = '';
+                       $urlParameters = array(
+                               'id' => $this->pObj->id
+                       );
+                       $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
+                       if (!$this->pObj->MOD_SETTINGS[('ts_browser_TLKeys_' . $bType)][$this->pObj->sObj]) {
+                               if (count($theSetup)) {
+                                       $out = '<a href="' . htmlspecialchars(($aHref . '&addKey[' . rawurlencode($this->pObj->sObj) . ']=1&SET[ts_browser_toplevel_' . $bType . ']=' . rawurlencode($this->pObj->sObj))) . '">';
+                                       $out .= sprintf($GLOBALS['LANG']->getLL('addKey'), htmlspecialchars($this->pObj->sObj));
+                               }
+                       } else {
+                               $out = '<a href="' . htmlspecialchars(($aHref . '&addKey[' . rawurlencode($this->pObj->sObj) . ']=0&SET[ts_browser_toplevel_' . $bType . ']=0')) . '">';
+                               $out .= sprintf($GLOBALS['LANG']->getLL('removeKey'), htmlspecialchars($this->pObj->sObj));
+                       }
+                       if ($out) {
+                               $theOutput .= $this->pObj->doc->divider(5);
+                               $theOutput .= $this->pObj->doc->section('', $out);
+                       }
+                       // back
+                       $out = $GLOBALS['LANG']->getLL('back');
+                       $out = '<a href="' . htmlspecialchars($aHref) . '"><strong>' . $out . '</strong></a>';
+                       $theOutput .= $this->pObj->doc->divider(5);
+                       $theOutput .= $this->pObj->doc->section('', $out);
+               } else {
+                       $tmpl->tsbrowser_depthKeys = $this->pObj->MOD_SETTINGS['tsbrowser_depthKeys_' . $bType];
+                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('search') && \TYPO3\CMS\Core\Utility\GeneralUtility::_POST('search_field')) {
+                               // If any POST-vars are send, update the condition array
+                               $tmpl->tsbrowser_depthKeys = $tmpl->ext_getSearchKeys($theSetup, '', \TYPO3\CMS\Core\Utility\GeneralUtility::_POST('search_field'), array());
+                       }
+                       $menu = '<div class="tsob-menu"><label>' . $GLOBALS['LANG']->getLL('browse') . '</label>';
+                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[ts_browser_type]', $bType, $this->pObj->MOD_MENU['ts_browser_type']);
+                       $menu .= '<label for="ts_browser_toplevel_' . $bType . '">' . $GLOBALS['LANG']->getLL('objectList') . '</label>';
+                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[ts_browser_toplevel_' . $bType . ']', $this->pObj->MOD_SETTINGS['ts_browser_toplevel_' . $bType], $this->pObj->MOD_MENU['ts_browser_toplevel_' . $bType]);
+                       //search
+                       $menu .= '<label for="search_field">' . $GLOBALS['LANG']->getLL('search') . '</label>';
+                       $menu .= '<input type="Text" name="search_field" id="search_field" value="' . htmlspecialchars($POST['search_field']) . '"' . $GLOBALS['TBE_TEMPLATE']->formWidth(20) . '/>';
+                       $menu .= '<input type="Submit" name="search" class="tsob-search-submit" value="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xlf:search') . '" />';
+                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_browser_regexsearch]', $this->pObj->MOD_SETTINGS['ts_browser_regexsearch'], '', '', 'id="checkTs_browser_regexsearch"');
+                       $menu .= '<label for="checkTs_browser_regexsearch">' . $GLOBALS['LANG']->getLL('regExp') . '</label>';
+                       $menu .= '</div>';
+                       $theOutput .= $this->pObj->doc->section('', '<nobr>' . $menu . '</nobr>');
+                       $theKey = $this->pObj->MOD_SETTINGS['ts_browser_toplevel_' . $bType];
+                       if (!$theKey || !str_replace('-', '', $theKey)) {
+                               $theKey = '';
+                       }
+                       list($theSetup, $theSetupValue) = $tmpl->ext_getSetup($theSetup, $this->pObj->MOD_SETTINGS['ts_browser_toplevel_' . $bType] ? $this->pObj->MOD_SETTINGS['ts_browser_toplevel_' . $bType] : '');
+                       $tree = $tmpl->ext_getObjTree($theSetup, $theKey, '', '', $theSetupValue, $this->pObj->MOD_SETTINGS['ts_browser_alphaSort']);
+                       $tree = $tmpl->substituteCMarkers($tree);
+                       $urlParameters = array(
+                               'id' => $this->pObj->id
+                       );
+                       $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
+                       // Parser Errors:
+                       $pEkey = $bType == 'setup' ? 'config' : 'constants';
+                       if (count($tmpl->parserErrors[$pEkey])) {
+                               $errMsg = array();
+                               $templateAnalyzerInstalled = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('tstemplate');
+                               foreach ($tmpl->parserErrors[$pEkey] as $inf) {
+                                       $errorLink = '';
+                                       if ($templateAnalyzerInstalled) {
+                                               $errorLink = ' <a href="' . htmlspecialchars(($aHref . '&SET[function]=TYPO3\\CMS\\TstemplateAnalyzer\\Controller\\TemplateAnalyzerModuleFunctionController&template=all&SET[ts_analyzer_checkLinenum]=1#line-' . $inf[2])) . '">' . $GLOBALS['LANG']->getLL('errorShowDetails') . '</a>';
+                                       }
+                                       $errMsg[] = $inf[1] . ': &nbsp; &nbsp;' . $inf[0] . $errorLink;
+                               }
+                               $theOutput .= $this->pObj->doc->spacer(10);
+                               $flashMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', implode($errMsg, '<br />'), $GLOBALS['LANG']->getLL('errorsWarnings'), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR);
+                               $theOutput .= $flashMessage->render();
+                       }
+                       if (isset($this->pObj->MOD_SETTINGS['ts_browser_TLKeys_' . $bType][$theKey])) {
+                               $remove = '<td width="1%" nowrap><a href="' . htmlspecialchars(($aHref . '&addKey[' . $theKey . ']=0&SET[ts_browser_toplevel_' . $bType . ']=0')) . '"><strong>' . $GLOBALS['LANG']->getLL('removeKey') . '</strong></a></td>';
+                       } else {
+                               $remove = '';
+                       }
+                       $label = $theKey ? $theKey : ($bType == 'setup' ? $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('setupRoot'), 'toUpper') : $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('constantRoot'), 'toUpper'));
+                       $theOutput .= $this->pObj->doc->spacer(15);
+                       $theOutput .= $this->pObj->doc->sectionEnd();
+                       $theOutput .= '<table border="0" id="typo3-objectBrowser">
+                                       <tr class="t3-row-header">
+                                               <td nowrap="nowrap" width="99%"><strong>' . $label . '</strong></td>' . $remove . '
+                                       </tr>
+                                       <tr>
+                                               <td class="bgColor4" nowrap="nowrap">' . $tree . '</td>' . ($remove ? '<td></td>' : '') . '
+                                       </tr>
+                               </table>
+                       ';
+                       // second row options
+                       $menu = '<div class="tsob-menu-row2">';
+                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_browser_showComments]', $this->pObj->MOD_SETTINGS['ts_browser_showComments'], '', '', 'id="checkTs_browser_showComments"');
+                       $menu .= '<label for="checkTs_browser_showComments">' . $GLOBALS['LANG']->getLL('displayComments') . '</label>';
+                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_browser_alphaSort]', $this->pObj->MOD_SETTINGS['ts_browser_alphaSort'], '', '', 'id="checkTs_browser_alphaSort"');
+                       $menu .= '<label for="checkTs_browser_alphaSort">' . $GLOBALS['LANG']->getLL('sortAlphabetically') . '</label>';
+                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_browser_fixedLgd]', $this->pObj->MOD_SETTINGS['ts_browser_fixedLgd'], '', '', 'id="checkTs_browser_fixedLgd"');
+                       $menu .= '<label for="checkTs_browser_fixedLgd">' . $GLOBALS['LANG']->getLL('cropLines') . '</label>';
+                       if ($bType == 'setup' && !$this->pObj->MOD_SETTINGS['ts_browser_fixedLgd']) {
+                               $menu .= '<br /><br /><label>' . $GLOBALS['LANG']->getLL('displayConstants') . '</label>';
+                               $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[ts_browser_const]', $this->pObj->MOD_SETTINGS['ts_browser_const'], $this->pObj->MOD_MENU['ts_browser_const']);
+                       }
+                       $menu .= '</div>';
+                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('displayOptions'), '<nobr>' . $menu . '</nobr>', 0, 1);
+                       // Conditions:
+                       if (is_array($tmpl->sections)) {
+                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('conditions'), '', 0, 1);
+                               $out = '';
+                               foreach ($tmpl->sections as $key => $val) {
+                                       $out .= '<div class="tsob-conditions"><input class="checkbox" type="checkbox" name="conditions[' . $key . ']" id="check' . $key . '" value="' . htmlspecialchars($val) . '"' . ($this->pObj->MOD_SETTINGS['tsbrowser_conditions'][$key] ? ' checked' : '') . ' />';
+                                       $out .= '<label for="check' . $key . '">' . $tmpl->substituteCMarkers(htmlspecialchars($val)) . '</label></div>';
+                               }
+                               $theOutput .=  '<div class="tsob-menu-row2">' . $out . '</div><input type="Submit" name="Submit" value="' . $GLOBALS['LANG']->getLL('setConditions') . '" />';
+                       }
+                       // Ending section:
+                       $theOutput .= $this->pObj->doc->sectionEnd();
+               }
+               return $theOutput;
+       }
+
+       /**
+        * Add flash message to queue
+        *
+        * @param \TYPO3\CMS\Core\Messaging\FlashMessage $flasgMessage
+        * @return void
+        */
+       protected function addFlashMessage(\TYPO3\CMS\Core\Messaging\FlashMessage $flashMessage) {
+               /** @var $flashMessageService \TYPO3\CMS\Core\Messaging\FlashMessageService */
+               $flashMessageService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessageService');
+               /** @var $defaultFlashMessageQueue \TYPO3\CMS\Core\Messaging\FlashMessageQueue */
+               $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
+               $defaultFlashMessageQueue->enqueue($flashMessage);
+       }
+
+}
+
+?>
\ No newline at end of file
index 2d2bbd6..358c29b 100644 (file)
@@ -1,5 +1,9 @@
 <?php
 return array(
        'SC_mod_web_ts_index' => 'TYPO3\\CMS\\Tstemplate\\Controller\\TypoScriptTemplateModuleController',
+       'tx_tstemplateanalyzer' => 'TYPO3\\CMS\\Tstemplate\\Controller\\TemplateAnalyzerModuleFunctionController',
+       'tx_tstemplateceditor' => 'TYPO3\\CMS\\Tstemplate\\Controller\\TypoScriptTemplateConstantEditorModuleFunctionController',
+       'tx_tstemplateinfo' => 'TYPO3\\CMS\\Tstemplate\\Controller\\TypoScriptTemplateInformationModuleFunctionController',
+       'tx_tstemplateobjbrowser' => 'TYPO3\\CMS\\Tstemplate\\Controller\\TypoScriptTemplateObjectBrowserModuleFunctionController',
 );
 ?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate/Resources/Private/Language/locallang_analyzer.xlf b/typo3/sysext/tstemplate/Resources/Private/Language/locallang_analyzer.xlf
new file mode 100644 (file)
index 0000000..fde31c8
--- /dev/null
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0">
+       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:37Z" product-name="tstemplate">
+               <header/>
+               <body>
+                       <trans-unit id="currentTemplate" xml:space="preserve">
+                               <source>Current template</source>
+                       </trans-unit>
+                       <trans-unit id="title" xml:space="preserve">
+                               <source>Title</source>
+                       </trans-unit>
+                       <trans-unit id="rootlevel" xml:space="preserve">
+                               <source>Rootlevel</source>
+                       </trans-unit>
+                       <trans-unit id="clearSetup" xml:space="preserve">
+                               <source>Clear Setup</source>
+                       </trans-unit>
+                       <trans-unit id="clearConstants" xml:space="preserve">
+                               <source>Clear Constants</source>
+                       </trans-unit>
+                       <trans-unit id="pid" xml:space="preserve">
+                               <source>PID</source>
+                       </trans-unit>
+                       <trans-unit id="rootline" xml:space="preserve">
+                               <source>Rootline</source>
+                       </trans-unit>
+                       <trans-unit id="nextLevel" xml:space="preserve">
+                               <source>Next Level</source>
+                       </trans-unit>
+                       <trans-unit id="templateHierarchy" xml:space="preserve">
+                               <source>Template hierarchy</source>
+                       </trans-unit>
+                       <trans-unit id="displayOptions" xml:space="preserve">
+                               <source>Display Options</source>
+                       </trans-unit>
+                       <trans-unit id="lineNumbers" xml:space="preserve">
+                               <source>Line numbers</source>
+                       </trans-unit>
+                       <trans-unit id="syntaxHighlight" xml:space="preserve">
+                               <source>Syntax highlight</source>
+                       </trans-unit>
+                       <trans-unit id="comments" xml:space="preserve">
+                               <source>Comments</source>
+                       </trans-unit>
+                       <trans-unit id="cropLines" xml:space="preserve">
+                               <source>Crop lines</source>
+                       </trans-unit>
+                       <trans-unit id="blockMode" xml:space="preserve">
+                               <source>Block mode</source>
+                       </trans-unit>
+                       <trans-unit id="constants" xml:space="preserve">
+                               <source>Constants</source>
+                       </trans-unit>
+                       <trans-unit id="setup" xml:space="preserve">
+                               <source>Setup</source>
+                       </trans-unit>
+                       <trans-unit id="viewCompleteTS" xml:space="preserve">
+                               <source>View the complete TS Listing</source>
+                       </trans-unit>
+                       <trans-unit id="completeTS" xml:space="preserve">
+                               <source>Complete TS</source>
+                       </trans-unit>
+               </body>
+       </file>
+</xliff>
diff --git a/typo3/sysext/tstemplate/Resources/Private/Language/locallang_ceditor.xlf b/typo3/sysext/tstemplate/Resources/Private/Language/locallang_ceditor.xlf
new file mode 100644 (file)
index 0000000..eef9d95
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0">
+       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:37Z" product-name="tstemplate">
+               <header/>
+               <body>
+                       <trans-unit id="editConstants" xml:space="preserve">
+                               <source>Edit constants for template</source>
+                       </trans-unit>
+                       <trans-unit id="category" xml:space="preserve">
+                               <source>Category</source>
+                       </trans-unit>
+                       <trans-unit id="noConstants" xml:space="preserve">
+                               <source>No constants available</source>
+                       </trans-unit>
+                       <trans-unit id="noConstantsDescription" xml:space="preserve">
+                               <source>There are no editable constants available for the Constant Editor.</source>
+                       </trans-unit>
+               </body>
+       </file>
+</xliff>
diff --git a/typo3/sysext/tstemplate/Resources/Private/Language/locallang_info.xlf b/typo3/sysext/tstemplate/Resources/Private/Language/locallang_info.xlf
new file mode 100644 (file)
index 0000000..5d9f153
--- /dev/null
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0">
+       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:37Z" product-name="tstemplate">
+               <header/>
+               <body>
+                       <trans-unit id="delete" xml:space="preserve">
+                               <source>Delete:</source>
+                       </trans-unit>
+                       <trans-unit id="toTop" xml:space="preserve">
+                               <source>To top:</source>
+                       </trans-unit>
+                       <trans-unit id="fileChanged" xml:space="preserve">
+                               <source>File changed</source>
+                       </trans-unit>
+                       <trans-unit id="resourceUpdated" xml:space="preserve">
+                               <source>Resource '%s' has been updated.</source>
+                       </trans-unit>
+                       <trans-unit id="templateInformation" xml:space="preserve">
+                               <source>Template information</source>
+                       </trans-unit>
+                       <trans-unit id="title" xml:space="preserve">
+                               <source>Title</source>
+                       </trans-unit>
+                       <trans-unit id="sitetitle" xml:space="preserve">
+                               <source>Sitetitle</source>
+                       </trans-unit>
+                       <trans-unit id="description" xml:space="preserve">
+                               <source>Description</source>
+                       </trans-unit>
+                       <trans-unit id="allowedExtensions" xml:space="preserve">
+                               <source>Allowed extensions:</source>
+                       </trans-unit>
+                       <trans-unit id="maxFilesize" xml:space="preserve">
+                               <source>Max filesize:</source>
+                       </trans-unit>
+                       <trans-unit id="uploadResource" xml:space="preserve">
+                               <source>Upload resource</source>
+                       </trans-unit>
+                       <trans-unit id="newTextResource" xml:space="preserve">
+                               <source>New text resource (enter name)</source>
+                       </trans-unit>
+                       <trans-unit id="copyResource" xml:space="preserve">
+                               <source>Make a copy of resource:</source>
+                       </trans-unit>
+                       <trans-unit id="updateResourceList" xml:space="preserve">
+                               <source>Update resource list</source>
+                       </trans-unit>
+                       <trans-unit id="constants" xml:space="preserve">
+                               <source>Constants</source>
+                       </trans-unit>
+                       <trans-unit id="file" xml:space="preserve">
+                               <source>File:</source>
+                       </trans-unit>
+                       <trans-unit id="editResource" xml:space="preserve">
+                               <source>Edit Resource:</source>
+                       </trans-unit>
+                       <trans-unit id="filesizeExceeded" xml:space="preserve">
+                               <source>Filesize exceeded %s KBytes</source>
+                       </trans-unit>
+                       <trans-unit id="notAllowed" xml:space="preserve">
+                               <source>Files larger than %s KBytes are not allowed to be edited.</source>
+                       </trans-unit>
+                       <trans-unit id="setup" xml:space="preserve">
+                               <source>Setup</source>
+                       </trans-unit>
+                       <trans-unit id="resources" xml:space="preserve">
+                               <source>Resources</source>
+                       </trans-unit>
+                       <trans-unit id="editToView" xml:space="preserve">
+                               <source>(edit to view, %s lines)</source>
+                       </trans-unit>
+                       <trans-unit id="editTemplateRecord" xml:space="preserve">
+                               <source>Edit the whole template record</source>
+                       </trans-unit>
+                       <trans-unit id="includeTypoScriptFileContent" xml:space="preserve">
+                               <source>Include TypoScript file content</source>
+                       </trans-unit>
+               </body>
+       </file>
+</xliff>
diff --git a/typo3/sysext/tstemplate/Resources/Private/Language/locallang_objbrowser.xlf b/typo3/sysext/tstemplate/Resources/Private/Language/locallang_objbrowser.xlf
new file mode 100644 (file)
index 0000000..69e3675
--- /dev/null
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0">
+       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:37Z" product-name="tstemplate">
+               <header/>
+               <body>
+                       <trans-unit id="constants" xml:space="preserve">
+                               <source>Constants</source>
+                       </trans-unit>
+                       <trans-unit id="setup" xml:space="preserve">
+                               <source>Setup</source>
+                       </trans-unit>
+                       <trans-unit id="all" xml:space="preserve">
+                               <source>All</source>
+                       </trans-unit>
+                       <trans-unit id="plainSubstitution" xml:space="preserve">
+                               <source>Plain substitution (default)</source>
+                       </trans-unit>
+                       <trans-unit id="substitutedGreen" xml:space="preserve">
+                               <source>Substituted constants in green</source>
+                       </trans-unit>
+                       <trans-unit id="unsubstitutedGreen" xml:space="preserve">
+                               <source>UN-substituted constants in green</source>
+                       </trans-unit>
+                       <trans-unit id="currentTemplate" xml:space="preserve">
+                               <source>Current template</source>
+                       </trans-unit>
+                       <trans-unit id="badProperty" xml:space="preserve">
+                               <source>Bad property!</source>
+                       </trans-unit>
+                       <trans-unit id="noSpaces" xml:space="preserve">
+                               <source>You must enter a property with characters a-z, A-Z and 0-9, no spaces!</source>
+                       </trans-unit>
+                       <trans-unit id="nothingUpdated" xml:space="preserve">
+                               <source>Nothing was updated!</source>
+                       </trans-unit>
+                       <trans-unit id="propertyAdded" xml:space="preserve">
+                               <source>Property added</source>
+                       </trans-unit>
+                       <trans-unit id="valueUpdated" xml:space="preserve">
+                               <source>Value updated</source>
+                       </trans-unit>
+                       <trans-unit id="objectCleared" xml:space="preserve">
+                               <source>Object cleared</source>
+                       </trans-unit>
+                       <trans-unit id="updateButton" xml:space="preserve">
+                               <source>Update</source>
+                       </trans-unit>
+                       <trans-unit id="editProperty" xml:space="preserve">
+                               <source>Edit object/property value:</source>
+                       </trans-unit>
+                       <trans-unit id="addButton" xml:space="preserve">
+                               <source>Add</source>
+                       </trans-unit>
+                       <trans-unit id="addProperty" xml:space="preserve">
+                               <source>Add object property:</source>
+                       </trans-unit>
+                       <trans-unit id="clear" xml:space="preserve">
+                               <source>Clear?</source>
+                       </trans-unit>
+                       <trans-unit id="clearButton" xml:space="preserve">
+                               <source>Clear</source>
+                       </trans-unit>
+                       <trans-unit id="clearObject" xml:space="preserve">
+                               <source>Clear object:</source>
+                       </trans-unit>
+                       <trans-unit id="edit" xml:space="preserve">
+                               <source>Edit:</source>
+                       </trans-unit>
+                       <trans-unit id="noCurrentTemplate" xml:space="preserve">
+                               <source>You cannot edit properties and values, if there's no current template.</source>
+                       </trans-unit>
+                       <trans-unit id="addKey" xml:space="preserve">
+                               <source>&lt;b&gt;Add key&lt;/b&gt;&lt;/a&gt; "%s" to Object List</source>
+                       </trans-unit>
+                       <trans-unit id="removeKey" xml:space="preserve">
+                               <source>&lt;b&gt;Remove key&lt;/b&gt;&lt;/a&gt; "%s" from Object List</source>
+                       </trans-unit>
+                       <trans-unit id="back" xml:space="preserve">
+                               <source>&lt; Back</source>
+                       </trans-unit>
+                       <trans-unit id="browse" xml:space="preserve">
+                               <source>Browse:</source>
+                       </trans-unit>
+                       <trans-unit id="objectList" xml:space="preserve">
+                               <source>Object List:</source>
+                       </trans-unit>
+                       <trans-unit id="search" xml:space="preserve">
+                               <source>Search:</source>
+                       </trans-unit>
+                       <trans-unit id="regExp" xml:space="preserve">
+                               <source>Regular expressions</source>
+                       </trans-unit>
+                       <trans-unit id="errorsWarnings" xml:space="preserve">
+                               <source>Errors and warnings</source>
+                       </trans-unit>
+                       <trans-unit id="errorShowDetails" xml:space="preserve">
+                               <source>Show details</source>
+                       </trans-unit>
+                       <trans-unit id="removeKey" xml:space="preserve">
+                               <source>Remove key from OL</source>
+                       </trans-unit>
+                       <trans-unit id="setupRoot" xml:space="preserve">
+                               <source>setup root</source>
+                       </trans-unit>
+                       <trans-unit id="constantRoot" xml:space="preserve">
+                               <source>constants root</source>
+                       </trans-unit>
+                       <trans-unit id="displayComments" xml:space="preserve">
+                               <source>Display comments</source>
+                       </trans-unit>
+                       <trans-unit id="sortAlphabetically" xml:space="preserve">
+                               <source>Sort alphabetically</source>
+                       </trans-unit>
+                       <trans-unit id="cropLines" xml:space="preserve">
+                               <source>Crop lines</source>
+                       </trans-unit>
+                       <trans-unit id="displayConstants" xml:space="preserve">
+                               <source>Display constants:</source>
+                       </trans-unit>
+                       <trans-unit id="displayOptions" xml:space="preserve">
+                               <source>Display options</source>
+                       </trans-unit>
+                       <trans-unit id="conditions" xml:space="preserve">
+                               <source>Conditions</source>
+                       </trans-unit>
+                       <trans-unit id="setConditions" xml:space="preserve">
+                               <source>Set conditions</source>
+                       </trans-unit>
+               </body>
+       </file>
+</xliff>
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/1.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/1.gif
new file mode 100644 (file)
index 0000000..17e246a
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/1.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/10.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/10.gif
new file mode 100644 (file)
index 0000000..e64ce77
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/10.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/11.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/11.gif
new file mode 100644 (file)
index 0000000..0a1dbd4
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/11.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/12.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/12.gif
new file mode 100644 (file)
index 0000000..4110bc3
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/12.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/13.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/13.gif
new file mode 100644 (file)
index 0000000..33b7929
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/13.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/14.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/14.gif
new file mode 100644 (file)
index 0000000..06e2429
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/14.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/15.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/15.gif
new file mode 100644 (file)
index 0000000..390431b
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/15.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/16.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/16.gif
new file mode 100644 (file)
index 0000000..e3a55a4
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/16.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/17.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/17.gif
new file mode 100644 (file)
index 0000000..0cfe1a9
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/17.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/18.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/18.gif
new file mode 100644 (file)
index 0000000..f8bf8f0
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/18.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/19.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/19.gif
new file mode 100644 (file)
index 0000000..8594470
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/19.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/2.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/2.gif
new file mode 100644 (file)
index 0000000..47ae807
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/2.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/20.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/20.gif
new file mode 100644 (file)
index 0000000..2a34dd7
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/20.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/3.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/3.gif
new file mode 100644 (file)
index 0000000..e721e76
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/3.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/4.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/4.gif
new file mode 100644 (file)
index 0000000..c370d29
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/4.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/5.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/5.gif
new file mode 100644 (file)
index 0000000..3c04254
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/5.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/6.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/6.gif
new file mode 100644 (file)
index 0000000..cb198e4
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/6.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/7.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/7.gif
new file mode 100644 (file)
index 0000000..4a1926e
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/7.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/8.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/8.gif
new file mode 100644 (file)
index 0000000..7bc14d7
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/8.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/9.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/9.gif
new file mode 100644 (file)
index 0000000..2cbf6f4
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/9.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/BUG_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/BUG_basic.gif
new file mode 100644 (file)
index 0000000..d93a8ed
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/BUG_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/BUG_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/BUG_menu.gif
new file mode 100644 (file)
index 0000000..9f73df1
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/BUG_menu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/BUG_menu2.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/BUG_menu2.gif
new file mode 100644 (file)
index 0000000..6cb2773
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/BUG_menu2.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/BUSINESS_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/BUSINESS_basic.gif
new file mode 100644 (file)
index 0000000..84d44e3
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/BUSINESS_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/BUSINESS_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/BUSINESS_menu.gif
new file mode 100644 (file)
index 0000000..e76c3f4
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/BUSINESS_menu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_basic.gif
new file mode 100644 (file)
index 0000000..5c483c0
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_menu.gif
new file mode 100644 (file)
index 0000000..05db8e1
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_menu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_page.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_page.gif
new file mode 100644 (file)
index 0000000..1b710d5
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/CANDIDATE_page.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/CrCPH_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/CrCPH_basic.gif
new file mode 100644 (file)
index 0000000..bdd877f
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/CrCPH_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/FIRST_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/FIRST_basic.gif
new file mode 100644 (file)
index 0000000..3987e62
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/FIRST_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/FIRST_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/FIRST_menu.gif
new file mode 100644 (file)
index 0000000..c752a69
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/FIRST_menu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_basic.gif
new file mode 100644 (file)
index 0000000..bcb94e5
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_columns.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_columns.gif
new file mode 100644 (file)
index 0000000..91ee716
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_columns.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_menu.gif
new file mode 100644 (file)
index 0000000..40057f5
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/GLCK_menu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_basic.gif
new file mode 100644 (file)
index 0000000..4f3ab9b
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu.gif
new file mode 100644 (file)
index 0000000..96abdb4
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu2.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu2.gif
new file mode 100644 (file)
index 0000000..f9b7286
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu2.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu3.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu3.gif
new file mode 100644 (file)
index 0000000..5d11a81
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/GREEN_menu3.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_basic.gif
new file mode 100644 (file)
index 0000000..2a439ad
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_menu.gif
new file mode 100644 (file)
index 0000000..b1e58da
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_menu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_menu2.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_menu2.gif
new file mode 100644 (file)
index 0000000..6543195
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_menu2.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_page.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_page.gif
new file mode 100644 (file)
index 0000000..551e1e9
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_page.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_toptitle.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_toptitle.gif
new file mode 100644 (file)
index 0000000..4f574ac
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/HYPER_toptitle.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/MM_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/MM_basic.gif
new file mode 100644 (file)
index 0000000..1423783
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/MM_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/MM_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/MM_menu.gif
new file mode 100644 (file)
index 0000000..3fe516f
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/MM_menu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/MM_right.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/MM_right.gif
new file mode 100644 (file)
index 0000000..9ef8996
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/MM_right.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/NEWSLETTER_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/NEWSLETTER_basic.gif
new file mode 100644 (file)
index 0000000..15338d1
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/NEWSLETTER_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/RE_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/RE_basic.gif
new file mode 100644 (file)
index 0000000..cd8b8b2
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/RE_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/RE_leftmenu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/RE_leftmenu.gif
new file mode 100644 (file)
index 0000000..220631a
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/RE_leftmenu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/RE_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/RE_menu.gif
new file mode 100644 (file)
index 0000000..5ff8c42
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/RE_menu.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/RE_top.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/RE_top.gif
new file mode 100644 (file)
index 0000000..f2248a7
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/RE_top.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/TU_basic.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/TU_basic.gif
new file mode 100644 (file)
index 0000000..77c4a5d
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/TU_basic.gif differ
diff --git a/typo3/sysext/tstemplate/Resources/Public/gfx/TU_menu.gif b/typo3/sysext/tstemplate/Resources/Public/gfx/TU_menu.gif
new file mode 100644 (file)
index 0000000..22bc807
Binary files /dev/null and b/typo3/sysext/tstemplate/Resources/Public/gfx/TU_menu.gif differ
index 9943c22..0bab764 100644 (file)
Binary files a/typo3/sysext/tstemplate/ext_icon.gif and b/typo3/sysext/tstemplate/ext_icon.gif differ
index cdda7ab..fddf4cb 100644 (file)
@@ -2,12 +2,45 @@
 if (!defined('TYPO3_MODE')) {
        die('Access denied.');
 }
+
 if (TYPO3_MODE === 'BE') {
+       $extensionPath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY);
+
        \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule(
                'web',
                'ts',
                '',
-               \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'ts/'
+               $extensionPath . 'ts/'
        );
+
+       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
+               'web_ts',
+               'TYPO3\\CMS\\TsTemplate\\Controller\\TemplateAnalyzerModuleFunctionController',
+               $extensionPath . 'Classes/Controller/TemplateAnalyzerModuleFunctionController.php',
+               'LLL:EXT:tstemplate/ts/locallang.xlf:templateAnalyzer'
+       );
+
+       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
+               'web_ts',
+               'TYPO3\\CMS\\TsTemplate\\Controller\\TypoScriptTemplateConstantEditorModuleFunctionController',
+               $extensionPath . 'Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php',
+               'LLL:EXT:tstemplate/ts/locallang.xlf:constantEditor'
+       );
+
+       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
+               'web_ts',
+               'TYPO3\\CMS\\TsTemplate\\Controller\\TypoScriptTemplateInformationModuleFunctionController',
+               $extensionPath . 'Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php',
+               'LLL:EXT:tstemplate/ts/locallang.xlf:infoModify'
+       );
+
+       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
+               'web_ts',
+               'TYPO3\\CMS\\TsTemplate\\Controller\\TypoScriptTemplateObjectBrowserModuleFunctionController',
+               $extensionPath  . 'Classes/Controller/TypoScriptTemplateObjectBrowserModuleFunctionController.php',
+               'LLL:EXT:tstemplate/ts/locallang.xlf:objectBrowser'
+       );
+
 }
+
 ?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate/ts/ts.gif b/typo3/sysext/tstemplate/ts/ts.gif
deleted file mode 100644 (file)
index 02e840e..0000000
Binary files a/typo3/sysext/tstemplate/ts/ts.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_analyzer/Classes/Controller/TemplateAnalyzerModuleFunctionController.php b/typo3/sysext/tstemplate_analyzer/Classes/Controller/TemplateAnalyzerModuleFunctionController.php
deleted file mode 100644 (file)
index e0c9ed9..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-<?php
-namespace TYPO3\CMS\TstemplateAnalyzer\Controller;
-
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 1999-2013 Kasper Skårhøj (kasperYYYY@typo3.com)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *  A copy is found in the textfile GPL.txt and important notices to the license
- *  from the author is found in LICENSE.txt distributed with these scripts.
- *
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * TypoScript template analyzer
- *
- * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- */
-class TemplateAnalyzerModuleFunctionController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
-
-       /**
-        * Init
-        *
-        * @param object $pObj
-        * @param array $conf
-        * @return void
-        * @todo Define visibility
-        */
-       public function init(&$pObj, $conf) {
-               parent::init($pObj, $conf);
-               $GLOBALS['LANG']->includeLLFile('EXT:tstemplate_analyzer/locallang.xlf');
-               $this->pObj->modMenu_setDefaultList .= ',ts_analyzer_checkLinenum,ts_analyzer_checkSyntax';
-       }
-
-       /**
-        * Mod menu
-        *
-        * @return array
-        * @todo Define visibility
-        */
-       public function modMenu() {
-               return array(
-                       'ts_analyzer_checkSetup' => '1',
-                       'ts_analyzer_checkConst' => '1',
-                       'ts_analyzer_checkLinenum' => '1',
-                       'ts_analyzer_checkComments' => '1',
-                       'ts_analyzer_checkCrop' => '1',
-                       'ts_analyzer_checkSyntax' => '1'
-               );
-       }
-
-       /**
-        * Initialize editor
-        *
-        * @param integer $pageId
-        * @param integer $template_uid
-        * @return integer
-        * @todo Define visibility
-        */
-       public function initialize_editor($pageId, $template_uid = 0) {
-               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
-               $GLOBALS['tmpl'] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\ExtendedTemplateService');
-               // Do not log time-performance information
-               $GLOBALS['tmpl']->tt_track = 0;
-               $GLOBALS['tmpl']->init();
-               // Gets the rootLine
-               $sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
-               $GLOBALS['rootLine'] = $sys_page->getRootLine($pageId);
-               // This generates the constants/config + hierarchy info for the template.
-               $GLOBALS['tmpl']->runThroughTemplates($GLOBALS['rootLine'], $template_uid);
-               // Get the row of the first VISIBLE template of the page. whereclause like the frontend.
-               $GLOBALS['tplRow'] = $GLOBALS['tmpl']->ext_getFirstTemplate($pageId, $template_uid);
-               if (is_array($GLOBALS['tplRow'])) {
-                       // IF there was a template...
-                       return 1;
-               }
-       }
-
-       /**
-        * Main
-        *
-        * @return string
-        * @todo Define visibility
-        */
-       public function main() {
-               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
-               // Checking for more than one template an if, set a menu...
-               $manyTemplatesMenu = $this->pObj->templateMenu();
-               $template_uid = 0;
-               if ($manyTemplatesMenu) {
-                       $template_uid = $this->pObj->MOD_SETTINGS['templatesOnPage'];
-               }
-               // BUGBUG: Should we check if the uset may at all read and write template-records???
-               $existTemplate = $this->initialize_editor($this->pObj->id, $template_uid);
-               // initialize
-               if ($existTemplate) {
-                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('currentTemplate', TRUE), \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForRecord('sys_template', $GLOBALS['tplRow']) . '<strong>' . $this->pObj->linkWrapTemplateTitle($GLOBALS['tplRow']['title']) . '</strong>' . htmlspecialchars((trim($GLOBALS['tplRow']['sitetitle']) ? ' (' . $GLOBALS['tplRow']['sitetitle'] . ')' : '')));
-               }
-               if ($manyTemplatesMenu) {
-                       $theOutput .= $this->pObj->doc->section('', $manyTemplatesMenu);
-               }
-               $GLOBALS['tmpl']->clearList_const_temp = array_flip($GLOBALS['tmpl']->clearList_const);
-               $GLOBALS['tmpl']->clearList_setup_temp = array_flip($GLOBALS['tmpl']->clearList_setup);
-               $pointer = count($GLOBALS['tmpl']->hierarchyInfo);
-               $GLOBALS['tmpl']->hierarchyInfoArr = $GLOBALS['tmpl']->ext_process_hierarchyInfo(array(), $pointer);
-               $GLOBALS['tmpl']->processIncludes();
-               $hierarArr = array();
-               $head = '<tr class="t3-row-header">';
-               $head .= '<td>' . $GLOBALS['LANG']->getLL('title', TRUE) . '</td>';
-               $head .= '<td>' . $GLOBALS['LANG']->getLL('rootlevel', TRUE) . '</td>';
-               $head .= '<td>' . $GLOBALS['LANG']->getLL('clearSetup', TRUE) . '</td>';
-               $head .= '<td>' . $GLOBALS['LANG']->getLL('clearConstants', TRUE) . '</td>';
-               $head .= '<td>' . $GLOBALS['LANG']->getLL('pid', TRUE) . '</td>';
-               $head .= '<td>' . $GLOBALS['LANG']->getLL('rootline', TRUE) . '</td>';
-               $head .= '<td>' . $GLOBALS['LANG']->getLL('nextLevel', TRUE) . '</td>';
-               $head .= '</tr>';
-               $hierar = implode(array_reverse($GLOBALS['tmpl']->ext_getTemplateHierarchyArr($GLOBALS['tmpl']->hierarchyInfoArr, '', array(), 1)), '');
-               $hierar = '<table id="ts-analyzer" cellpadding="0" cellspacing="0">' . $head . $hierar . '</table>';
-               $theOutput .= $this->pObj->doc->spacer(5);
-               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('templateHierarchy', TRUE), $hierar, 0, 1);
-               $urlParameters = array(
-                       'id' => $GLOBALS['SOBE']->id,
-                       'template' => 'all'
-               );
-               $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
-               $completeLink = '<p><a href="' . htmlspecialchars($aHref) . '">' . $GLOBALS['LANG']->getLL('viewCompleteTS', TRUE) . '</a></p>';
-               $theOutput .= $this->pObj->doc->spacer(5);
-               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('completeTS', TRUE), $completeLink, 0, 1);
-               $theOutput .= $this->pObj->doc->spacer(15);
-               // Output options
-               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('displayOptions', TRUE), '', FALSE, TRUE);
-               $addParams = \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') ? '&template=' . \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') : '';
-               $theOutput .= '<div class="tst-analyzer-options">' . \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_analyzer_checkLinenum]', $this->pObj->MOD_SETTINGS['ts_analyzer_checkLinenum'], '', $addParams, 'id="checkTs_analyzer_checkLinenum"') . '<label for="checkTs_analyzer_checkLinenum">' . $GLOBALS['LANG']->getLL('lineNumbers', TRUE) . '</label> ' . \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_analyzer_checkSyntax]', $this->pObj->MOD_SETTINGS['ts_analyzer_checkSyntax'], '', $addParams, 'id="checkTs_analyzer_checkSyntax"') . '<label for="checkTs_analyzer_checkSyntax">' . $GLOBALS['LANG']->getLL('syntaxHighlight', TRUE) . '</label> ' . (!$this->pObj->MOD_SETTINGS['ts_analyzer_checkSyntax'] ? \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_analyzer_checkComments]', $this->pObj->MOD_SETTINGS['ts_analyzer_checkComments'], '', $addParams, 'id="checkTs_analyzer_checkComments"') . '<label for="checkTs_analyzer_checkComments">' . $GLOBALS['LANG']->getLL('comments', TRUE) . '</label> ' . \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_analyzer_checkCrop]', $this->pObj->MOD_SETTINGS['ts_analyzer_checkCrop'], '', $addParams, 'id="checkTs_analyzer_checkCrop"') . '<label for="checkTs_analyzer_checkCrop">' . $GLOBALS['LANG']->getLL('cropLines', TRUE) . '</label> ' : '') . '</div>';
-               $theOutput .= $this->pObj->doc->spacer(25);
-               // Output Constants
-               if (\TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template')) {
-                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('constants', TRUE), '', 0, 1);
-                       $theOutput .= $this->pObj->doc->sectionEnd();
-                       $theOutput .= '
-                               <table class="ts-typoscript" border="0" cellpadding="1" cellspacing="0">
-                       ';
-                       // Don't know why -2 and not 0... :-) But works.
-                       $GLOBALS['tmpl']->ext_lineNumberOffset = -2;
-                       $GLOBALS['tmpl']->ext_lineNumberOffset_mode = 'const';
-                       $GLOBALS['tmpl']->ext_lineNumberOffset += count(explode(LF, \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines(('' . $GLOBALS['TYPO3_CONF_VARS']['FE']['defaultTypoScript_constants'])))) + 1;
-                       reset($GLOBALS['tmpl']->clearList_const);
-                       foreach ($GLOBALS['tmpl']->constants as $key => $val) {
-                               $cVal = current($GLOBALS['tmpl']->clearList_const);
-                               if ($cVal == \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') || \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') == 'all') {
-                                       $theOutput .= '
-                                               <tr>
-                                                       </td><td class="bgColor2"><strong>' . htmlspecialchars($GLOBALS['tmpl']->templateTitles[$cVal]) . '</strong></td></tr>
-                                               <tr>
-                                                       <td class="bgColor2"><table border="0" cellpadding="0" cellspacing="0" class="bgColor0" width="100%"><tr><td nowrap="nowrap">' . $GLOBALS['tmpl']->ext_outputTS(array($val), $this->pObj->MOD_SETTINGS['ts_analyzer_checkLinenum'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkComments'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkCrop'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkSyntax'], 0) . '</td></tr></table>
-                                                       </td>
-                                               </tr>
-                                       ';
-                                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') != 'all') {
-                                               break;
-                                       }
-                               }
-                               $GLOBALS['tmpl']->ext_lineNumberOffset += count(explode(LF, $val)) + 1;
-                               next($GLOBALS['tmpl']->clearList_const);
-                       }
-                       $theOutput .= '
-                               </table>
-                       ';
-               }
-               // Output setup
-               if (\TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template')) {
-                       $theOutput .= $this->pObj->doc->spacer(15);
-                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('setup', TRUE), '', 0, 1);
-                       $theOutput .= $this->pObj->doc->sectionEnd();
-                       $theOutput .= '
-                               <table class="ts-typoscript" border="0" cellpadding="1" cellspacing="0">
-                       ';
-                       $GLOBALS['tmpl']->ext_lineNumberOffset = 0;
-                       $GLOBALS['tmpl']->ext_lineNumberOffset_mode = 'setup';
-                       $GLOBALS['tmpl']->ext_lineNumberOffset += count(explode(LF, \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines(('' . $GLOBALS['TYPO3_CONF_VARS']['FE']['defaultTypoScript_setup'])))) + 1;
-                       reset($GLOBALS['tmpl']->clearList_setup);
-                       foreach ($GLOBALS['tmpl']->config as $key => $val) {
-                               if (current($GLOBALS['tmpl']->clearList_setup) == \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') || \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') == 'all') {
-                                       $theOutput .= '
-                                               <tr>
-                                                       <td class="bgColor2"><strong>' . htmlspecialchars($GLOBALS['tmpl']->templateTitles[current($GLOBALS['tmpl']->clearList_setup)]) . '</strong></td></tr>
-                                               <tr>
-                                                       <td class="bgColor2"><table border="0" cellpadding="0" cellspacing="0" class="bgColor0" width="100%"><tr><td nowrap="nowrap">' . $GLOBALS['tmpl']->ext_outputTS(array($val), $this->pObj->MOD_SETTINGS['ts_analyzer_checkLinenum'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkComments'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkCrop'], $this->pObj->MOD_SETTINGS['ts_analyzer_checkSyntax'], 0) . '</td></tr></table>
-                                                       </td>
-                                               </tr>
-                                       ';
-                                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::_GET('template') != 'all') {
-                                               break;
-                                       }
-                               }
-                               $GLOBALS['tmpl']->ext_lineNumberOffset += count(explode(LF, $val)) + 1;
-                               next($GLOBALS['tmpl']->clearList_setup);
-                       }
-                       $theOutput .= '
-                               </table>
-                       ';
-               }
-               return $theOutput;
-       }
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_analyzer/Migrations/Code/ClassAliasMap.php b/typo3/sysext/tstemplate_analyzer/Migrations/Code/ClassAliasMap.php
deleted file mode 100644 (file)
index 606a2e7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-return array(
-       'tx_tstemplateanalyzer' => 'TYPO3\\CMS\\TstemplateAnalyzer\\Controller\\TemplateAnalyzerModuleFunctionController',
-);
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_analyzer/ext_emconf.php b/typo3/sysext/tstemplate_analyzer/ext_emconf.php
deleted file mode 100644 (file)
index f662247..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/***************************************************************
- * Extension Manager/Repository config file for ext "tstemplate_analyzer".
- *
- * Auto generated 25-10-2011 13:11
- *
- * Manual updates:
- * Only the data in the array - everything else is removed by next
- * writing. "version" and "dependencies" must not be touched!
- ***************************************************************/
-$EM_CONF[$_EXTKEY] = array(
-       'title' => 'Web>Template, Template analyzer',
-       'description' => 'Analyzes the hierarchy of included static and custom template records.',
-       'category' => 'module',
-       'shy' => 1,
-       'dependencies' => 'tstemplate',
-       'conflicts' => '',
-       'priority' => '',
-       'loadOrder' => '',
-       'module' => '',
-       'state' => 'stable',
-       'internal' => 0,
-       'uploadfolder' => 0,
-       'createDirs' => '',
-       'modify_tables' => '',
-       'clearCacheOnLoad' => 0,
-       'lockType' => '',
-       'author' => 'Kasper Skaarhoj',
-       'author_email' => 'kasperYYYY@typo3.com',
-       'author_company' => 'Curby Soft Multimedia',
-       'CGLcompliance' => '',
-       'CGLcompliance_note' => '',
-       'version' => '6.2.0',
-       '_md5_values_when_last_written' => '',
-       'constraints' => array(
-               'depends' => array(
-                       'tstemplate' => '6.2.0-3.2.99',
-                       'typo3' => '6.2.0-6.2.99',
-               ),
-               'conflicts' => array(),
-               'suggests' => array()
-       ),
-       'suggests' => array()
-);
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_analyzer/ext_icon.gif b/typo3/sysext/tstemplate_analyzer/ext_icon.gif
deleted file mode 100644 (file)
index e50dd06..0000000
Binary files a/typo3/sysext/tstemplate_analyzer/ext_icon.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_analyzer/ext_tables.php b/typo3/sysext/tstemplate_analyzer/ext_tables.php
deleted file mode 100644 (file)
index b9a5b2e..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-if (!defined('TYPO3_MODE')) {
-       die('Access denied.');
-}
-if (TYPO3_MODE === 'BE') {
-       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
-               'web_ts',
-               'TYPO3\\CMS\\TstemplateAnalyzer\\Controller\\TemplateAnalyzerModuleFunctionController',
-               \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Controller/TemplateAnalyzerModuleFunctionController.php',
-               'LLL:EXT:tstemplate/ts/locallang.xlf:templateAnalyzer'
-       );
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_analyzer/locallang.xlf b/typo3/sysext/tstemplate_analyzer/locallang.xlf
deleted file mode 100644 (file)
index 4009caa..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
-       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:37Z" product-name="tstemplate_analyzer">
-               <header/>
-               <body>
-                       <trans-unit id="currentTemplate" xml:space="preserve">
-                               <source>Current template</source>
-                       </trans-unit>
-                       <trans-unit id="title" xml:space="preserve">
-                               <source>Title</source>
-                       </trans-unit>
-                       <trans-unit id="rootlevel" xml:space="preserve">
-                               <source>Rootlevel</source>
-                       </trans-unit>
-                       <trans-unit id="clearSetup" xml:space="preserve">
-                               <source>Clear Setup</source>
-                       </trans-unit>
-                       <trans-unit id="clearConstants" xml:space="preserve">
-                               <source>Clear Constants</source>
-                       </trans-unit>
-                       <trans-unit id="pid" xml:space="preserve">
-                               <source>PID</source>
-                       </trans-unit>
-                       <trans-unit id="rootline" xml:space="preserve">
-                               <source>Rootline</source>
-                       </trans-unit>
-                       <trans-unit id="nextLevel" xml:space="preserve">
-                               <source>Next Level</source>
-                       </trans-unit>
-                       <trans-unit id="templateHierarchy" xml:space="preserve">
-                               <source>Template hierarchy</source>
-                       </trans-unit>
-                       <trans-unit id="displayOptions" xml:space="preserve">
-                               <source>Display Options</source>
-                       </trans-unit>
-                       <trans-unit id="lineNumbers" xml:space="preserve">
-                               <source>Line numbers</source>
-                       </trans-unit>
-                       <trans-unit id="syntaxHighlight" xml:space="preserve">
-                               <source>Syntax highlight</source>
-                       </trans-unit>
-                       <trans-unit id="comments" xml:space="preserve">
-                               <source>Comments</source>
-                       </trans-unit>
-                       <trans-unit id="cropLines" xml:space="preserve">
-                               <source>Crop lines</source>
-                       </trans-unit>
-                       <trans-unit id="blockMode" xml:space="preserve">
-                               <source>Block mode</source>
-                       </trans-unit>
-                       <trans-unit id="constants" xml:space="preserve">
-                               <source>Constants</source>
-                       </trans-unit>
-                       <trans-unit id="setup" xml:space="preserve">
-                               <source>Setup</source>
-                       </trans-unit>
-                       <trans-unit id="viewCompleteTS" xml:space="preserve">
-                               <source>View the complete TS Listing</source>
-                       </trans-unit>
-                       <trans-unit id="completeTS" xml:space="preserve">
-                               <source>Complete TS</source>
-                       </trans-unit>
-               </body>
-       </file>
-</xliff>
diff --git a/typo3/sysext/tstemplate_ceditor/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php b/typo3/sysext/tstemplate_ceditor/Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php
deleted file mode 100644 (file)
index 3862814..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<?php
-namespace TYPO3\CMS\TstemplateCeditor\Controller;
-
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 1999-2013 Kasper Skårhøj (kasperYYYY@typo3.com)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *  A copy is found in the textfile GPL.txt and important notices to the license
- *  from the author is found in LICENSE.txt distributed with these scripts.
- *
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * TypoScript Constant editor
- *
- * Module Include-file
- *
- * localconf-variables:
- * $TYPO3_CONF_VARS['MODS']['web_ts']['onlineResourceDir'] = 'fileadmin/fonts/';               // This is the path (must be in "fileadmin/" !!) where the web_ts/constant-editor submodule fetches online resources. Put fonts (ttf) and standard images here!
- *
- * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- */
-class TypoScriptTemplateConstantEditorModuleFunctionController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
-
-       /**
-        * Initialize editor
-        *
-        * @param integer $pageId
-        * @param integer $template_uid
-        * @return integer
-        * @todo Define visibility
-        */
-       public function initialize_editor($pageId, $template_uid = 0) {
-               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
-               global $tmpl, $tplRow, $theConstants;
-               $tmpl = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\ExtendedTemplateService');
-               // Defined global here!
-               $tmpl->tt_track = 0;
-               // Do not log time-performance information
-               $tmpl->init();
-               $tmpl->ext_localGfxPrefix = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('tstemplate_ceditor');
-               $tmpl->ext_localWebGfxPrefix = $GLOBALS['BACK_PATH'] . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('tstemplate_ceditor');
-               // Get the row of the first VISIBLE template of the page. whereclause like the frontend.
-               $tplRow = $tmpl->ext_getFirstTemplate($pageId, $template_uid);
-               // IF there was a template...
-               if (is_array($tplRow)) {
-                       // Gets the rootLine
-                       $sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
-                       $rootLine = $sys_page->getRootLine($pageId);
-                       // This generates the constants/config + hierarchy info for the template.
-                       $tmpl->runThroughTemplates($rootLine, $template_uid);
-                       // The editable constants are returned in an array.
-                       $theConstants = $tmpl->generateConfig_constants();
-                       // The returned constants are sorted in categories, that goes into the $tmpl->categories array
-                       $tmpl->ext_categorizeEditableConstants($theConstants);
-                       // This array will contain key=[expanded constantname], value=linenumber in template. (after edit_divider, if any)
-                       $tmpl->ext_regObjectPositions($tplRow['constants']);
-                       return 1;
-               }
-       }
-
-       /**
-        * Display example
-        *
-        * @param string $theOutput
-        * @return string
-        * @todo Define visibility
-        */
-       public function displayExample($theOutput) {
-               global $tmpl;
-               if ($tmpl->helpConfig['imagetag'] || $tmpl->helpConfig['description'] || $tmpl->helpConfig['header']) {
-                       $theOutput .= $this->pObj->doc->spacer(30);
-                       $theOutput .= $this->pObj->doc->section($tmpl->helpConfig['header'], '<div align="center">' . $tmpl->helpConfig['imagetag'] . '</div><BR>' . ($tmpl->helpConfig['description'] ? implode(explode('//', $tmpl->helpConfig['description']), '<BR>') . '<BR>' : '') . ($tmpl->helpConfig['bulletlist'] ? '<ul><li>' . implode(explode('//', $tmpl->helpConfig['bulletlist']), '<li>') . '</ul>' : '<BR>'));
-               }
-               return $theOutput;
-       }
-
-       /**
-        * Main
-        *
-        * @return string
-        * @todo Define visibility
-        */
-       public function main() {
-               global $TYPO3_CONF_VARS;
-               global $tmpl, $tplRow, $theConstants;
-               $GLOBALS['LANG']->includeLLFile('EXT:tstemplate_ceditor/locallang.xlf');
-               $theOutput = '';
-               // Create extension template
-               $this->pObj->createTemplate($this->pObj->id);
-               // Checking for more than one template an if, set a menu...
-               $manyTemplatesMenu = $this->pObj->templateMenu();
-               $template_uid = 0;
-               if ($manyTemplatesMenu) {
-                       $template_uid = $this->pObj->MOD_SETTINGS['templatesOnPage'];
-               }
-               // BUGBUG: Should we check if the user may at all read and write template-records???
-               // initialize
-               $existTemplate = $this->initialize_editor($this->pObj->id, $template_uid);
-               if ($existTemplate) {
-                       $saveId = $tplRow['_ORIG_uid'] ? $tplRow['_ORIG_uid'] : $tplRow['uid'];
-                       // Update template ?
-                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('submit') || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger(\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('submit_x')) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger(\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('submit_y'))) {
-                               $tmpl->changed = 0;
-                               $tmpl->ext_procesInput(\TYPO3\CMS\Core\Utility\GeneralUtility::_POST(), array(), $theConstants, $tplRow);
-                               if ($tmpl->changed) {
-                                       // Set the data to be saved
-                                       $recData = array();
-                                       $recData['sys_template'][$saveId]['constants'] = implode($tmpl->raw, LF);
-                                       // Create new  tce-object
-                                       $tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
-                                       $tce->stripslashes_values = 0;
-                                       $tce->start($recData, array());
-                                       $tce->process_datamap();
-                                       // Clear the cache (note: currently only admin-users can clear the cache in tce_main.php)
-                                       $tce->clear_cacheCmd('all');
-                                       // re-read the template ...
-                                       $this->initialize_editor($this->pObj->id, $template_uid);
-                               }
-                       }
-                       // Resetting the menu (start). I wonder if this in any way is a violation of the menu-system. Haven't checked. But need to do it here, because the menu is dependent on the categories available.
-                       $this->pObj->MOD_MENU['constant_editor_cat'] = $tmpl->ext_getCategoryLabelArray();
-                       $this->pObj->MOD_SETTINGS = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleData($this->pObj->MOD_MENU, \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('SET'), $this->pObj->MCONF['name']);
-                       // Resetting the menu (stop)
-                       $content = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForRecord('sys_template', $tplRow) . '<strong>' . $this->pObj->linkWrapTemplateTitle($tplRow['title'], 'constants') . '</strong>' . htmlspecialchars((trim($tplRow['sitetitle']) ? ' (' . $tplRow['sitetitle'] . ')' : ''));
-                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('editConstants', TRUE), $content, FALSE, TRUE);
-                       if ($manyTemplatesMenu) {
-                               $theOutput .= $this->pObj->doc->section('', $manyTemplatesMenu);
-                       }
-                       $theOutput .= $this->pObj->doc->spacer(10);
-                       if (count($this->pObj->MOD_MENU['constant_editor_cat'])) {
-                               $menu = \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[constant_editor_cat]', $this->pObj->MOD_SETTINGS['constant_editor_cat'], $this->pObj->MOD_MENU['constant_editor_cat']);
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('category', TRUE), '<NOBR>' . $menu . '</NOBR>', FALSE);
-                       } else {
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('noConstants', TRUE), $GLOBALS['LANG']->getLL('noConstantsDescription', TRUE), FALSE, FALSE, 1);
-                       }
-                       $theOutput .= $this->pObj->doc->spacer(15);
-                       // Category and constant editor config:
-                       $category = $this->pObj->MOD_SETTINGS['constant_editor_cat'];
-                       $tmpl->ext_getTSCE_config($category);
-                       $printFields = trim($tmpl->ext_printFields($theConstants, $category));
-                       if ($printFields) {
-                               $theOutput .= $this->pObj->doc->section('', $printFields);
-                       }
-                       if ($BE_USER_modOptions['properties']['constantEditor.']['example'] != 'top') {
-                               $theOutput = $this->displayExample($theOutput);
-                       }
-               } else {
-                       $theOutput .= $this->pObj->noTemplate(1);
-               }
-               return $theOutput;
-       }
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_ceditor/Migrations/Code/ClassAliasMap.php b/typo3/sysext/tstemplate_ceditor/Migrations/Code/ClassAliasMap.php
deleted file mode 100644 (file)
index 098818b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-return array(
-       'tx_tstemplateceditor' => 'TYPO3\\CMS\\TstemplateCeditor\\Controller\\TypoScriptTemplateConstantEditorModuleFunctionController',
-);
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_ceditor/doc/TODO.txt b/typo3/sysext/tstemplate_ceditor/doc/TODO.txt
deleted file mode 100644 (file)
index 71bb358..0000000
+++ /dev/null
@@ -1 +0,0 @@
-- Checkboxes: "Typically a user would expect to set the flag by checking the checkbox, but the checkbox rather enables another checkbox which must be set (and the two checkboxes next to each other are somewhat confusing). If the first checkbox would be replaced by a button labeled "Change" this would be more clearly to a user." (My note: "[ ] Change?" where label "Change" would disappear after reload and the first time such a checkbox were clicked a message would also appear telling what happens...)
diff --git a/typo3/sysext/tstemplate_ceditor/ext_emconf.php b/typo3/sysext/tstemplate_ceditor/ext_emconf.php
deleted file mode 100644 (file)
index 8743cca..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/***************************************************************
- * Extension Manager/Repository config file for ext "tstemplate_ceditor".
- *
- * Auto generated 25-10-2011 13:11
- *
- * Manual updates:
- * Only the data in the array - everything else is removed by next
- * writing. "version" and "dependencies" must not be touched!
- ***************************************************************/
-$EM_CONF[$_EXTKEY] = array(
-       'title' => 'Web>Template, Constant Editor',
-       'description' => 'Edit the most popular constants of the standard static templates by form fields. Includes explanations in english.',
-       'category' => 'module',
-       'shy' => 1,
-       'dependencies' => 'tstemplate',
-       'conflicts' => '',
-       'priority' => '',
-       'loadOrder' => '',
-       'module' => '',
-       'state' => 'stable',
-       'internal' => 0,
-       'uploadfolder' => 0,
-       'createDirs' => '',
-       'modify_tables' => '',
-       'clearCacheOnLoad' => 0,
-       'lockType' => '',
-       'author' => 'Kasper Skaarhoj',
-       'author_email' => 'kasperYYYY@typo3.com',
-       'author_company' => 'Curby Soft Multimedia',
-       'CGLcompliance' => '',
-       'CGLcompliance_note' => '',
-       'version' => '6.2.0',
-       '_md5_values_when_last_written' => '',
-       'constraints' => array(
-               'depends' => array(
-                       'typo3' => '6.2.0-6.2.99',
-                       'tstemplate' => '6.2.0-6.2.99',
-               ),
-               'conflicts' => array(),
-               'suggests' => array()
-       ),
-       'suggests' => array()
-);
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_ceditor/ext_icon.gif b/typo3/sysext/tstemplate_ceditor/ext_icon.gif
deleted file mode 100644 (file)
index 3cae8e1..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/ext_icon.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/ext_tables.php b/typo3/sysext/tstemplate_ceditor/ext_tables.php
deleted file mode 100644 (file)
index 363579f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-if (!defined('TYPO3_MODE')) {
-       die('Access denied.');
-}
-if (TYPO3_MODE === 'BE') {
-       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
-               'web_ts',
-               'TYPO3\\CMS\\TstemplateCeditor\\Controller\\TypoScriptTemplateConstantEditorModuleFunctionController',
-               \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Controller/TypoScriptTemplateConstantEditorModuleFunctionController.php',
-               'LLL:EXT:tstemplate/ts/locallang.xlf:constantEditor'
-       );
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/1.gif b/typo3/sysext/tstemplate_ceditor/gfx/1.gif
deleted file mode 100644 (file)
index 17e246a..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/1.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/10.gif b/typo3/sysext/tstemplate_ceditor/gfx/10.gif
deleted file mode 100644 (file)
index e64ce77..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/10.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/11.gif b/typo3/sysext/tstemplate_ceditor/gfx/11.gif
deleted file mode 100644 (file)
index 0a1dbd4..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/11.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/12.gif b/typo3/sysext/tstemplate_ceditor/gfx/12.gif
deleted file mode 100644 (file)
index 4110bc3..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/12.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/13.gif b/typo3/sysext/tstemplate_ceditor/gfx/13.gif
deleted file mode 100644 (file)
index 33b7929..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/13.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/14.gif b/typo3/sysext/tstemplate_ceditor/gfx/14.gif
deleted file mode 100644 (file)
index 06e2429..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/14.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/15.gif b/typo3/sysext/tstemplate_ceditor/gfx/15.gif
deleted file mode 100644 (file)
index 390431b..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/15.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/16.gif b/typo3/sysext/tstemplate_ceditor/gfx/16.gif
deleted file mode 100644 (file)
index e3a55a4..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/16.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/17.gif b/typo3/sysext/tstemplate_ceditor/gfx/17.gif
deleted file mode 100644 (file)
index 0cfe1a9..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/17.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/18.gif b/typo3/sysext/tstemplate_ceditor/gfx/18.gif
deleted file mode 100644 (file)
index f8bf8f0..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/18.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/19.gif b/typo3/sysext/tstemplate_ceditor/gfx/19.gif
deleted file mode 100644 (file)
index 8594470..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/19.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/2.gif b/typo3/sysext/tstemplate_ceditor/gfx/2.gif
deleted file mode 100644 (file)
index 47ae807..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/2.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/20.gif b/typo3/sysext/tstemplate_ceditor/gfx/20.gif
deleted file mode 100644 (file)
index 2a34dd7..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/20.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/3.gif b/typo3/sysext/tstemplate_ceditor/gfx/3.gif
deleted file mode 100644 (file)
index e721e76..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/3.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/4.gif b/typo3/sysext/tstemplate_ceditor/gfx/4.gif
deleted file mode 100644 (file)
index c370d29..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/4.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/5.gif b/typo3/sysext/tstemplate_ceditor/gfx/5.gif
deleted file mode 100644 (file)
index 3c04254..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/5.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/6.gif b/typo3/sysext/tstemplate_ceditor/gfx/6.gif
deleted file mode 100644 (file)
index cb198e4..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/6.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/7.gif b/typo3/sysext/tstemplate_ceditor/gfx/7.gif
deleted file mode 100644 (file)
index 4a1926e..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/7.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/8.gif b/typo3/sysext/tstemplate_ceditor/gfx/8.gif
deleted file mode 100644 (file)
index 7bc14d7..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/8.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/9.gif b/typo3/sysext/tstemplate_ceditor/gfx/9.gif
deleted file mode 100644 (file)
index 2cbf6f4..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/9.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/BUG_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/BUG_basic.gif
deleted file mode 100644 (file)
index d93a8ed..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/BUG_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/BUG_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/BUG_menu.gif
deleted file mode 100644 (file)
index 9f73df1..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/BUG_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/BUG_menu2.gif b/typo3/sysext/tstemplate_ceditor/gfx/BUG_menu2.gif
deleted file mode 100644 (file)
index 6cb2773..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/BUG_menu2.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/BUSINESS_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/BUSINESS_basic.gif
deleted file mode 100644 (file)
index 84d44e3..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/BUSINESS_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/BUSINESS_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/BUSINESS_menu.gif
deleted file mode 100644 (file)
index e76c3f4..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/BUSINESS_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_basic.gif
deleted file mode 100644 (file)
index 5c483c0..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_menu.gif
deleted file mode 100644 (file)
index 05db8e1..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_page.gif b/typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_page.gif
deleted file mode 100644 (file)
index 1b710d5..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/CANDIDATE_page.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/CrCPH_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/CrCPH_basic.gif
deleted file mode 100644 (file)
index bdd877f..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/CrCPH_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/FIRST_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/FIRST_basic.gif
deleted file mode 100644 (file)
index 3987e62..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/FIRST_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/FIRST_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/FIRST_menu.gif
deleted file mode 100644 (file)
index c752a69..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/FIRST_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/GLCK_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/GLCK_basic.gif
deleted file mode 100644 (file)
index bcb94e5..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/GLCK_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/GLCK_columns.gif b/typo3/sysext/tstemplate_ceditor/gfx/GLCK_columns.gif
deleted file mode 100644 (file)
index 91ee716..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/GLCK_columns.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/GLCK_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/GLCK_menu.gif
deleted file mode 100644 (file)
index 40057f5..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/GLCK_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/GREEN_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/GREEN_basic.gif
deleted file mode 100644 (file)
index 4f3ab9b..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/GREEN_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu.gif
deleted file mode 100644 (file)
index 96abdb4..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu2.gif b/typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu2.gif
deleted file mode 100644 (file)
index f9b7286..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu2.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu3.gif b/typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu3.gif
deleted file mode 100644 (file)
index 5d11a81..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/GREEN_menu3.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/HYPER_basic.gif
deleted file mode 100644 (file)
index 2a439ad..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/HYPER_menu.gif
deleted file mode 100644 (file)
index b1e58da..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_menu2.gif b/typo3/sysext/tstemplate_ceditor/gfx/HYPER_menu2.gif
deleted file mode 100644 (file)
index 6543195..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_menu2.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_page.gif b/typo3/sysext/tstemplate_ceditor/gfx/HYPER_page.gif
deleted file mode 100644 (file)
index 551e1e9..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_page.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_toptitle.gif b/typo3/sysext/tstemplate_ceditor/gfx/HYPER_toptitle.gif
deleted file mode 100644 (file)
index 4f574ac..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/HYPER_toptitle.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/MM_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/MM_basic.gif
deleted file mode 100644 (file)
index 1423783..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/MM_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/MM_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/MM_menu.gif
deleted file mode 100644 (file)
index 3fe516f..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/MM_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/MM_right.gif b/typo3/sysext/tstemplate_ceditor/gfx/MM_right.gif
deleted file mode 100644 (file)
index 9ef8996..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/MM_right.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/NEWSLETTER_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/NEWSLETTER_basic.gif
deleted file mode 100644 (file)
index 15338d1..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/NEWSLETTER_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/RE_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/RE_basic.gif
deleted file mode 100644 (file)
index cd8b8b2..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/RE_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/RE_leftmenu.gif b/typo3/sysext/tstemplate_ceditor/gfx/RE_leftmenu.gif
deleted file mode 100644 (file)
index 220631a..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/RE_leftmenu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/RE_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/RE_menu.gif
deleted file mode 100644 (file)
index 5ff8c42..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/RE_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/RE_top.gif b/typo3/sysext/tstemplate_ceditor/gfx/RE_top.gif
deleted file mode 100644 (file)
index f2248a7..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/RE_top.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/TU_basic.gif b/typo3/sysext/tstemplate_ceditor/gfx/TU_basic.gif
deleted file mode 100644 (file)
index 77c4a5d..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/TU_basic.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/gfx/TU_menu.gif b/typo3/sysext/tstemplate_ceditor/gfx/TU_menu.gif
deleted file mode 100644 (file)
index 22bc807..0000000
Binary files a/typo3/sysext/tstemplate_ceditor/gfx/TU_menu.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_ceditor/locallang.xlf b/typo3/sysext/tstemplate_ceditor/locallang.xlf
deleted file mode 100644 (file)
index 199e3af..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
-       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:37Z" product-name="tstemplate_ceditor">
-               <header/>
-               <body>
-                       <trans-unit id="editConstants" xml:space="preserve">
-                               <source>Edit constants for template</source>
-                       </trans-unit>
-                       <trans-unit id="category" xml:space="preserve">
-                               <source>Category</source>
-                       </trans-unit>
-                       <trans-unit id="noConstants" xml:space="preserve">
-                               <source>No constants available</source>
-                       </trans-unit>
-                       <trans-unit id="noConstantsDescription" xml:space="preserve">
-                               <source>There are no editable constants available for the Constant Editor.</source>
-                       </trans-unit>
-               </body>
-       </file>
-</xliff>
diff --git a/typo3/sysext/tstemplate_info/Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php b/typo3/sysext/tstemplate_info/Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php
deleted file mode 100644 (file)
index e682ecc..0000000
+++ /dev/null
@@ -1,420 +0,0 @@
-<?php
-namespace TYPO3\CMS\TstemplateInfo\Controller;
-
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 1999-2013 Kasper Skårhøj (kasperYYYY@typo3.com)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *  A copy is found in the textfile GPL.txt and important notices to the license
- *  from the author is found in LICENSE.txt distributed with these scripts.
- *
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * This class displays the Info/Modify screen of the Web > Template module
- *
- * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- */
-class TypoScriptTemplateInformationModuleFunctionController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
-
-       /**
-        * Indicator for t3editor, whether data is stored
-        *
-        * @var boolean
-        */
-       public $tce_processed = FALSE;
-
-       /**
-        * Creates a row for a HTML table
-        *
-        * @param string $label The label to be shown (e.g. 'Title:', 'Sitetitle:')
-        * @param string $data The data/information to be shown (e.g. 'Template for my site')
-        * @param string $field The field/variable to be sent on clicking the edit icon (e.g. 'title', 'sitetitle')
-        * @return string A row for a HTML table
-        * @todo Define visibility
-        */
-       public function tableRow($label, $data, $field) {
-               $ret = '<tr><td>';
-               $urlParameters = array(
-                       'id' => $this->pObj->id
-               );
-               $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
-               $ret .= '<a href="' . htmlspecialchars(($aHref . '&e[' . $field . ']=1')) . '">' . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-open', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xlf:editField', TRUE))) . '<strong>' . $label . '&nbsp;&nbsp;</strong></a>';
-               $ret .= '</td><td width="80%" class="bgColor4">' . $data . '&nbsp;</td></tr>';
-               return $ret;
-       }
-
-       /**
-        * Renders HTML table with available template resources/files
-        *
-        * @param string $resources List of  resources/files to be shown (e.g. 'file_01.txt,file.txt')
-        * @param boolean $func Whether to render functions like 'to top' or 'delete' for each resource (default: FALSE)
-        * @return string HTML table with available template resources/files
-        * @todo Define visibility
-        */
-       public function procesResources($resources, $func = FALSE) {
-               $arr = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $resources . ',,', TRUE);
-               $out = '';
-               $bgcol = $func ? ' class="bgColor4"' : '';
-               foreach ($arr as $k => $v) {
-                       $path = PATH_site . $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['uploadfolder'] . '/' . $v;
-                       $functions = '';
-                       if ($func) {
-                               $functions = '<td bgcolor="red" nowrap="nowrap">' . $GLOBALS['LANG']->getLL('delete') . ' <input type="checkbox" name="data[remove_resource][' . $k . ']" value="' . htmlspecialchars($v) . '" /></td>';
-                               $functions .= '<td' . $bgcol . ' nowrap="nowrap">' . $GLOBALS['LANG']->getLL('toTop') . ' <input type="checkbox" name="data[totop_resource][' . $k . ']" value="' . htmlspecialchars($v) . '" /></td>';
-                               $functions .= '<td' . $bgcol . ' nowrap="nowrap">';
-                               $fI = \TYPO3\CMS\Core\Utility\GeneralUtility::split_fileref($v);
-                               if (\TYPO3\CMS\Core\Utility\GeneralUtility::inList($this->pObj->textExtensions, $fI['fileext'])) {
-                                       $urlParameters = array(
-                                               'id' => $this->pObj->id
-                                       );
-                                       $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
-                                       $functions .= '<a href="' . htmlspecialchars(($aHref . '&e[file]=' . rawurlencode($v))) . '">' . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-open', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xlf:editFile', TRUE))) . '</a>';
-                               }
-                               $functions .= '</td>';
-                       }
-                       $thumb = \TYPO3\CMS\Backend\Utility\BackendUtility::thumbCode(array('resources' => $v), 'sys_template', 'resources', $GLOBALS['BACK_PATH'], '');
-                       $out .= '<tr><td' . $bgcol . ' nowrap="nowrap">' . $v . '&nbsp;&nbsp;</td><td' . $bgcol . ' nowrap="nowrap">&nbsp;' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatSize(@filesize($path)) . '&nbsp;</td>' . $functions . '<td' . $bgcol . '>' . trim($thumb) . '</td></tr>';
-               }
-               if ($out) {
-                       if ($func) {
-                               $out = '<table border="0" cellpadding="1" cellspacing="1" width="100%">' . $out . '</table>';
-                               $out = '<table border="0" cellpadding="0" cellspacing="0">
-                                       <tr><td class="bgColor2">' . $out . '<img src="clear.gif" width="465px" height="1px"></td></tr>
-                               </table>';
-                       } else {
-                               $out = '<table border="0" cellpadding="0" cellspacing="0">' . $out . '</table>';
-                       }
-               }
-               return $out;
-       }
-
-       /**
-        * Renders HTML table with all available template resources/files in the current rootline that could be copied
-        *
-        * @param integer $id The uid of the current page
-        * @param integer $template_uid The uid of the template record to be rendered (only if more than one template on the current page)
-        * @return string HTML table with all available template resources/files in the current rootline that could be copied
-        * @todo Define visibility
-        */
-       public function resourceListForCopy($id, $template_uid) {
-               global $tmpl;
-               $sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
-               $rootLine = $sys_page->getRootLine($id);
-               // This generates the constants/config + hierarchy info for the template.
-               $tmpl->runThroughTemplates($rootLine, $template_uid);
-               $theResources = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $tmpl->resources, TRUE);
-               foreach ($theResources as $k => $v) {
-                       $fI = pathinfo($v);
-                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::inList($this->pObj->textExtensions, strtolower($fI['extension']))) {
-                               $path = PATH_site . $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['uploadfolder'] . '/' . $v;
-                               $thumb = \TYPO3\CMS\Backend\Utility\BackendUtility::thumbCode(array('resources' => $v), 'sys_template', 'resources', $GLOBALS['BACK_PATH'], '');
-                               $out .= '<tr><td' . $bgcol . ' nowrap="nowrap">' . $v . '&nbsp;&nbsp;</td><td' . $bgcol . ' nowrap="nowrap">&nbsp;' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatSize(@filesize($path)) . '&nbsp;</td><td' . $bgcol . '>' . trim($thumb) . '</td><td><input type="Checkbox" name="data[makecopy_resource][' . $k . ']" value="' . htmlspecialchars($v) . '"></td></tr>';
-                       }
-               }
-               $out = $out ? '<table border="0" cellpadding="0" cellspacing="0">' . $out . '</table>' : '';
-               return $out;
-       }
-
-       /**
-        * Create an instance of \TYPO3\CMS\Core\TypoScript\ExtendedTemplateService in
-        * $GLOBALS['tmpl'] and looks for the first (visible) template
-        * record. If $template_uid was given and greater than zero, this record will be checked.
-        *
-        * @param integer $pageId The uid of the current page
-        * @param integer $template_uid: The uid of the template record to be rendered (only if more than one template on the current page)
-        * @return boolean Returns TRUE if a template record was found, otherwise FALSE
-        * @todo Define visibility
-        */
-       public function initialize_editor($pageId, $template_uid = 0) {
-               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
-               global $tmpl, $tplRow, $theConstants;
-               // Defined global here!
-               $tmpl = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\ExtendedTemplateService');
-               // Do not log time-performance information
-               $tmpl->tt_track = 0;
-               $tmpl->init();
-               // Get the row of the first VISIBLE template of the page. whereclause like the frontend.
-               $tplRow = $tmpl->ext_getFirstTemplate($pageId, $template_uid);
-               if (is_array($tplRow)) {
-                       $tplRow = $this->processTemplateRowAfterLoading($tplRow);
-                       return TRUE;
-               }
-               return FALSE;
-       }
-
-       /**
-        * Process template row after loading
-        *
-        * @param array $tplRow Template row
-        * @return array Preprocessed template row
-        * @author Fabrizio Branca <typo3@fabrizio-branca.de>
-        * @todo Define visibility
-        */
-       public function processTemplateRowAfterLoading(array $tplRow) {
-               if ($this->pObj->MOD_SETTINGS['includeTypoScriptFileContent']) {
-                       // Let the recursion detection counter start at 91, so that only 10 recursive calls will be resolved
-                       // Otherwise the editor will be bloated with way to many lines making it hard the break the cyclic recursion.
-                       $tplRow['config'] = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines($tplRow['config'], 91);
-                       $tplRow['constants'] = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines($tplRow['constants'], 91);
-               }
-               return $tplRow;
-       }
-
-       /**
-        * Process template row before saving
-        *
-        * @param array $tplRow Template row
-        * @return array Preprocessed template row
-        * @author Fabrizio Branca <typo3@fabrizio-branca.de>
-        * @todo Define visibility
-        */
-       public function processTemplateRowBeforeSaving(array $tplRow) {
-               if ($this->pObj->MOD_SETTINGS['includeTypoScriptFileContent']) {
-                       $tplRow = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::extractIncludes_array($tplRow);
-               }
-               return $tplRow;
-       }
-
-       /**
-        * The main processing method if this class
-        *
-        * @return string Information of the template status or the taken actions as HTML string
-        * @todo Define visibility
-        */
-       public function main() {
-               global $BACK_PATH;
-               global $tmpl, $tplRow, $theConstants;
-               $GLOBALS['LANG']->includeLLFile('EXT:tstemplate_info/locallang.xlf');
-               $this->pObj->MOD_MENU['includeTypoScriptFileContent'] = TRUE;
-               $edit = $this->pObj->edit;
-               $e = $this->pObj->e;
-               // Checking for more than one template an if, set a menu...
-               $manyTemplatesMenu = $this->pObj->templateMenu();
-               $template_uid = 0;
-               if ($manyTemplatesMenu) {
-                       $template_uid = $this->pObj->MOD_SETTINGS['templatesOnPage'];
-               }
-               // Initialize
-               $existTemplate = $this->initialize_editor($this->pObj->id, $template_uid);
-               if ($existTemplate) {
-                       $saveId = $tplRow['_ORIG_uid'] ? $tplRow['_ORIG_uid'] : $tplRow['uid'];
-               }
-               // Create extension template
-               $newId = $this->pObj->createTemplate($this->pObj->id, $saveId);
-               if ($newId) {
-                       // Switch to new template
-                       $urlParameters = array(
-                               'id' => $this->pObj->id,
-                               'SET[templatesOnPage]' => $newId
-                       );
-                       $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
-                       \TYPO3\CMS\Core\Utility\HttpUtility::redirect($aHref);
-               }
-               if ($existTemplate) {
-                       // Update template ?
-                       $POST = \TYPO3\CMS\Core\Utility\GeneralUtility::_POST();
-                       if ($POST['submit'] || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['submit_x']) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['submit_y']) || $POST['saveclose'] || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['saveclose_x']) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['saveclose_y'])) {
-                               // Set the data to be saved
-                               $recData = array();
-                               $alternativeFileName = array();
-                               $tmp_upload_name = '';
-                               // Set this to blank
-                               $tmp_newresource_name = '';
-                               if (is_array($POST['data'])) {
-                                       foreach ($POST['data'] as $field => $val) {
-                                               switch ($field) {
-                                                       case 'constants':
-
-                                                       case 'config':
-
-                                                       case 'title':
-
-                                                       case 'sitetitle':
-
-                                                       case 'description':
-                                                               $recData['sys_template'][$saveId][$field] = $val;
-                                                       break;
-                                               }
-                                       }
-                               }
-                               if (count($recData)) {
-                                       $recData['sys_template'][$saveId] = $this->processTemplateRowBeforeSaving($recData['sys_template'][$saveId]);
-                                       // Create new  tce-object
-                                       $tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
-                                       $tce->stripslashes_values = 0;
-                                       $tce->alternativeFileName = $alternativeFileName;
-                                       // Initialize
-                                       $tce->start($recData, array());
-                                       // Saved the stuff
-                                       $tce->process_datamap();
-                                       // Clear the cache (note: currently only admin-users can clear the cache in tce_main.php)
-                                       $tce->clear_cacheCmd('all');
-                                       // tce were processed successfully
-                                       $this->tce_processed = TRUE;
-                                       // re-read the template ...
-                                       $this->initialize_editor($this->pObj->id, $template_uid);
-                               }
-                               // If files has been edited:
-                               if (is_array($edit)) {
-                                       if ($edit['filename'] && $tplRow['resources'] && \TYPO3\CMS\Core\Utility\GeneralUtility::inList($tplRow['resources'], $edit['filename'])) {
-                                               // Check if there are resources, and that the file is in the resourcelist.
-                                               $path = PATH_site . $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['uploadfolder'] . '/' . $edit['filename'];
-                                               $fI = \TYPO3\CMS\Core\Utility\GeneralUtility::split_fileref($edit['filename']);
-                                               if (@is_file($path) && \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($path) && \TYPO3\CMS\Core\Utility\GeneralUtility::inList($this->pObj->textExtensions, $fI['fileext'])) {
-                                                       // checks that have already been done.. Just to make sure
-                                                       // @TODO: Check if the hardcorded value already has a config member, otherwise create one
-                                                       // Checks that have already been done.. Just to make sure
-                                                       if (filesize($path) < 30720) {
-                                                               \TYPO3\CMS\Core\Utility\GeneralUtility::writeFile($path, $edit['file']);
-                                                               $theOutput .= $this->pObj->doc->spacer(10);
-                                                               $theOutput .= $this->pObj->doc->section('<font color=red>' . $GLOBALS['LANG']->getLL('fileChanged') . '</font>', sprintf($GLOBALS['LANG']->getLL('resourceUpdated'), $edit['filename']), 0, 0, 0, 1);
-                                                               // Clear cache - the file has probably affected the template setup
-                                                               // @TODO: Check if the edited file really had something to do with cached data and prevent this clearing if possible!
-                                                               /** @var $tce \TYPO3\CMS\Core\DataHandling\DataHandler */
-                                                               $tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
-                                                               $tce->stripslashes_values = 0;
-                                                               $tce->start(array(), array());
-                                                               $tce->clear_cacheCmd('all');
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-                       // Hook post updating template/TCE processing
-                       if (isset($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postTCEProcessingHook'])) {
-                               $postTCEProcessingHook = &$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postTCEProcessingHook'];
-                               if (is_array($postTCEProcessingHook)) {
-                                       $hookParameters = array(
-                                               'POST' => $POST,
-                                               'tce' => $tce
-                                       );
-                                       foreach ($postTCEProcessingHook as $hookFunction) {
-                                               \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($hookFunction, $hookParameters, $this);
-                                       }
-                               }
-                       }
-                       $content = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForRecord('sys_template', $tplRow, array('oncontextmenu' => "Clickmenu.show(
-'sys_template', '" . $tplRow['uid'] . "', '1', '', '', ''); return false;", 'onclick' => "Clickmenu.show('sys_template', '" . $tplRow['uid'] . "', '1', '','', ''); return false;")) . '<strong>' . htmlspecialchars($tplRow['title']) . '</strong>' . htmlspecialchars((trim($tplRow['sitetitle']) ? ' (' . $tplRow['sitetitle'] . ')' : ''));
-                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('templateInformation'), $content, 0, 1);
-                       if ($manyTemplatesMenu) {
-                               $theOutput .= $this->pObj->doc->section('', $manyTemplatesMenu);
-                       }
-                       $theOutput .= $this->pObj->doc->spacer(10);
-                       $numberOfRows = 35;
-                       // If abort pressed, nothing should be edited:
-                       if ($POST['abort'] || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['abort_x']) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['abort_y']) || $POST['saveclose'] || \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['saveclose_x']) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($POST['saveclose_y'])) {
-                               unset($e);
-                       }
-                       if ($e['title']) {
-                               $outCode = '<input type="Text" name="data[title]" value="' . htmlspecialchars($tplRow['title']) . '"' . $this->pObj->doc->formWidth() . '>';
-                               $outCode .= '<input type="Hidden" name="e[title]" value="1">';
-                               $theOutput .= $this->pObj->doc->spacer(15);
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('title'), $outCode, TRUE);
-                       }
-                       if ($e['sitetitle']) {
-                               $outCode = '<input type="Text" name="data[sitetitle]" value="' . htmlspecialchars($tplRow['sitetitle']) . '"' . $this->pObj->doc->formWidth() . '>';
-                               $outCode .= '<input type="Hidden" name="e[sitetitle]" value="1">';
-                               $theOutput .= $this->pObj->doc->spacer(15);
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('sitetitle'), $outCode, TRUE);
-                       }
-                       if ($e['description']) {
-                               $outCode = '<textarea name="data[description]" rows="5" class="fixed-font enable-tab"' . $this->pObj->doc->formWidthText(48, '', '') . '>' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatForTextarea($tplRow['description']) . '</textarea>';
-                               $outCode .= '<input type="Hidden" name="e[description]" value="1">';
-                               $theOutput .= $this->pObj->doc->spacer(15);
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('description'), $outCode, TRUE);
-                       }
-                       if ($e['constants']) {
-                               $outCode = '<textarea name="data[constants]" rows="' . $numberOfRows . '" wrap="off" class="fixed-font enable-tab"' . $this->pObj->doc->formWidthText(48, 'width:98%;height:70%', 'off') . ' class="fixed-font">' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatForTextarea($tplRow['constants']) . '</textarea>';
-                               $outCode .= '<input type="Hidden" name="e[constants]" value="1">';
-                               // Display "Include TypoScript file content?" checkbox
-                               $outCode .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[includeTypoScriptFileContent]', $this->pObj->MOD_SETTINGS['includeTypoScriptFileContent'], '', '&e[constants]=1', 'id="checkIncludeTypoScriptFileContent"');
-                               $outCode .= '<label for="checkIncludeTypoScriptFileContent">' . $GLOBALS['LANG']->getLL('includeTypoScriptFileContent') . '</label><br />';
-                               $theOutput .= $this->pObj->doc->spacer(15);
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('constants'), '', TRUE);
-                               $theOutput .= $this->pObj->doc->sectionEnd() . $outCode;
-                       }
-                       if ($e['file']) {
-                               $path = PATH_site . $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['uploadfolder'] . '/' . $e[file];
-                               $fI = \TYPO3\CMS\Core\Utility\GeneralUtility::split_fileref($e[file]);
-                               if (@is_file($path) && \TYPO3\CMS\Core\Utility\GeneralUtility::inList($this->pObj->textExtensions, $fI['fileext'])) {
-                                       if (filesize($path) < $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['max_size'] * 1024) {
-                                               $fileContent = \TYPO3\CMS\Core\Utility\GeneralUtility::getUrl($path);
-                                               $outCode = $GLOBALS['LANG']->getLL('file') . ' <strong>' . $e[file] . '</strong><BR>';
-                                               $outCode .= '<textarea name="edit[file]" rows="' . $numberOfRows . '" wrap="off" class="fixed-font enable-tab"' . $this->pObj->doc->formWidthText(48, 'width:98%;height:70%', 'off') . ' class="fixed-font">' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatForTextarea($fileContent) . '</textarea>';
-                                               $outCode .= '<input type="Hidden" name="edit[filename]" value="' . $e[file] . '">';
-                                               $outCode .= '<input type="Hidden" name="e[file]" value="' . htmlspecialchars($e[file]) . '">';
-                                               $theOutput .= $this->pObj->doc->spacer(15);
-                                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('editResource'), '');
-                                               $theOutput .= $this->pObj->doc->sectionEnd() . $outCode;
-                                       } else {
-                                               $theOutput .= $this->pObj->doc->spacer(15);
-                                               $fileToBig = sprintf($GLOBALS['LANG']->getLL('filesizeExceeded'), $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['max_size']);
-                                               $filesizeNotAllowed = sprintf($GLOBALS['LANG']->getLL('notAllowed'), $GLOBALS['TCA']['sys_template']['columns']['resources']['config']['max_size']);
-                                               $theOutput .= $this->pObj->doc->section('<font color=red>' . $fileToBig . '</font>', $filesizeNotAllowed, 0, 0, 0, 1);
-                                       }
-                               }
-                       }
-                       if ($e['config']) {
-                               $outCode = '<textarea name="data[config]" rows="' . $numberOfRows . '" wrap="off" class="fixed-font enable-tab"' . $this->pObj->doc->formWidthText(48, 'width:98%;height:70%', 'off') . ' class="fixed-font">' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatForTextarea($tplRow['config']) . '</textarea>';
-                               $outCode .= '<input type="Hidden" name="e[config]" value="1">';
-                               // Display "Include TypoScript file content?" checkbox
-                               $outCode .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[includeTypoScriptFileContent]', $this->pObj->MOD_SETTINGS['includeTypoScriptFileContent'], '', '&e[config]=1', 'id="checkIncludeTypoScriptFileContent"');
-                               $outCode .= '<label for="checkIncludeTypoScriptFileContent">' . $GLOBALS['LANG']->getLL('includeTypoScriptFileContent') . '</label><br />';
-                               $theOutput .= $this->pObj->doc->spacer(15);
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('setup'), '', TRUE);
-                               $theOutput .= $this->pObj->doc->sectionEnd() . $outCode;
-                       }
-                       // Processing:
-                       $outCode = '';
-                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('title'), htmlspecialchars($tplRow['title']), 'title');
-                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('sitetitle'), htmlspecialchars($tplRow['sitetitle']), 'sitetitle');
-                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('description'), nl2br(htmlspecialchars($tplRow['description'])), 'description');
-                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('constants'), sprintf($GLOBALS['LANG']->getLL('editToView'), trim($tplRow[constants]) ? count(explode(LF, $tplRow[constants])) : 0), 'constants');
-                       $outCode .= $this->tableRow($GLOBALS['LANG']->getLL('setup'), sprintf($GLOBALS['LANG']->getLL('editToView'), trim($tplRow[config]) ? count(explode(LF, $tplRow[config])) : 0), 'config');
-                       $outCode = '<table class="t3-table-info">' . $outCode . '</table>';
-                       // Edit all icon:
-                       $outCode .= '<br /><a href="#" onClick="' . \TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick((rawurlencode('&createExtension=0') . '&amp;edit[sys_template][' . $tplRow['uid'] . ']=edit'), $BACK_PATH, '') . '"><strong>' . \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('actions-document-open', array('title' => $GLOBALS['LANG']->getLL('editTemplateRecord'))) . $GLOBALS['LANG']->getLL('editTemplateRecord') . '</strong></a>';
-                       $theOutput .= $this->pObj->doc->section('', $outCode);
-                       // hook after compiling the output
-                       if (isset($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postOutputProcessingHook'])) {
-                               $postOutputProcessingHook = &$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/tstemplate_info/class.tx_tstemplateinfo.php']['postOutputProcessingHook'];
-                               if (is_array($postOutputProcessingHook)) {
-                                       $hookParameters = array(
-                                               'theOutput' => &$theOutput,
-                                               'POST' => $POST,
-                                               'e' => $e,
-                                               'tplRow' => $tplRow,
-                                               'numberOfRows' => $numberOfRows
-                                       );
-                                       foreach ($postOutputProcessingHook as $hookFunction) {
-                                               \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($hookFunction, $hookParameters, $this);
-                                       }
-                               }
-                       }
-               } else {
-                       $theOutput .= $this->pObj->noTemplate(1);
-               }
-               return $theOutput;
-       }
-
-}
-
-?>
diff --git a/typo3/sysext/tstemplate_info/Migrations/Code/ClassAliasMap.php b/typo3/sysext/tstemplate_info/Migrations/Code/ClassAliasMap.php
deleted file mode 100644 (file)
index 3d3c505..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-return array(
-       'tx_tstemplateinfo' => 'TYPO3\\CMS\\TstemplateInfo\\Controller\\TypoScriptTemplateInformationModuleFunctionController',
-);
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_info/ext_emconf.php b/typo3/sysext/tstemplate_info/ext_emconf.php
deleted file mode 100644 (file)
index 5856e04..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/***************************************************************
- * Extension Manager/Repository config file for ext "tstemplate_info".
- *
- * Auto generated 25-10-2011 13:11
- *
- * Manual updates:
- * Only the data in the array - everything else is removed by next
- * writing. "version" and "dependencies" must not be touched!
- ***************************************************************/
-$EM_CONF[$_EXTKEY] = array(
-       'title' => 'Web>Template, Info/Modify',
-       'description' => 'Quick and easy editing of template record Setup and Constants fields. Allows editing of attached txt-resource files.',
-       'category' => 'module',
-       'shy' => 1,
-       'dependencies' => 'tstemplate',
-       'conflicts' => '',
-       'priority' => '',
-       'loadOrder' => '',
-       'module' => '',
-       'state' => 'stable',
-       'internal' => 0,
-       'uploadfolder' => 0,
-       'createDirs' => '',
-       'modify_tables' => '',
-       'clearCacheOnLoad' => 0,
-       'lockType' => '',
-       'author' => 'Kasper Skaarhoj',
-       'author_email' => 'kasperYYYY@typo3.com',
-       'author_company' => 'Curby Soft Multimedia',
-       'CGLcompliance' => '',
-       'CGLcompliance_note' => '',
-       'version' => '6.2.0',
-       '_md5_values_when_last_written' => '',
-       'constraints' => array(
-               'depends' => array(
-                       'typo3' => '6.2.0-6.2.99',
-                       'tstemplate' => '6.2.0-6.2.99',
-               ),
-               'conflicts' => array(),
-               'suggests' => array()
-       ),
-       'suggests' => array()
-);
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_info/ext_icon.gif b/typo3/sysext/tstemplate_info/ext_icon.gif
deleted file mode 100644 (file)
index 6b8425a..0000000
Binary files a/typo3/sysext/tstemplate_info/ext_icon.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_info/ext_tables.php b/typo3/sysext/tstemplate_info/ext_tables.php
deleted file mode 100644 (file)
index f8a4a51..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-if (!defined('TYPO3_MODE')) {
-       die('Access denied.');
-}
-if (TYPO3_MODE === 'BE') {
-       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
-               'web_ts',
-               'TYPO3\\CMS\\TstemplateInfo\\Controller\\TypoScriptTemplateInformationModuleFunctionController',
-               \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php',
-               'LLL:EXT:tstemplate/ts/locallang.xlf:infoModify'
-       );
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_info/locallang.xlf b/typo3/sysext/tstemplate_info/locallang.xlf
deleted file mode 100644 (file)
index 2d1f20e..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
-       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:37Z" product-name="tstemplate_info">
-               <header/>
-               <body>
-                       <trans-unit id="delete" xml:space="preserve">
-                               <source>Delete:</source>
-                       </trans-unit>
-                       <trans-unit id="toTop" xml:space="preserve">
-                               <source>To top:</source>
-                       </trans-unit>
-                       <trans-unit id="fileChanged" xml:space="preserve">
-                               <source>File changed</source>
-                       </trans-unit>
-                       <trans-unit id="resourceUpdated" xml:space="preserve">
-                               <source>Resource '%s' has been updated.</source>
-                       </trans-unit>
-                       <trans-unit id="templateInformation" xml:space="preserve">
-                               <source>Template information</source>
-                       </trans-unit>
-                       <trans-unit id="title" xml:space="preserve">
-                               <source>Title</source>
-                       </trans-unit>
-                       <trans-unit id="sitetitle" xml:space="preserve">
-                               <source>Sitetitle</source>
-                       </trans-unit>
-                       <trans-unit id="description" xml:space="preserve">
-                               <source>Description</source>
-                       </trans-unit>
-                       <trans-unit id="allowedExtensions" xml:space="preserve">
-                               <source>Allowed extensions:</source>
-                       </trans-unit>
-                       <trans-unit id="maxFilesize" xml:space="preserve">
-                               <source>Max filesize:</source>
-                       </trans-unit>
-                       <trans-unit id="uploadResource" xml:space="preserve">
-                               <source>Upload resource</source>
-                       </trans-unit>
-                       <trans-unit id="newTextResource" xml:space="preserve">
-                               <source>New text resource (enter name)</source>
-                       </trans-unit>
-                       <trans-unit id="copyResource" xml:space="preserve">
-                               <source>Make a copy of resource:</source>
-                       </trans-unit>
-                       <trans-unit id="updateResourceList" xml:space="preserve">
-                               <source>Update resource list</source>
-                       </trans-unit>
-                       <trans-unit id="constants" xml:space="preserve">
-                               <source>Constants</source>
-                       </trans-unit>
-                       <trans-unit id="file" xml:space="preserve">
-                               <source>File:</source>
-                       </trans-unit>
-                       <trans-unit id="editResource" xml:space="preserve">
-                               <source>Edit Resource:</source>
-                       </trans-unit>
-                       <trans-unit id="filesizeExceeded" xml:space="preserve">
-                               <source>Filesize exceeded %s KBytes</source>
-                       </trans-unit>
-                       <trans-unit id="notAllowed" xml:space="preserve">
-                               <source>Files larger than %s KBytes are not allowed to be edited.</source>
-                       </trans-unit>
-                       <trans-unit id="setup" xml:space="preserve">
-                               <source>Setup</source>
-                       </trans-unit>
-                       <trans-unit id="resources" xml:space="preserve">
-                               <source>Resources</source>
-                       </trans-unit>
-                       <trans-unit id="editToView" xml:space="preserve">
-                               <source>(edit to view, %s lines)</source>
-                       </trans-unit>
-                       <trans-unit id="editTemplateRecord" xml:space="preserve">
-                               <source>Edit the whole template record</source>
-                       </trans-unit>
-                       <trans-unit id="includeTypoScriptFileContent" xml:space="preserve">
-                               <source>Include TypoScript file content</source>
-                       </trans-unit>
-               </body>
-       </file>
-</xliff>
diff --git a/typo3/sysext/tstemplate_objbrowser/Classes/Controller/TypoScriptTemplateObjectBrowserModuleFunctionController.php b/typo3/sysext/tstemplate_objbrowser/Classes/Controller/TypoScriptTemplateObjectBrowserModuleFunctionController.php
deleted file mode 100644 (file)
index dcee1c9..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-<?php
-namespace TYPO3\CMS\TstemplateObjbrowser\Controller;
-
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 1999-2013 Kasper Skårhøj (kasperYYYY@typo3.com)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *  A copy is found in the textfile GPL.txt and important notices to the license
- *  from the author is found in LICENSE.txt distributed with these scripts.
- *
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * This class displays the submodule "TypoScript Object Browser" inside the Web > Template module
- *
- * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- */
-class TypoScriptTemplateObjectBrowserModuleFunctionController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
-
-       /**
-        * Init
-        *
-        * @param object $pObj
-        * @param array $conf
-        * @return void
-        * @todo Define visibility
-        */
-       public function init(&$pObj, $conf) {
-               parent::init($pObj, $conf);
-               $this->pObj->modMenu_dontValidateList .= ',ts_browser_toplevel_setup,ts_browser_toplevel_const,ts_browser_TLKeys_setup,ts_browser_TLKeys_const';
-               $this->pObj->modMenu_setDefaultList .= ',ts_browser_fixedLgd,ts_browser_showComments';
-       }
-
-       /**
-        * Mod menu
-        *
-        * @return array
-        * @todo Define visibility
-        */
-       public function modMenu() {
-               $GLOBALS['LANG']->includeLLFile('EXT:tstemplate_objbrowser/locallang.xlf');
-               $modMenu = array(
-                       'ts_browser_type' => array(
-                               'const' => $GLOBALS['LANG']->getLL('constants'),
-                               'setup' => $GLOBALS['LANG']->getLL('setup')
-                       ),
-                       'ts_browser_toplevel_setup' => array(
-                               '0' => $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('all'), 'toUpper')
-                       ),
-                       'ts_browser_toplevel_const' => array(
-                               '0' => $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('all'), 'toUpper')
-                       ),
-                       'ts_browser_const' => array(
-                               '0' => $GLOBALS['LANG']->getLL('plainSubstitution'),
-                               'subst' => $GLOBALS['LANG']->getLL('substitutedGreen'),
-                               'const' => $GLOBALS['LANG']->getLL('unsubstitutedGreen')
-                       ),
-                       'ts_browser_regexsearch' => '1',
-                       'ts_browser_fixedLgd' => '1',
-                       'ts_browser_showComments' => '1',
-                       'ts_browser_alphaSort' => '1'
-               );
-               foreach (array('setup', 'const') as $bType) {
-                       $addKey = \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('addKey');
-                       // If any plus-signs were clicked, it's registred.
-                       if (is_array($addKey)) {
-                               reset($addKey);
-                               if (current($addKey)) {
-                                       $this->pObj->MOD_SETTINGS['ts_browser_TLKeys_' . $bType][key($addKey)] = key($addKey);
-                               } else {
-                                       unset($this->pObj->MOD_SETTINGS['ts_browser_TLKeys_' . $bType][key($addKey)]);
-                               }
-                               $GLOBALS['BE_USER']->pushModuleData($this->pObj->MCONF['name'], $this->pObj->MOD_SETTINGS);
-                       }
-                       if (count($this->pObj->MOD_SETTINGS['ts_browser_TLKeys_' . $bType])) {
-                               $modMenu['ts_browser_toplevel_' . $bType]['-'] = '---';
-                               $modMenu['ts_browser_toplevel_' . $bType] = $modMenu[('ts_browser_toplevel_' . $bType)] + $this->pObj->MOD_SETTINGS[('ts_browser_TLKeys_' . $bType)];
-                       }
-               }
-               return $modMenu;
-       }
-
-       /**
-        * Verify TS objects
-        *
-        * @param array $propertyArray
-        * @param string $parentType
-        * @param string $parentValue
-        * @return array
-        * @todo Define visibility
-        */
-       public function verify_TSobjects($propertyArray, $parentType, $parentValue) {
-               $TSobjTable = array(
-                       'PAGE' => array(
-                               'prop' => array(
-                                       'typeNum' => 'int',
-                                       '1,2,3' => 'COBJ',
-                                       'bodyTag' => 'string'
-                               )
-                       ),
-                       'TEXT' => array(
-                               'prop' => array(
-                                       'value' => 'string'
-                               )
-                       ),
-                       'HTML' => array(
-                               'prop' => array(
-                                       'value' => 'stdWrap'
-                               )
-                       ),
-                       'stdWrap' => array(
-                               'prop' => array(
-                                       'field' => 'string',
-                                       'current' => 'boolean'
-                               )
-                       )
-               );
-               $TSobjDataTypes = array(
-                       'COBJ' => 'TEXT,CONTENT',
-                       'PAGE' => 'PAGE',
-                       'stdWrap' => ''
-               );
-               if ($parentType) {
-                       if (isset($TSobjDataTypes[$parentType]) && (!$TSobjDataTypes[$parentType] || \TYPO3\CMS\Core\Utility\GeneralUtility::inlist($TSobjDataTypes[$parentType], $parentValue))) {
-                               $ObjectKind = $parentValue;
-                       } else {
-                               // Object kind is "" if it should be known.
-                               $ObjectKind = '';
-                       }
-               } else {
-                       // If parentType is not given, then it can be anything. Free.
-                       $ObjectKind = $parentValue;
-               }
-               if ($ObjectKind && is_array($TSobjTable[$ObjectKind])) {
-                       $result = array();
-                       if (is_array($propertyArray)) {
-                               foreach ($propertyArray as $key => $val) {
-                                       if (\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($key)) {
-                                               // If num-arrays
-                                               $result[$key] = $TSobjTable[$ObjectKind]['prop']['1,2,3'];
-                                       } else {
-                                               // standard
-                                               $result[$key] = $TSobjTable[$ObjectKind]['prop'][$key];
-                                       }
-                               }
-                       }
-                       return $result;
-               }
-       }
-
-       /**
-        * Initialize editor
-        *
-        * @param integer $pageId
-        * @param integer $template_uid
-        * @return integer
-        * @todo Define visibility
-        */
-       public function initialize_editor($pageId, $template_uid = 0) {
-               // Initializes the module. Done in this function because we may need to re-initialize if data is submitted!
-               global $tmpl, $tplRow, $theConstants;
-               // Defined global here!
-               $tmpl = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\ExtendedTemplateService');
-               // Do not log time-performance information
-               $tmpl->tt_track = 0;
-               $tmpl->init();
-               // Gets the rootLine
-               $sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
-               $rootLine = $sys_page->getRootLine($pageId);
-               // This generates the constants/config + hierarchy info for the template.
-               $tmpl->runThroughTemplates($rootLine, $template_uid);
-               // Get the row of the first VISIBLE template of the page. whereclause like the frontend.
-               $tplRow = $tmpl->ext_getFirstTemplate($pageId, $template_uid);
-               // IF there was a template...
-               if (is_array($tplRow)) {
-                       return 1;
-               }
-       }
-
-       /**
-        * Main
-        *
-        * @return string
-        * @todo Define visibility
-        */
-       public function main() {
-               global $BACK_PATH;
-               global $tmpl, $tplRow, $theConstants;
-               $POST = \TYPO3\CMS\Core\Utility\GeneralUtility::_POST();
-               // Checking for more than one template an if, set a menu...
-               $manyTemplatesMenu = $this->pObj->templateMenu();
-               $template_uid = 0;
-               if ($manyTemplatesMenu) {
-                       $template_uid = $this->pObj->MOD_SETTINGS['templatesOnPage'];
-               }
-               // BUGBUG: Should we check if the user may at all read and write template-records???
-               $bType = $this->pObj->MOD_SETTINGS['ts_browser_type'];
-               $existTemplate = $this->initialize_editor($this->pObj->id, $template_uid);
-               // initialize
-               if ($existTemplate) {
-                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('currentTemplate'), ' <img ' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], \TYPO3\CMS\Backend\Utility\IconUtility::getIcon('sys_template', $tplRow)) . ' align="top" /> <strong>' . $this->pObj->linkWrapTemplateTitle($tplRow['title'], ($bType == 'setup' ? 'config' : 'constants')) . '</strong>' . htmlspecialchars((trim($tplRow['sitetitle']) ? ' (' . $tplRow['sitetitle'] . ')' : '')));
-                       if ($manyTemplatesMenu) {
-                               $theOutput .= $this->pObj->doc->section('', $manyTemplatesMenu);
-                       }
-                       $theOutput .= $this->pObj->doc->spacer(10);
-                       if ($POST['add_property'] || $POST['update_value'] || $POST['clear_object']) {
-                               // add property
-                               $line = '';
-                               if (is_array($POST['data'])) {
-                                       $name = key($POST['data']);
-                                       if ($POST['data'][$name]['name'] !== '') {
-                                               // Workaround for this special case: User adds a key and submits by pressing the return key. The form however will use "add_property" which is the name of the first submit button in this form.
-                                               unset($POST['update_value']);
-                                               $POST['add_property'] = 'Add';
-                                       }
-                                       if ($POST['add_property']) {
-                                               $property = trim($POST['data'][$name]['name']);
-                                               if (preg_replace('/[^a-zA-Z0-9_\\.]*/', '', $property) != $property) {
-                                                       $badPropertyMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', $GLOBALS['LANG']->getLL('noSpaces') . '<br />' . $GLOBALS['LANG']->getLL('nothingUpdated'), $GLOBALS['LANG']->getLL('badProperty'), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR);
-                                                       $this->addFlashMessage($badPropertyMessage);
-                                               } else {
-                                                       $pline = $name . '.' . $property . ' = ' . trim($POST['data'][$name]['propertyValue']);
-                                                       $propertyAddedMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', htmlspecialchars($pline), $GLOBALS['LANG']->getLL('propertyAdded'));
-                                                       $this->addFlashMessage($propertyAddedMessage);
-                                                       $line .= LF . $pline;
-                                               }
-                                       } elseif ($POST['update_value']) {
-                                               $pline = $name . ' = ' . trim($POST['data'][$name]['value']);
-                                               $updatedMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', htmlspecialchars($pline), $GLOBALS['LANG']->getLL('valueUpdated'));
-                                               $this->addFlashMessage($updatedMessage);
-                                               $line .= LF . $pline;
-                                       } elseif ($POST['clear_object']) {
-                                               if ($POST['data'][$name]['clearValue']) {
-                                                       $pline = $name . ' >';
-                                                       $objectClearedMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', htmlspecialchars($pline), $GLOBALS['LANG']->getLL('objectCleared'));
-                                                       $this->addFlashMessage($objectClearedMessage);
-                                                       $line .= LF . $pline;
-                                               }
-                                       }
-                               }
-                               if ($line) {
-                                       $saveId = $tplRow['_ORIG_uid'] ? $tplRow['_ORIG_uid'] : $tplRow['uid'];
-                                       // Set the data to be saved
-                                       $recData = array();
-                                       $field = $bType == 'setup' ? 'config' : 'constants';
-                                       $recData['sys_template'][$saveId][$field] = $tplRow[$field] . $line;
-                                       // Create new  tce-object
-                                       $tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
-                                       $tce->stripslashes_values = 0;
-                                       // Initialize
-                                       $tce->start($recData, array());
-                                       // Saved the stuff
-                                       $tce->process_datamap();
-                                       // Clear the cache (note: currently only admin-users can clear the cache in tce_main.php)
-                                       $tce->clear_cacheCmd('all');
-                                       // re-read the template ...
-                                       $this->initialize_editor($this->pObj->id, $template_uid);
-                               }
-                       }
-               }
-               $tsbr = \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('tsbr');
-               $update = 0;
-               if (is_array($tsbr)) {
-                       // If any plus-signs were clicked, it's registred.
-                       $this->pObj->MOD_SETTINGS['tsbrowser_depthKeys_' . $bType] = $tmpl->ext_depthKeys($tsbr, $this->pObj->MOD_SETTINGS['tsbrowser_depthKeys_' . $bType]);
-                       $update = 1;
-               }
-               if ($POST['Submit']) {
-                       // If any POST-vars are send, update the condition array
-                       $this->pObj->MOD_SETTINGS['tsbrowser_conditions'] = $POST['conditions'];
-                       $update = 1;
-               }
-               if ($update) {
-                       $GLOBALS['BE_USER']->pushModuleData($this->pObj->MCONF['name'], $this->pObj->MOD_SETTINGS);
-               }
-               $tmpl->matchAlternative = $this->pObj->MOD_SETTINGS['tsbrowser_conditions'];
-               $tmpl->matchAlternative[] = 'dummydummydummydummydummydummydummydummydummydummydummy';
-               // This is just here to make sure that at least one element is in the array so that the tsparser actually uses this array to match.
-               $tmpl->constantMode = $this->pObj->MOD_SETTINGS['ts_browser_const'];
-               if ($this->pObj->sObj && $tmpl->constantMode) {
-                       $tmpl->constantMode = 'untouched';
-               }
-               $tmpl->regexMode = $this->pObj->MOD_SETTINGS['ts_browser_regexsearch'];
-               $tmpl->fixedLgd = $this->pObj->MOD_SETTINGS['ts_browser_fixedLgd'];
-               $tmpl->linkObjects = TRUE;
-               $tmpl->ext_regLinenumbers = TRUE;
-               $tmpl->ext_regComments = $this->pObj->MOD_SETTINGS['ts_browser_showComments'];
-               $tmpl->bType = $bType;
-               $tmpl->resourceCheck = 1;
-               $tmpl->removeFromGetFilePath = PATH_site;
-               if ($this->pObj->MOD_SETTINGS['ts_browser_type'] == 'const') {
-                       $tmpl->ext_constants_BRP = intval(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('breakPointLN'));
-               } else {
-                       $tmpl->ext_config_BRP = intval(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('breakPointLN'));
-               }
-               $tmpl->generateConfig();
-               if ($bType == 'setup') {
-                       $theSetup = $tmpl->setup;
-               } else {
-                       $theSetup = $tmpl->setup_constants;
-               }
-               // EDIT A VALUE:
-               if ($this->pObj->sObj) {
-                       list($theSetup, $theSetupValue) = $tmpl->ext_getSetup($theSetup, $this->pObj->sObj ? $this->pObj->sObj : '');
-                       if ($existTemplate) {
-                               // Value
-                               $out = '';
-                               $out .= htmlspecialchars($this->pObj->sObj) . ' =<br />';
-                               $out .= '<input type="Text" name="data[' . htmlspecialchars($this->pObj->sObj) . '][value]" value="' . htmlspecialchars($theSetupValue) . '"' . $GLOBALS['TBE_TEMPLATE']->formWidth(40) . ' />';
-                               $out .= '<input type="Submit" name="update_value" value="' . $GLOBALS['LANG']->getLL('updateButton') . '" />';
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('editProperty'), $out, 0, 0);
-                               // Property
-                               $out = '';
-                               $out = '<nobr>' . htmlspecialchars($this->pObj->sObj) . '.';
-                               $out .= '<input type="Text" name="data[' . htmlspecialchars($this->pObj->sObj) . '][name]"' . $GLOBALS['TBE_TEMPLATE']->formWidth(20) . ' /> = </nobr><br />';
-                               $out .= '<input type="Text" name="data[' . htmlspecialchars($this->pObj->sObj) . '][propertyValue]"' . $GLOBALS['TBE_TEMPLATE']->formWidth(40) . ' />';
-                               $out .= '<input type="Submit" name="add_property" value="' . $GLOBALS['LANG']->getLL('addButton') . '" />';
-                               $theOutput .= $this->pObj->doc->spacer(20);
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('addProperty'), $out, 0, 0);
-                               // clear
-                               $out = '';
-                               $out = htmlspecialchars($this->pObj->sObj) . ' <strong>' . $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('clear'), 'toUpper') . '</strong> &nbsp;&nbsp;';
-                               $out .= '<input type="Checkbox" name="data[' . htmlspecialchars($this->pObj->sObj) . '][clearValue]" value="1" />';
-                               $out .= '<input type="Submit" name="clear_object" value="' . $GLOBALS['LANG']->getLL('clearButton') . '" />';
-                               $theOutput .= $this->pObj->doc->spacer(20);
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('clearObject'), $out, 0, 0);
-                               $theOutput .= $this->pObj->doc->spacer(10);
-                       } else {
-                               $noTemplateMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', $GLOBALS['LANG']->getLL('noCurrentTemplate'), $GLOBALS['LANG']->getLL('edit'), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR);
-                               $this->addFlashMessage($noTemplateMessage);
-                       }
-                       // Links:
-                       $out = '';
-                       $urlParameters = array(
-                               'id' => $this->pObj->id
-                       );
-                       $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
-                       if (!$this->pObj->MOD_SETTINGS[('ts_browser_TLKeys_' . $bType)][$this->pObj->sObj]) {
-                               if (count($theSetup)) {
-                                       $out = '<a href="' . htmlspecialchars(($aHref . '&addKey[' . rawurlencode($this->pObj->sObj) . ']=1&SET[ts_browser_toplevel_' . $bType . ']=' . rawurlencode($this->pObj->sObj))) . '">';
-                                       $out .= sprintf($GLOBALS['LANG']->getLL('addKey'), htmlspecialchars($this->pObj->sObj));
-                               }
-                       } else {
-                               $out = '<a href="' . htmlspecialchars(($aHref . '&addKey[' . rawurlencode($this->pObj->sObj) . ']=0&SET[ts_browser_toplevel_' . $bType . ']=0')) . '">';
-                               $out .= sprintf($GLOBALS['LANG']->getLL('removeKey'), htmlspecialchars($this->pObj->sObj));
-                       }
-                       if ($out) {
-                               $theOutput .= $this->pObj->doc->divider(5);
-                               $theOutput .= $this->pObj->doc->section('', $out);
-                       }
-                       // back
-                       $out = $GLOBALS['LANG']->getLL('back');
-                       $out = '<a href="' . htmlspecialchars($aHref) . '"><strong>' . $out . '</strong></a>';
-                       $theOutput .= $this->pObj->doc->divider(5);
-                       $theOutput .= $this->pObj->doc->section('', $out);
-               } else {
-                       $tmpl->tsbrowser_depthKeys = $this->pObj->MOD_SETTINGS['tsbrowser_depthKeys_' . $bType];
-                       if (\TYPO3\CMS\Core\Utility\GeneralUtility::_POST('search') && \TYPO3\CMS\Core\Utility\GeneralUtility::_POST('search_field')) {
-                               // If any POST-vars are send, update the condition array
-                               $tmpl->tsbrowser_depthKeys = $tmpl->ext_getSearchKeys($theSetup, '', \TYPO3\CMS\Core\Utility\GeneralUtility::_POST('search_field'), array());
-                       }
-                       $menu = '<div class="tsob-menu"><label>' . $GLOBALS['LANG']->getLL('browse') . '</label>';
-                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[ts_browser_type]', $bType, $this->pObj->MOD_MENU['ts_browser_type']);
-                       $menu .= '<label for="ts_browser_toplevel_' . $bType . '">' . $GLOBALS['LANG']->getLL('objectList') . '</label>';
-                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[ts_browser_toplevel_' . $bType . ']', $this->pObj->MOD_SETTINGS['ts_browser_toplevel_' . $bType], $this->pObj->MOD_MENU['ts_browser_toplevel_' . $bType]);
-                       //search
-                       $menu .= '<label for="search_field">' . $GLOBALS['LANG']->getLL('search') . '</label>';
-                       $menu .= '<input type="Text" name="search_field" id="search_field" value="' . htmlspecialchars($POST['search_field']) . '"' . $GLOBALS['TBE_TEMPLATE']->formWidth(20) . '/>';
-                       $menu .= '<input type="Submit" name="search" class="tsob-search-submit" value="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xlf:search') . '" />';
-                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_browser_regexsearch]', $this->pObj->MOD_SETTINGS['ts_browser_regexsearch'], '', '', 'id="checkTs_browser_regexsearch"');
-                       $menu .= '<label for="checkTs_browser_regexsearch">' . $GLOBALS['LANG']->getLL('regExp') . '</label>';
-                       $menu .= '</div>';
-                       $theOutput .= $this->pObj->doc->section('', '<nobr>' . $menu . '</nobr>');
-                       $theKey = $this->pObj->MOD_SETTINGS['ts_browser_toplevel_' . $bType];
-                       if (!$theKey || !str_replace('-', '', $theKey)) {
-                               $theKey = '';
-                       }
-                       list($theSetup, $theSetupValue) = $tmpl->ext_getSetup($theSetup, $this->pObj->MOD_SETTINGS['ts_browser_toplevel_' . $bType] ? $this->pObj->MOD_SETTINGS['ts_browser_toplevel_' . $bType] : '');
-                       $tree = $tmpl->ext_getObjTree($theSetup, $theKey, '', '', $theSetupValue, $this->pObj->MOD_SETTINGS['ts_browser_alphaSort']);
-                       $tree = $tmpl->substituteCMarkers($tree);
-                       $urlParameters = array(
-                               'id' => $this->pObj->id
-                       );
-                       $aHref = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_ts', $urlParameters);
-                       // Parser Errors:
-                       $pEkey = $bType == 'setup' ? 'config' : 'constants';
-                       if (count($tmpl->parserErrors[$pEkey])) {
-                               $errMsg = array();
-                               $templateAnalyzerInstalled = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('tstemplate_analyzer');
-                               foreach ($tmpl->parserErrors[$pEkey] as $inf) {
-                                       $errorLink = '';
-                                       if ($templateAnalyzerInstalled) {
-                                               $errorLink = ' <a href="' . htmlspecialchars(($aHref . '&SET[function]=TYPO3\\CMS\\TstemplateAnalyzer\\Controller\\TemplateAnalyzerModuleFunctionController&template=all&SET[ts_analyzer_checkLinenum]=1#line-' . $inf[2])) . '">' . $GLOBALS['LANG']->getLL('errorShowDetails') . '</a>';
-                                       }
-                                       $errMsg[] = $inf[1] . ': &nbsp; &nbsp;' . $inf[0] . $errorLink;
-                               }
-                               $theOutput .= $this->pObj->doc->spacer(10);
-                               $flashMessage = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', implode($errMsg, '<br />'), $GLOBALS['LANG']->getLL('errorsWarnings'), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR);
-                               $theOutput .= $flashMessage->render();
-                       }
-                       if (isset($this->pObj->MOD_SETTINGS['ts_browser_TLKeys_' . $bType][$theKey])) {
-                               $remove = '<td width="1%" nowrap><a href="' . htmlspecialchars(($aHref . '&addKey[' . $theKey . ']=0&SET[ts_browser_toplevel_' . $bType . ']=0')) . '"><strong>' . $GLOBALS['LANG']->getLL('removeKey') . '</strong></a></td>';
-                       } else {
-                               $remove = '';
-                       }
-                       $label = $theKey ? $theKey : ($bType == 'setup' ? $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('setupRoot'), 'toUpper') : $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $GLOBALS['LANG']->getLL('constantRoot'), 'toUpper'));
-                       $theOutput .= $this->pObj->doc->spacer(15);
-                       $theOutput .= $this->pObj->doc->sectionEnd();
-                       $theOutput .= '<table border="0" id="typo3-objectBrowser">
-                                       <tr class="t3-row-header">
-                                               <td nowrap="nowrap" width="99%"><strong>' . $label . '</strong></td>' . $remove . '
-                                       </tr>
-                                       <tr>
-                                               <td class="bgColor4" nowrap="nowrap">' . $tree . '</td>' . ($remove ? '<td></td>' : '') . '
-                                       </tr>
-                               </table>
-                       ';
-                       // second row options
-                       $menu = '<div class="tsob-menu-row2">';
-                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_browser_showComments]', $this->pObj->MOD_SETTINGS['ts_browser_showComments'], '', '', 'id="checkTs_browser_showComments"');
-                       $menu .= '<label for="checkTs_browser_showComments">' . $GLOBALS['LANG']->getLL('displayComments') . '</label>';
-                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_browser_alphaSort]', $this->pObj->MOD_SETTINGS['ts_browser_alphaSort'], '', '', 'id="checkTs_browser_alphaSort"');
-                       $menu .= '<label for="checkTs_browser_alphaSort">' . $GLOBALS['LANG']->getLL('sortAlphabetically') . '</label>';
-                       $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncCheck($this->pObj->id, 'SET[ts_browser_fixedLgd]', $this->pObj->MOD_SETTINGS['ts_browser_fixedLgd'], '', '', 'id="checkTs_browser_fixedLgd"');
-                       $menu .= '<label for="checkTs_browser_fixedLgd">' . $GLOBALS['LANG']->getLL('cropLines') . '</label>';
-                       if ($bType == 'setup' && !$this->pObj->MOD_SETTINGS['ts_browser_fixedLgd']) {
-                               $menu .= '<br /><br /><label>' . $GLOBALS['LANG']->getLL('displayConstants') . '</label>';
-                               $menu .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[ts_browser_const]', $this->pObj->MOD_SETTINGS['ts_browser_const'], $this->pObj->MOD_MENU['ts_browser_const']);
-                       }
-                       $menu .= '</div>';
-                       $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('displayOptions'), '<nobr>' . $menu . '</nobr>', 0, 1);
-                       // Conditions:
-                       if (is_array($tmpl->sections)) {
-                               $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('conditions'), '', 0, 1);
-                               $out = '';
-                               foreach ($tmpl->sections as $key => $val) {
-                                       $out .= '<div class="tsob-conditions"><input class="checkbox" type="checkbox" name="conditions[' . $key . ']" id="check' . $key . '" value="' . htmlspecialchars($val) . '"' . ($this->pObj->MOD_SETTINGS['tsbrowser_conditions'][$key] ? ' checked' : '') . ' />';
-                                       $out .= '<label for="check' . $key . '">' . $tmpl->substituteCMarkers(htmlspecialchars($val)) . '</label></div>';
-                               }
-                               $theOutput .=  '<div class="tsob-menu-row2">' . $out . '</div><input type="Submit" name="Submit" value="' . $GLOBALS['LANG']->getLL('setConditions') . '" />';
-                       }
-                       // Ending section:
-                       $theOutput .= $this->pObj->doc->sectionEnd();
-               }
-               return $theOutput;
-       }
-
-       /**
-        * Add flash message to queue
-        *
-        * @param \TYPO3\CMS\Core\Messaging\FlashMessage $flasgMessage
-        * @return void
-        */
-       protected function addFlashMessage(\TYPO3\CMS\Core\Messaging\FlashMessage $flashMessage) {
-               /** @var $flashMessageService \TYPO3\CMS\Core\Messaging\FlashMessageService */
-               $flashMessageService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessageService');
-               /** @var $defaultFlashMessageQueue \TYPO3\CMS\Core\Messaging\FlashMessageQueue */
-               $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
-               $defaultFlashMessageQueue->enqueue($flashMessage);
-       }
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_objbrowser/Migrations/Code/ClassAliasMap.php b/typo3/sysext/tstemplate_objbrowser/Migrations/Code/ClassAliasMap.php
deleted file mode 100644 (file)
index 5bfae43..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-return array(
-       'tx_tstemplateobjbrowser' => 'TYPO3\\CMS\\TstemplateObjbrowser\\Controller\\TypoScriptTemplateObjectBrowserModuleFunctionController',
-);
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_objbrowser/doc/TODO.txt b/typo3/sysext/tstemplate_objbrowser/doc/TODO.txt
deleted file mode 100644 (file)
index 5ce971a..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-- The mode "UN-substituted constants" will show conditions like this:          [globalVar=LIT:0<##3f523e_B##{$content.RTE_compliant}##3f523e_E##] AND it will not work either according to Christian Jul (Message-ID: <Pine.LNX.4.44L0.0209261144060.12124-100000@ask.diku.dk>) (has been reported for "[globalVar=LIT:0<1]" as well!)
-- BUG: Object Browser cannot use other "OL"'s than the "ALL" (notify Ben when fixed)
-
-Johannes Reichardt:
-- objectlinks on by default.
-- highlighted value in the tree after update (so i know where i have been).
-- more intuitive search function - small hint that its case-sensitive, automatic fold out if found..
-- smart insertion of setup values - right now it just gets all added but never replaced --> big mess.
diff --git a/typo3/sysext/tstemplate_objbrowser/ext_emconf.php b/typo3/sysext/tstemplate_objbrowser/ext_emconf.php
deleted file mode 100644 (file)
index 8fb0ea0..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/***************************************************************
- * Extension Manager/Repository config file for ext "tstemplate_objbrowser".
- *
- * Auto generated 25-10-2011 13:11
- *
- * Manual updates:
- * Only the data in the array - everything else is removed by next
- * writing. "version" and "dependencies" must not be touched!
- ***************************************************************/
-$EM_CONF[$_EXTKEY] = array(
-       'title' => 'Web>Template, Object Browser',
-       'description' => 'The Object Browser writes out the TypoScript configuration in an object tree style.',
-       'category' => 'module',
-       'shy' => 1,
-       'dependencies' => 'tstemplate',
-       'conflicts' => '',
-       'priority' => '',
-       'loadOrder' => '',
-       'module' => '',
-       'state' => 'stable',
-       'internal' => 0,
-       'uploadfolder' => 0,
-       'createDirs' => '',
-       'modify_tables' => '',
-       'clearCacheOnLoad' => 0,
-       'lockType' => '',
-       'author' => 'Kasper Skaarhoj',
-       'author_email' => 'kasperYYYY@typo3.com',
-       'author_company' => 'Curby Soft Multimedia',
-       'CGLcompliance' => '',
-       'CGLcompliance_note' => '',
-       'version' => '6.2.0',
-       '_md5_values_when_last_written' => '',
-       'constraints' => array(
-               'depends' => array(
-                       'typo3' => '6.2.0-6.2.99',
-                       'tstemplate' => '6.2.0-6.2.99',
-               ),
-               'conflicts' => array(),
-               'suggests' => array()
-       ),
-       'suggests' => array()
-);
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_objbrowser/ext_icon.gif b/typo3/sysext/tstemplate_objbrowser/ext_icon.gif
deleted file mode 100644 (file)
index 4e5005f..0000000
Binary files a/typo3/sysext/tstemplate_objbrowser/ext_icon.gif and /dev/null differ
diff --git a/typo3/sysext/tstemplate_objbrowser/ext_tables.php b/typo3/sysext/tstemplate_objbrowser/ext_tables.php
deleted file mode 100644 (file)
index 37e1be6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-if (!defined('TYPO3_MODE')) {
-       die('Access denied.');
-}
-if (TYPO3_MODE === 'BE') {
-       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
-               'web_ts',
-               'TYPO3\\CMS\\TstemplateObjbrowser\\Controller\\TypoScriptTemplateObjectBrowserModuleFunctionController',
-               \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Controller/TypoScriptTemplateObjectBrowserModuleFunctionController.php',
-               'LLL:EXT:tstemplate/ts/locallang.xlf:objectBrowser'
-       );
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/tstemplate_objbrowser/locallang.xlf b/typo3/sysext/tstemplate_objbrowser/locallang.xlf
deleted file mode 100644 (file)
index d78b454..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
-       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:37Z" product-name="tstemplate_objbrowser">
-               <header/>
-               <body>
-                       <trans-unit id="constants" xml:space="preserve">
-                               <source>Constants</source>
-                       </trans-unit>
-                       <trans-unit id="setup" xml:space="preserve">
-                               <source>Setup</source>
-                       </trans-unit>
-                       <trans-unit id="all" xml:space="preserve">
-                               <source>All</source>
-                       </trans-unit>
-                       <trans-unit id="plainSubstitution" xml:space="preserve">
-                               <source>Plain substitution (default)</source>
-                       </trans-unit>
-                       <trans-unit id="substitutedGreen" xml:space="preserve">
-                               <source>Substituted constants in green</source>
-                       </trans-unit>
-                       <trans-unit id="unsubstitutedGreen" xml:space="preserve">
-                               <source>UN-substituted constants in green</source>
-                       </trans-unit>
-                       <trans-unit id="currentTemplate" xml:space="preserve">
-                               <source>Current template</source>
-                       </trans-unit>
-                       <trans-unit id="badProperty" xml:space="preserve">
-                               <source>Bad property!</source>
-                       </trans-unit>
-                       <trans-unit id="noSpaces" xml:space="preserve">
-                               <source>You must enter a property with characters a-z, A-Z and 0-9, no spaces!</source>
-                       </trans-unit>
-                       <trans-unit id="nothingUpdated" xml:space="preserve">
-                               <source>Nothing was updated!</source>
-                       </trans-unit>
-                       <trans-unit id="propertyAdded" xml:space="preserve">
-                               <source>Property added</source>
-                       </trans-unit>
-                       <trans-unit id="valueUpdated" xml:space="preserve">
-                               <source>Value updated</source>
-                       </trans-unit>
-                       <trans-unit id="objectCleared" xml:space="preserve">
-                               <source>Object cleared</source>
-                       </trans-unit>
-                       <trans-unit id="updateButton" xml:space="preserve">
-                               <source>Update</source>
-                       </trans-unit>
-                       <trans-unit id="editProperty" xml:space="preserve">
-                               <source>Edit object/property value:</source>
-                       </trans-unit>
-                       <trans-unit id="addButton" xml:space="preserve">
-                               <source>Add</source>
-                       </trans-unit>
-                       <trans-unit id="addProperty" xml:space="preserve">
-                               <source>Add object property:</source>
-                       </trans-unit>
-                       <trans-unit id="clear" xml:space="preserve">
-                               <source>Clear?</source>
-                       </trans-unit>
-                       <trans-unit id="clearButton" xml:space="preserve">
-                               <source>Clear</source>
-                       </trans-unit>
-                       <trans-unit id="clearObject" xml:space="preserve">
-                               <source>Clear object:</source>
-                       </trans-unit>
-                       <trans-unit id="edit" xml:space="preserve">
-                               <source>Edit:</source>
-                       </trans-unit>
-                       <trans-unit id="noCurrentTemplate" xml:space="preserve">
-                               <source>You cannot edit properties and values, if there's no current template.</source>
-                       </trans-unit>
-                       <trans-unit id="addKey" xml:space="preserve">
-                               <source>&lt;b&gt;Add key&lt;/b&gt;&lt;/a&gt; "%s" to Object List</source>
-                       </trans-unit>
-                       <trans-unit id="removeKey" xml:space="preserve">
-                               <source>&lt;b&gt;Remove key&lt;/b&gt;&lt;/a&gt; "%s" from Object List</source>
-                       </trans-unit>
-                       <trans-unit id="back" xml:space="preserve">
-                               <source>&lt; Back</source>
-                       </trans-unit>
-                       <trans-unit id="browse" xml:space="preserve">
-                               <source>Browse:</source>
-                       </trans-unit>
-                       <trans-unit id="objectList" xml:space="preserve">
-                               <source>Object List:</source>
-                       </trans-unit>
-                       <trans-unit id="search" xml:space="preserve">
-                               <source>Search:</source>
-                       </trans-unit>
-                       <trans-unit id="regExp" xml:space="preserve">
-                               <source>Regular expressions</source>
-                       </trans-unit>
-                       <trans-unit id="errorsWarnings" xml:space="preserve">
-                               <source>Errors and warnings</source>
-                       </trans-unit>
-                       <trans-unit id="errorShowDetails" xml:space="preserve">
-                               <source>Show details</source>
-                       </trans-unit>
-                       <trans-unit id="removeKey" xml:space="preserve">
-                               <source>Remove key from OL</source>
-                       </trans-unit>
-                       <trans-unit id="setupRoot" xml:space="preserve">
-                               <source>setup root</source>
-                       </trans-unit>
-                       <trans-unit id="constantRoot" xml:space="preserve">
-                               <source>constants root</source>
-                       </trans-unit>
-                       <trans-unit id="displayComments" xml:space="preserve">
-                               <source>Display comments</source>
-                       </trans-unit>
-                       <trans-unit id="sortAlphabetically" xml:space="preserve">
-                               <source>Sort alphabetically</source>
-                       </trans-unit>
-                       <trans-unit id="cropLines" xml:space="preserve">
-                               <source>Crop lines</source>
-                       </trans-unit>
-                       <trans-unit id="displayConstants" xml:space="preserve">
-                               <source>Display constants:</source>
-                       </trans-unit>
-                       <trans-unit id="displayOptions" xml:space="preserve">
-                               <source>Display options</source>
-                       </trans-unit>
-                       <trans-unit id="conditions" xml:space="preserve">
-                               <source>Conditions</source>
-                       </trans-unit>
-                       <trans-unit id="setConditions" xml:space="preserve">
-                               <source>Set conditions</source>
-                       </trans-unit>
-               </body>
-       </file>
-</xliff>