[BUGFIX] Page renderer provides files to compressor incorrectly
authorDmitry Dulepov <dmitry@typo3.org>
Thu, 8 Dec 2011 14:50:45 +0000 (16:50 +0200)
committerSteffen Ritter <info@rs-websystems.de>
Tue, 17 Jan 2012 07:42:44 +0000 (08:42 +0100)
If config.absRefPrefix is set, page renderer provides incorrect
file references to compressor. It prepends absRefPrefix to JS and
CSS file names. This causes two problems: (1) compressor cannot
fetch those files because it always prepends site path to the
file name and (2) compressor fetches local files using HTTP
(performance!). The result is that all default styles from
extensions are missing when compressor is enabled but a
reference to an empty CSS file is added to the page.

Change-Id: I30e58eab1e1ac2f76d2cddb27499e778adb5fc27
Resolves: #32397
Releases: 4.7, 4.6
Reviewed-on: http://review.typo3.org/7165
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Tolleiv Nietsch
Tested-by: Tolleiv Nietsch
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
typo3/sysext/cms/tslib/class.tslib_fe.php
typo3/sysext/cms/tslib/class.tslib_pagegen.php

index a1ef46e..c7cc1b8 100644 (file)
@@ -4177,7 +4177,7 @@ if (version == "n3") {
        function setAbsRefPrefix()      {
                if ($this->absRefPrefix)        {
                        $this->content = str_replace('"media/', '"'.t3lib_extMgm::siteRelPath('cms').'tslib/media/', $this->content);
-                       $this->content = str_replace('"typo3temp/compressor/', '"' . $this->absRefPrefix . 'typo3temp/compressor/', $this->content);
+                       $this->content = str_replace('"typo3temp/', '"' . $this->absRefPrefix . 'typo3temp/', $this->content);
                        $this->content = str_replace('"typo3conf/ext/', '"'.$this->absRefPrefix.'typo3conf/ext/', $this->content);
                        $this->content = str_replace('"' . TYPO3_mainDir . 'contrib/', '"' . $this->absRefPrefix . TYPO3_mainDir . 'contrib/', $this->content);
                        $this->content = str_replace('"' . TYPO3_mainDir . 'ext/', '"' . $this->absRefPrefix . TYPO3_mainDir . 'ext/', $this->content);
index c8abda3..a1154c8 100644 (file)
@@ -1138,11 +1138,9 @@ class TSpagegen {
                switch ($ext) {
                        case 'js' :
                                $script = 'typo3temp/javascript_' . substr(md5($str), 0, 10) . '.js';
-                               $output = $GLOBALS['TSFE']->absRefPrefix . $script;
                        break;
                        case 'css' :
                                $script = 'typo3temp/stylesheet_' . substr(md5($str), 0, 10) . '.css';
-                               $output = $GLOBALS['TSFE']->absRefPrefix . $script;
                        break;
                }
 
@@ -1153,7 +1151,7 @@ class TSpagegen {
                        }
                }
 
-               return $output;
+               return $script;
        }
 
        /**