Index: typo3/sysext/cms/tslib/content/class.tslib_content_phpscriptexternal.php =================================================================== --- typo3/sysext/cms/tslib/content/class.tslib_content_phpscriptexternal.php (revision ) +++ typo3/sysext/cms/tslib/content/class.tslib_content_phpscriptexternal.php (revision ) @@ -0,0 +1,74 @@ + + * (c) 2010-2011 Steffen Kamper + * 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! + ***************************************************************/ + +/** + * Contains PHP_SCRIPT_EXT class object. + * + * $Id: class.tslib_content.php 7905 2010-06-13 14:42:33Z ohader $ + * @author Xavier Perseguers + * @author Steffen Kamper + */ +class tslib_content_PhpScriptExternal extends tslib_content_Abstract { + + /** + * Rendering the cObject, PHP_SCRIPT__EXT + * + * @param array Array of TypoScript properties + * @return string Output + */ + public function render($conf = array()) { + $file = isset($conf['file.']) + ? $this->cObj->stdWrap($conf['file'], $conf['file.']) + : $conf['file']; + + $incFile = $GLOBALS['TSFE']->tmpl->getFileName($file); + $content = ''; + if ($incFile && $GLOBALS['TSFE']->checkFileInclude($incFile)) { + $substKey = 'EXT_SCRIPT.' . $GLOBALS['TSFE']->uniqueHash(); + $content .= ''; + $GLOBALS['TSFE']->config['EXTincScript'][$substKey] = array ( + 'file' => $incFile, 'conf' => $conf, 'type' => 'SCRIPT' + ); + $GLOBALS['TSFE']->config['EXTincScript'][$substKey]['data'] = $this->cObj->data; + } + + if (isset($conf['stdWrap.'])) { + $content = $this->cObj->stdWrap($content, $conf['stdWrap.']); + } + + return $content; + } + +} + + +if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_phpscriptexternal.php'])) { + include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_phpscriptexternal.php']); +} + +?> \ No newline at end of file Index: typo3/sysext/cms/tslib/class.tslib_content.php =================================================================== --- typo3/sysext/cms/tslib/class.tslib_content.php (revision 10317) +++ typo3/sysext/cms/tslib/class.tslib_content.php (revision ) @@ -834,6 +834,7 @@ 'SEARCHRESULT' => 'SearchResult', 'PHP_SCRIPT' => 'PhpScript', 'PHP_SCRIPT_INT' => 'PhpScriptInternal', + 'PHP_SCRIPT_EXT' => 'PhpScriptExternal', 'TEMPLATE' => 'Template', 'FLUIDTEMPLATE' => 'FluidTemplate', 'MULTIMEDIA' => 'Multimedia', Index: typo3/sysext/cms/ext_autoload.php =================================================================== --- typo3/sysext/cms/ext_autoload.php (revision 9753) +++ typo3/sysext/cms/ext_autoload.php (revision ) @@ -65,6 +65,7 @@ 'tslib_content_media' => PATH_tslib . 'content/class.tslib_content_media.php', 'tslib_content_multimedia' => PATH_tslib . 'content/class.tslib_content_multimedia.php', 'tslib_content_offsettable' => PATH_tslib . 'content/class.tslib_content_offsettable.php', + 'tslib_content_phpscriptexternal' => PATH_tslib . 'content/class.tslib_content_phpscriptexternal.php', 'tslib_content_phpscriptinternal' => PATH_tslib . 'content/class.tslib_content_phpscriptinternal.php', 'tslib_content_phpscript' => PATH_tslib . 'content/class.tslib_content_phpscript.php', 'tslib_content_quicktimeobject' => PATH_tslib . 'content/class.tslib_content_quicktimeobject.php', Index: typo3/sysext/cms/tslib/content/class.tslib_content_phpscriptinternal.php =================================================================== --- typo3/sysext/cms/tslib/content/class.tslib_content_phpscriptinternal.php (revision 10120) +++ typo3/sysext/cms/tslib/content/class.tslib_content_phpscriptinternal.php (revision ) @@ -42,9 +42,6 @@ * @return string Output */ public function render($conf = array()) { - $ext = $conf['scriptSuffix']; - unset($conf['scriptSuffix']); - $file = isset($conf['file.']) ? $this->cObj->stdWrap($conf['file'], $conf['file.']) : $conf['file']; @@ -52,17 +49,13 @@ $incFile = $GLOBALS['TSFE']->tmpl->getFileName($file); $content = ''; if ($incFile && $GLOBALS['TSFE']->checkFileInclude($incFile)) { - $substKey = $ext . '_SCRIPT.' . $GLOBALS['TSFE']->uniqueHash(); + $substKey = 'INT_SCRIPT.' . $GLOBALS['TSFE']->uniqueHash(); $content .= ''; - $GLOBALS['TSFE']->config[$ext . 'incScript'][$substKey] = array ( + $GLOBALS['TSFE']->config['INTincScript'][$substKey] = array ( 'file' => $incFile, 'conf' => $conf, 'type' => 'SCRIPT' ); - if ($ext == 'INT') { - $GLOBALS['TSFE']->config[$ext . 'incScript'][$substKey]['cObj'] = serialize($this); - } else { - $GLOBALS['TSFE']->config[$ext . 'incScript'][$substKey]['data'] = $this->cObj->data; + $GLOBALS['TSFE']->config['INTincScript'][$substKey]['cObj'] = serialize($this->cObj); - } + } - } if (isset($conf['stdWrap.'])) { $content = $this->cObj->stdWrap($content, $conf['stdWrap.']);