| Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-cms/Observer/ |
| Current File : /var/www/clients/client3/web2/web/vendor/magento/module-cms/Observer/NoCookiesObserver.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Cms\Observer;
use Magento\Framework\Event\ObserverInterface;
class NoCookiesObserver implements ObserverInterface
{
/**
* Cms page
*
* @var \Magento\Cms\Helper\Page
*/
protected $_cmsPage;
/**
* Core store config
*
* @var \Magento\Framework\App\Config\ScopeConfigInterface
*/
protected $_scopeConfig;
/**
* @param \Magento\Cms\Helper\Page $cmsPage
* @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
*/
public function __construct(
\Magento\Cms\Helper\Page $cmsPage,
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
) {
$this->_cmsPage = $cmsPage;
$this->_scopeConfig = $scopeConfig;
}
/**
* Modify no Cookies forward object
*
* @param \Magento\Framework\Event\Observer $observer
* @return self
*/
public function execute(\Magento\Framework\Event\Observer $observer)
{
$redirect = $observer->getEvent()->getRedirect();
$pageId = $this->_scopeConfig->getValue(
\Magento\Cms\Helper\Page::XML_PATH_NO_COOKIES_PAGE,
\Magento\Store\Model\ScopeInterface::SCOPE_STORE
);
$pageUrl = $this->_cmsPage->getPageUrl($pageId);
if ($pageUrl) {
$redirect->setRedirectUrl($pageUrl);
} else {
$redirect->setRedirect(true)->setPath('cookie/index/noCookies')->setArguments([]);
}
return $this;
}
}