<?php namespace MailPoetVendor\Sabberworm\CSS\Property; if (!defined('ABSPATH')) exit; use MailPoetVendor\Sabberworm\CSS\Comment\Comment; use MailPoetVendor\Sabberworm\CSS\OutputFormat; use MailPoetVendor\Sabberworm\CSS\Value\URL; 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 = []; } 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 OutputFormat()); } public function render(OutputFormat $oOutputFormat) { return "@import " . $this->oLocation->render($oOutputFormat) . ($this->sMediaQuery === null ? '' : ' ' . $this->sMediaQuery) . ';'; } public function atRuleName() { return 'import'; } public function atRuleArgs() { $aResult = [$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; } }