Frederic Massart fbe18cc022 MDL-55224 core: Import PHP-CSS-Parser into core
Part of MDL-55071
2016-09-23 10:49:49 +01:00

69 lines
1.4 KiB
PHP

<?php
namespace Sabberworm\CSS\Property;
use Sabberworm\CSS\Value\URL;
/**
* Class representing an @import rule.
*/
class Import implements AtRule {
private $oLocation;
private $sMediaQuery;
protected $iLineNo;
protected $aComments;
public function __construct(URL $oLocation, $sMediaQuery, $iLineNo = 0) {
$this->oLocation = $oLocation;
$this->sMediaQuery = $sMediaQuery;
$this->iLineNo = $iLineNo;
$this->aComments = array();
}
/**
* @return int
*/
public function getLineNo() {
return $this->iLineNo;
}
public function setLocation($oLocation) {
$this->oLocation = $oLocation;
}
public function getLocation() {
return $this->oLocation;
}
public function __toString() {
return $this->render(new \Sabberworm\CSS\OutputFormat());
}
public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) {
return "@import ".$this->oLocation->render($oOutputFormat).($this->sMediaQuery === null ? '' : ' '.$this->sMediaQuery).';';
}
public function atRuleName() {
return 'import';
}
public function atRuleArgs() {
$aResult = array($this->oLocation);
if($this->sMediaQuery) {
array_push($aResult, $this->sMediaQuery);
}
return $aResult;
}
public function addComments(array $aComments) {
$this->aComments = array_merge($this->aComments, $aComments);
}
public function getComments() {
return $this->aComments;
}
public function setComments(array $aComments) {
$this->aComments = $aComments;
}
}