X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Flibs%2FCSSMin.php;h=c69e79f5b23ee127fa795c333dc01bbe034f4fb2;hb=e6e68618810b828a7de84dfe164e768da8ba90bf;hp=dcaa6857a27172b402ebd2ec6f6009bf1dcd8b47;hpb=7a7f79394e70402c567dad068a7701e021b395d3;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/CSSMin.php b/includes/libs/CSSMin.php index dcaa6857a2..c69e79f5b2 100644 --- a/includes/libs/CSSMin.php +++ b/includes/libs/CSSMin.php @@ -200,10 +200,9 @@ class CSSMin { $remote = substr( $remote, 0, -1 ); } - // Replace all comments by a placeholder so they will not interfere - // with the remapping - // Warning: This will also catch on anything looking like the start of - // a comment between quotation marks (e.g. "foo /* bar"). + // Replace all comments by a placeholder so they will not interfere with the remapping. + // Warning: This will also catch on anything looking like the start of a comment between + // quotation marks (e.g. "foo /* bar"). $comments = array(); $placeholder = uniqid( '', true ); @@ -226,12 +225,13 @@ class CSSMin { $source = preg_replace_callback( $pattern, - function ( $matchOuter ) use ( $local, $remote, $embedData ) { + function ( $matchOuter ) use ( $local, $remote, $embedData, $placeholder ) { $rule = $matchOuter[0]; - // Check for global @embed comment and remove it + // Check for global @embed comment and remove it. Allow other comments to be present + // before @embed (they have been replaced with placeholders at this point). $embedAll = false; - $rule = preg_replace( '/^(\s*)' . CSSMin::EMBED_REGEX . '\s*/', '$1', $rule, 1, $embedAll ); + $rule = preg_replace( '/^((?:\s+|' . $placeholder . '(\d+)x)*)' . CSSMin::EMBED_REGEX . '\s*/', '$1', $rule, 1, $embedAll ); // Build two versions of current rule: with remapped URLs // and with embedded data: URIs (where possible).