TYPO3 API  SVNRelease
class.tslib_content_phpscriptinternal.php
Go to the documentation of this file.
00001 <?php
00002 /***************************************************************
00003  *  Copyright notice
00004  *
00005  *  (c) 2010-2011 Xavier Perseguers <typo3@perseguers.ch>
00006  *  (c) 2010-2011 Steffen Kamper <steffen@typo3.org>
00007  *  All rights reserved
00008  *
00009  *  This script is part of the TYPO3 project. The TYPO3 project is
00010  *  free software; you can redistribute it and/or modify
00011  *  it under the terms of the GNU General Public License as published by
00012  *  the Free Software Foundation; either version 2 of the License, or
00013  *  (at your option) any later version.
00014  *
00015  *  The GNU General Public License can be found at
00016  *  http://www.gnu.org/copyleft/gpl.html.
00017  *  A copy is found in the textfile GPL.txt and important notices to the license
00018  *  from the author is found in LICENSE.txt distributed with these scripts.
00019  *
00020  *
00021  *  This script is distributed in the hope that it will be useful,
00022  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00023  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00024  *  GNU General Public License for more details.
00025  *
00026  *  This copyright notice MUST APPEAR in all copies of the script!
00027  ***************************************************************/
00028 
00029 /**
00030  * Contains PHP_SCRIPT_INT class object.
00031  *
00032  * $Id: class.tslib_content.php 7905 2010-06-13 14:42:33Z ohader $
00033  * @author Xavier Perseguers <typo3@perseguers.ch>
00034  * @author Steffen Kamper <steffen@typo3.org>
00035  */
00036 class tslib_content_PhpScriptInternal extends tslib_content_Abstract {
00037 
00038     /**
00039      * Rendering the cObject, PHP_SCRIPT_INT and PHP_SCRIPT_EXT
00040      *
00041      * @param   array       Array of TypoScript properties
00042      * @return  string      Output
00043      */
00044     public function render($conf = array()) {
00045         if (!is_array($conf) || empty($conf['scriptSuffix'])) {
00046             throw new InvalidArgumentException('Expected parameter $conf[\'scriptSuffix\'] was not given.', 1295705938);
00047         }
00048 
00049         $file = isset($conf['file.'])
00050             ? $this->cObj->stdWrap($conf['file'], $conf['file.'])
00051             : $conf['file'];
00052 
00053         $incFile = $GLOBALS['TSFE']->tmpl->getFileName($file);
00054         $content = '';
00055         if ($incFile && $GLOBALS['TSFE']->checkFileInclude($incFile)) {
00056             $substKey = 'INT_SCRIPT.' . $GLOBALS['TSFE']->uniqueHash();
00057             $content .= '<!--' . $substKey . '-->';
00058             $GLOBALS['TSFE']->config['INTincScript'][$substKey] = array (
00059                 'file' => $incFile, 'conf' => $conf, 'type' => 'SCRIPT'
00060             );
00061             $GLOBALS['TSFE']->config['INTincScript'][$substKey]['cObj'] = serialize($this->cObj);
00062         }
00063 
00064         if (isset($conf['stdWrap.'])) {
00065             $content = $this->cObj->stdWrap($content, $conf['stdWrap.']);
00066         }
00067 
00068         return $content;
00069     }
00070 
00071 }
00072 
00073 
00074 if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_phpscriptinternal.php'])) {
00075     include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_phpscriptinternal.php']);
00076 }
00077 
00078 ?>