Example #1
0
 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);
 }