Вход Регистрация
Файл: contao-3.5.8/vendor/oyejorge/less.php/lib/Less/Tree/Quoted.php
Строк: 52
<?php

/**
 * Quoted
 *
 * @package Less
 * @subpackage tree
 */
class Less_Tree_Quoted extends Less_Tree{
    public 
$escaped;
    public 
$value;
    public 
$quote;
    public 
$index;
    public 
$currentFileInfo;
    public 
$type 'Quoted';

    
/**
     * @param string $str
     */
    
public function __construct($str$content ''$escaped false$index false$currentFileInfo null ){
        
$this->escaped $escaped;
        
$this->value $content;
        if( 
$str ){
            
$this->quote $str[0];
        }
        
$this->index $index;
        
$this->currentFileInfo $currentFileInfo;
    }

    
/**
     * @see Less_Tree::genCSS
     */
    
public function genCSS$output ){
        if( !
$this->escaped ){
            
$output->add$this->quote$this->currentFileInfo$this->index );
        }
        
$output->add$this->value );
        if( !
$this->escaped ){
            
$output->add$this->quote );
        }
    }

    public function 
compile($env){

        
$value $this->value;
        if( 
preg_match_all('/`([^`]+)`/'$this->value$matches) ){
            foreach(
$matches as $i => $match){
                
$js = new Less_Tree_JavaScript($matches[1], $this->indextrue);
                
$js $js->compile()->value;
                
$value str_replace($matches[0][$i], $js$value);
            }
        }

        if( 
preg_match_all('/@{([w-]+)}/',$value,$matches) ){
            foreach(
$matches[1] as $i => $match){
                
$v = new Less_Tree_Variable('@' $match$this->index$this->currentFileInfo );
                
$v $v->compile($env);
                
$v = ($v instanceof Less_Tree_Quoted) ? $v->value $v->toCSS();
                
$value str_replace($matches[0][$i], $v$value);
            }
        }

        return new 
Less_Tree_Quoted($this->quote $value $this->quote$value$this->escaped$this->index$this->currentFileInfo);
    }

    public function 
compare($x) {

        if( !
Less_Parser::is_method($x'toCSS') ){
            return -
1;
        }

        
$left $this->toCSS();
        
$right $x->toCSS();

        if (
$left === $right) {
            return 
0;
        }

        return 
$left $right ? -1;
    }
}
Онлайн: 0
Реклама