Index: typo3/sysext/cms/tslib/class.tslib_pagegen.php =================================================================== --- typo3/sysext/cms/tslib/class.tslib_pagegen.php (revision 6863) +++ typo3/sysext/cms/tslib/class.tslib_pagegen.php (working copy) @@ -549,8 +549,9 @@ $GLOBALS['TSFE']->pSetup['includeCSS.'][$key . '.']['title'] ? $GLOBALS['TSFE']->pSetup['includeCSS.'][$key . '.']['title'] : '', $GLOBALS['TSFE']->pSetup['includeCSS.'][$key . '.']['compress'] ? TRUE : FALSE, $GLOBALS['TSFE']->pSetup['includeCSS.'][$key . '.']['forceOnTop'] ? TRUE : FALSE, - $GLOBALS['TSFE']->pSetup['includeCSS.'][$key . '.']['allWrap']); - + $GLOBALS['TSFE']->pSetup['includeCSS.'][$key . '.']['allWrap'], + $GLOBALS['TSFE']->pSetup['includeCSS.'][$key . '.']['additionalParams.'] + ); } } } @@ -684,7 +685,8 @@ htmlspecialchars($type), $GLOBALS['TSFE']->pSetup['includeJSlibs.'][$key . '.']['compress'] ? TRUE : FALSE, $GLOBALS['TSFE']->pSetup['includeJSlibs.'][$key . '.']['forceOnTop'] ? TRUE : FALSE, - $GLOBALS['TSFE']->pSetup['includeJSlibs.'][$key . '.']['allWrap'] + $GLOBALS['TSFE']->pSetup['includeJSlibs.'][$key . '.']['allWrap'], + $GLOBALS['TSFE']->pSetup['includeJSlibs.'][$key . '.']['additionalParams.'] ); } } @@ -706,7 +708,8 @@ htmlspecialchars($type), $GLOBALS['TSFE']->pSetup['includeJSFooterlibs.'][$key . '.']['compress'] ? TRUE : FALSE, $GLOBALS['TSFE']->pSetup['includeJSFooterlibs.'][$key . '.']['forceOnTop'] ? TRUE : FALSE, - $GLOBALS['TSFE']->pSetup['includeJSFooterlibs.'][$key . '.']['allWrap'] + $GLOBALS['TSFE']->pSetup['includeJSFooterlibs.'][$key . '.']['allWrap'], + $GLOBALS['TSFE']->pSetup['includeJSFooterlibs.'][$key . '.']['additionalParams.'] ); } } @@ -728,7 +731,8 @@ htmlspecialchars($type), $GLOBALS['TSFE']->pSetup['includeJS.'][$key . '.']['compress'] ? TRUE : FALSE, $GLOBALS['TSFE']->pSetup['includeJS.'][$key . '.']['forceOnTop'] ? TRUE : FALSE, - $GLOBALS['TSFE']->pSetup['includeJS.'][$key . '.']['allWrap'] + $GLOBALS['TSFE']->pSetup['includeJS.'][$key . '.']['allWrap'], + $GLOBALS['TSFE']->pSetup['includeJS.'][$key . '.']['additionalParams.'] ); } } @@ -749,7 +753,8 @@ htmlspecialchars($type), $GLOBALS['TSFE']->pSetup['includeJSFooter.'][$key . '.']['compress'] ? TRUE : FALSE, $GLOBALS['TSFE']->pSetup['includeJSFooter.'][$key . '.']['forceOnTop'] ? TRUE : FALSE, - $GLOBALS['TSFE']->pSetup['includeJSFooter.'][$key . '.']['allWrap'] + $GLOBALS['TSFE']->pSetup['includeJSFooter.'][$key . '.']['allWrap'], + $GLOBALS['TSFE']->pSetup['includeJSFooter.'][$key . '.']['additionalParams.'] ); } } Index: t3lib/class.t3lib_pagerenderer.php =================================================================== --- t3lib/class.t3lib_pagerenderer.php (revision 6863) +++ t3lib/class.t3lib_pagerenderer.php (working copy) @@ -36,6 +36,8 @@ */ class t3lib_PageRenderer implements t3lib_Singleton { + protected $cObj; + protected $compressJavascript = FALSE; protected $compressCss = FALSE; protected $removeLineBreaksFromTemplate = FALSE; @@ -129,6 +131,7 @@ $this->reset(); $this->csConvObj = t3lib_div::makeInstance('t3lib_cs'); + $this->cObj = t3lib_div::makeInstance('tslib_cObj'); if (strlen($templateFile)) { $this->templateFile = $templateFile; @@ -558,17 +561,19 @@ * @param boolean $compress flag if library should be compressed * @param boolean $forceOnTop flag if added library should be inserted at begin of this block * @param string $allWrap + * @param array $additionalParams additional parameters * @return void */ - public function addJsLibrary($name, $file, $type = 'text/javascript', $compress = FALSE, $forceOnTop = FALSE, $allWrap = '') { + public function addJsLibrary($name, $file, $type = 'text/javascript', $compress = FALSE, $forceOnTop = FALSE, $allWrap = '', $additionalParams = array()) { if (!in_array(strtolower($name), $this->jsLibs)) { $this->jsLibs[strtolower($name)] = array ( - 'file' => $file, - 'type' => $type, - 'section' => self::PART_HEADER, - 'compress' => $compress, - 'forceOnTop' => $forceOnTop, - 'allWrap' => $allWrap + 'file' => $file, + 'type' => $type, + 'section' => self::PART_HEADER, + 'compress' => $compress, + 'forceOnTop' => $forceOnTop, + 'allWrap' => $allWrap, + 'additionalParams' => $additionalParams ); } @@ -583,17 +588,19 @@ * @param boolean $compress flag if library should be compressed * @param boolean $forceOnTop flag if added library should be inserted at begin of this block * @param string $allWrap + * @param array $additionalParams additional parameters * @return void */ - public function addJsFooterLibrary($name, $file, $type = 'text/javascript', $compress = FALSE, $forceOnTop = FALSE, $allWrap = '') { + public function addJsFooterLibrary($name, $file, $type = 'text/javascript', $compress = FALSE, $forceOnTop = FALSE, $allWrap = '', $additionalParams = array()) { if (!in_array(strtolower($name), $this->jsLibs)) { $this->jsLibs[strtolower($name)] = array ( - 'file' => $file, - 'type' => $type, - 'section' => self::PART_FOOTER, - 'compress' => $compress, - 'forceOnTop' => $forceOnTop, - 'allWrap' => $allWrap + 'file' => $file, + 'type' => $type, + 'section' => self::PART_FOOTER, + 'compress' => $compress, + 'forceOnTop' => $forceOnTop, + 'allWrap' => $allWrap, + 'additionalParams' => $additionalParams ); } @@ -607,16 +614,18 @@ * @param boolean $compress * @param boolean $forceOnTop * @param string $allWrap + * @param array $additionalParams additional parameters * @return void */ - public function addJsFile($file, $type = 'text/javascript', $compress = TRUE, $forceOnTop = FALSE, $allWrap = '') { + public function addJsFile($file, $type = 'text/javascript', $compress = TRUE, $forceOnTop = FALSE, $allWrap = '', $additionalParams = array()) { if (!isset($this->jsFiles[$file])) { $this->jsFiles[$file] = array ( - 'type' => $type, - 'section' => self::PART_HEADER, - 'compress' => $compress, - 'forceOnTop' => $forceOnTop, - 'allWrap' => $allWrap + 'type' => $type, + 'section' => self::PART_HEADER, + 'compress' => $compress, + 'forceOnTop' => $forceOnTop, + 'allWrap' => $allWrap, + 'additionalParams' => $additionalParams ); } } @@ -628,16 +637,18 @@ * @param string $type * @param boolean $compress * @param boolean $forceOnTop + * @param array $additionalParams additional parameters * @return void */ - public function addJsFooterFile($file, $type = 'text/javascript', $compress = TRUE, $forceOnTop = FALSE, $allWrap = '') { + public function addJsFooterFile($file, $type = 'text/javascript', $compress = TRUE, $forceOnTop = FALSE, $allWrap = '', $additionalParams = array()) { if (!isset($this->jsFiles[$file])) { $this->jsFiles[$file] = array ( - 'type' => $type, - 'section' => self::PART_FOOTER, - 'compress' => $compress, - 'forceOnTop' => $forceOnTop, - 'allWrap' => $allWrap + 'type' => $type, + 'section' => self::PART_FOOTER, + 'compress' => $compress, + 'forceOnTop' => $forceOnTop, + 'allWrap' => $allWrap, + 'additionalParams' => $additionalParams ); } } @@ -712,17 +723,20 @@ * @param string $title * @param boolean $compress * @param boolean $forceOnTop + * @param string $allWrap + * @param array $additionalParams additional parameters * @return void */ - public function addCssFile($file, $rel = 'stylesheet', $media = 'screen', $title = '', $compress = TRUE, $forceOnTop = FALSE, $allWrap = '') { + public function addCssFile($file, $rel = 'stylesheet', $media = 'screen', $title = '', $compress = TRUE, $forceOnTop = FALSE, $allWrap = '', $additionalParams = array()) { if (!isset($this->cssFiles[$file])) { $this->cssFiles[$file] = array ( - 'rel' => $rel, - 'media' => $media, - 'title' => $title, - 'compress' => $compress, - 'forceOnTop' => $forceOnTop, - 'allWrap' => $allWrap + 'rel' => $rel, + 'media' => $media, + 'title' => $title, + 'compress' => $compress, + 'forceOnTop' => $forceOnTop, + 'allWrap' => $allWrap, + 'additionalParams' => $additionalParams ); } } @@ -1004,6 +1018,9 @@ if ($properties['allWrap'] && strpos($properties['allWrap'], '|') !== FALSE) { $tag = str_replace('|', $tag, $properties['allWrap']); } + if ($properties['additionalParams']['stdWrap.']) { + $tag = $this->cObj->stdWrap($tag, $properties['additionalParams']['stdWrap.']); + } if ($properties['forceOnTop']) { $cssFiles = $tag . chr(10) . $cssFiles; } else { @@ -1032,6 +1049,9 @@ if ($properties['allWrap'] && strpos($properties['allWrap'], '|') !== FALSE) { $tag = str_replace('|', $tag, $properties['allWrap']); } + if ($properties['additionalParams']['stdWrap.']) { + $tag = $this->cObj->stdWrap($tag, $properties['additionalParams']['stdWrap.']); + } if ($properties['forceOnTop']) { if ($properties['section'] === self::PART_HEADER) { $jsLibs = $tag . chr(10) . $jsLibs; @@ -1056,6 +1076,9 @@ if ($properties['allWrap'] && strpos($properties['allWrap'], '|') !== FALSE) { $tag = str_replace('|', $tag, $properties['allWrap']); } + if ($properties['additionalParams']['stdWrap.']) { + $tag = $this->cObj->stdWrap($tag, $properties['additionalParams']['stdWrap.']); + } if ($properties['forceOnTop']) { if ($properties['section'] === self::PART_HEADER) { $jsFiles = $tag . chr(10) . $jsFiles;