public function init($cssData) { $this->parsedCSS = CssMin::parse($cssData, $plugins); $this->countSelectors(); if ($this->selCount > $this->conf['css.']['scriptmergerBless.']['threshold'] && isset($this->conf['css.']['scriptmergerBless.']['activate']) && $this->conf['css.']['scriptmergerBless.']['activate'] == 1) { $this->split(); } else { $this->cssFiles[] = $cssData; } return array_reverse($this->cssFiles); }
private function prepareCss($css) { $filters = array("RemoveComments" => false, "RemoveEmptyRulesets" => true, "RemoveEmptyAtBlocks" => true, "ConvertLevel3AtKeyframes" => false, "ConvertLevel3Properties" => true, "Variables" => false, "RemoveLastDelarationSemiColon" => false); CssMin::setVerbose(true); $css = str_replace("-moz-box-sizing", "box-sizing", $css); $css = CssMin::minify($css, $filters); $parts = explode('}', $css); $new_css = ''; foreach ($parts as $part) { $bits = explode(';', $part); foreach ($bits as $bit) { if (strlen($bit)) { $pre = ''; if (strpos($bit, 'linear-gradient') !== false) { if (strpos($bit, '{') !== false) { $bs = explode('{', $bit); $bit = $bs[1]; $pre = $bs[0] . '{'; } $bit .= ";\n" . str_replace('linear-gradient(', '-webkit-linear-gradient(top, ', $bit); } if (strpos($bit, 'transform') !== false) { if (strpos($bit, '{') !== false) { $bs = explode('{', $bit); $bit = $bs[1]; $pre = $bs[0] . '{'; } $bit .= ";\n" . str_replace('transform', '-webkit-transform', $bit); } $new_css .= $pre . $bit . ";\n"; } } $new_css .= "}\n"; } $tokens = CssMin::parse($new_css); return new CssOtbsFormatter($tokens, " ", 32); }