| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/ict/wp-content/plugins/smart-slider-3/Nextend/Framework/View/ |
Upload File : |
<?php
namespace Nextend\Framework\View;
use Nextend\Framework\Pattern\GetPathTrait;
use Nextend\Framework\Pattern\MVCHelperTrait;
use Nextend\Framework\Sanitize;
abstract class AbstractLayout {
use GetPathTrait;
use MVCHelperTrait;
/** @var AbstractView */
protected $view;
/**
* @var AbstractBlock[]|string[]|array[]
*/
protected $contentBlocks = array();
protected $state = array();
/**
* AbstractLayout constructor.
*
* @param AbstractView $view
*
*/
public function __construct($view) {
$this->view = $view;
$this->setMVCHelper($view);
$this->getApplicationType()
->setLayout($this);
$this->enqueueAssets();
}
protected function enqueueAssets() {
$this->getApplicationType()
->enqueueAssets();
}
/**
* @param string $html contains already escaped data
*/
public function addContent($html) {
$this->contentBlocks[] = $html;
}
/**
* @param AbstractBlock $block contains already escaped data
*/
public function addContentBlock($block) {
$this->contentBlocks[] = $block;
}
public function displayContent() {
foreach ($this->contentBlocks as $content) {
if (is_string($content)) {
// PHPCS - Content already escaped
echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
} else if (is_array($content)) {
// PHPCS - Content already escaped
echo call_user_func_array($content[0], $content[1]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
} else {
$content->display();
}
}
}
public function setState($name, $value) {
$this->state[$name] = $value;
}
public abstract function render();
}