Fixed bug #14342: t3lib_compressor does not rewrite "data:" URIs (Thanks to Steffen...
authorBenni Mack <benni.mack@typo3.org>
Fri, 28 May 2010 08:54:03 +0000 (08:54 +0000)
committerBenni Mack <benni.mack@typo3.org>
Fri, 28 May 2010 08:54:03 +0000 (08:54 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@7707 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_compressor.php

index 3cb1286..7cdf0d1 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-05-28  Benjamin Mack  <benni@typo3.org>
+
+       * Fixed bug #14342: t3lib_compressor does not rewrite "data:" URIs (Thanks to Steffen Gebert)
+
 2010-05-28  Sebastian Kurfuerst  <sebastian@typo3.org>
 
        * Raised Extbase version from 1.2.0beta1 to 1.2.0beta2
index 3edb680..b5455eb 100644 (file)
@@ -331,9 +331,12 @@ class t3lib_compressor {
                foreach ($matches[2] as $matchCount => $match) {
                                // remove '," or white-spaces around
                        $match = preg_replace('/[\"\'\s]/', '', $match);
-                       $newPath = t3lib_div::resolveBackPath('../../' . TYPO3_mainDir . $oldDir . $match);
 
-                       $contents = str_replace($matches[1][$matchCount], '(\'' . $newPath  . '\')', $contents);
+                               // we must not rewrite paths containing ":", e.g. data URIs (see RFC 2397)
+                       if (strpos($match, ':') === FALSE) {
+                               $newPath = t3lib_div::resolveBackPath('../../' . TYPO3_mainDir . $oldDir . $match);
+                               $contents = str_replace($matches[1][$matchCount], '(\'' . $newPath  . '\')', $contents);
+                       }
                }
                return $contents;
        }
@@ -375,4 +378,4 @@ class t3lib_compressor {
                }
        }
 }
-?>
\ No newline at end of file
+?>