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

/**
 * Url
 *
 * @package Less
 * @subpackage tree
 */
class Less_Tree_Url extends Less_Tree{

    public 
$attrs;
    public 
$value;
    public 
$currentFileInfo;
    public 
$isEvald;
    public 
$type 'Url';

    public function 
__construct($value$currentFileInfo null$isEvald null){
        
$this->value $value;
        
$this->currentFileInfo $currentFileInfo;
        
$this->isEvald $isEvald;
    }

    public function 
accept$visitor ){
        
$this->value $visitor->visitObj($this->value);
    }

    
/**
     * @see Less_Tree::genCSS
     */
    
public function genCSS$output ){
        
$output->add'url(' );
        
$this->value->genCSS$output );
        
$output->add')' );
    }

    
/**
     * @param Less_Functions $ctx
     */
    
public function compile($ctx){
        
$val $this->value->compile($ctx);

        if( !
$this->isEvald ){
            
// Add the base path if the URL is relative
            
if( Less_Parser::$options['relativeUrls']
                && 
$this->currentFileInfo
                
&& is_string($val->value)
                && 
Less_Environment::isPathRelative($val->value)
            ){
                
$rootpath $this->currentFileInfo['uri_root'];
                if ( !
$val->quote ){
                    
$rootpath preg_replace('/[()'"s]/', '\$1', $rootpath );
                }
                
$val->value = $rootpath . $val->value;
            }

            
$val->value = Less_Environment::normalizePath( $val->value);
        }

        // Add cache buster if enabled
        if( Less_Parser::
$options['urlArgs'] ){
            if( !preg_match('/^s*data:/',
$val->value) ){
                
$delimiter = strpos($val->value,'?') === false ? '?' : '&';
                
$urlArgs = $delimiter . Less_Parser::$options['urlArgs'];
                
$hash_pos = strpos($val->value,'#');
                if( 
$hash_pos !== false ){
                    
$val->value = substr_replace($val->value,$urlArgs$hash_pos, 0);
                } else {
                    
$val->value .= $urlArgs;
                }
            }
        }

        return new Less_Tree_URL(
$val$this->currentFileInfo, true);
    }

}
Онлайн: 1
Реклама