Пример #1
0
 function compile($env)
 {
     Less_Parser::$has_extends = true;
     $this->selector = $this->selector->compile($env);
     return $this;
     //return new Less_Tree_Extend( $this->selector->compile($env), $this->option, $this->index);
 }
Пример #2
0
 /**
  * Get the current css buffer
  *
  * @return string
  */
 public function getCss()
 {
     $precision = ini_get('precision');
     @ini_set('precision', 16);
     $locale = setlocale(LC_NUMERIC, 0);
     setlocale(LC_NUMERIC, "C");
     $root = new Less_Tree_Ruleset(array(), $this->rules);
     $root->root = true;
     $root->firstRoot = true;
     $this->PreVisitors($root);
     self::$has_extends = false;
     $evaldRoot = $root->compile($this->env);
     $this->PostVisitors($evaldRoot);
     if (Less_Parser::$options['sourceMap']) {
         $generator = new Less_SourceMap_Generator($evaldRoot, Less_Parser::$contentsMap, Less_Parser::$options);
         // will also save file
         // FIXME: should happen somewhere else?
         $css = $generator->generateCSS();
     } else {
         $css = $evaldRoot->toCSS();
     }
     if (Less_Parser::$options['compress']) {
         $css = preg_replace('/(^(\\s)+)|((\\s)+$)/', '', $css);
     }
     //reset php settings
     @ini_set('precision', $precision);
     setlocale(LC_NUMERIC, $locale);
     return $css;
 }
 public function compile($env) {
   Less_Parser::$has_extends = true;
   $this->selector = $this->selector->compile($env);
   return $this;
 }
Пример #4
0
 /**
  * Get the current css buffer
  *
  * @return string
  */
 public function getCss()
 {
     $precision = ini_get('precision');
     @ini_set('precision', 16);
     $locale = setlocale(LC_NUMERIC, 0);
     setlocale(LC_NUMERIC, "C");
     try {
         $root = new Less_Tree_Ruleset(array(), $this->rules);
         $root->root = true;
         $root->firstRoot = true;
         $this->PreVisitors($root);
         self::$has_extends = false;
         $evaldRoot = $root->compile($this->env);
         $this->PostVisitors($evaldRoot);
         if (Less_Parser::$options['sourceMap']) {
             $generator = new Less_SourceMap_Generator($evaldRoot, Less_Parser::$contentsMap, Less_Parser::$options);
             // will also save file
             // FIXME: should happen somewhere else?
             $css = $generator->generateCSS();
         } else {
             $css = $evaldRoot->toCSS();
         }
         if (Less_Parser::$options['compress']) {
             $css = preg_replace('/(^(\\s)+)|((\\s)+$)/', '', $css);
         }
     } catch (Exception $exc) {
         // Intentional fall-through so we can reset environment
     }
     //reset php settings
     @ini_set('precision', $precision);
     setlocale(LC_NUMERIC, $locale);
     // If you previously defined $this->mb_internal_encoding
     // is required to return the encoding as it was before
     if ($this->mb_internal_encoding != '') {
         @ini_set("mbstring.internal_encoding", $this->mb_internal_encoding);
         $this->mb_internal_encoding = '';
     }
     // Rethrow exception after we handled resetting the environment
     if (!empty($exc)) {
         throw $exc;
     }
     return $css;
 }