![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/wikimedia/less.php/lib/Less/Tree/ |
<?php /** * @private */ 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->index, true ); $js = $js->compile( $env )->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 : 1; } }