<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Config\Model\Config\Structure\Element; /** * @api * @since 100.0.2 */ class Section extends AbstractComposite { /** * Authorization service * * @var \Magento\Framework\AuthorizationInterface */ protected $_authorization; /** * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param \Magento\Framework\Module\Manager $moduleManager * @param Iterator $childrenIterator * @param \Magento\Framework\AuthorizationInterface $authorization */ public function __construct( \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\Module\Manager $moduleManager, Iterator $childrenIterator, \Magento\Framework\AuthorizationInterface $authorization ) { parent::__construct($storeManager, $moduleManager, $childrenIterator); $this->_authorization = $authorization; } /** * Retrieve section header css * * @return string */ public function getHeaderCss() { return isset($this->_data['header_css']) ? $this->_data['header_css'] : ''; } /** * Check whether section is allowed for current user * * @return bool */ public function isAllowed() { return isset($this->_data['resource']) ? $this->_authorization->isAllowed($this->_data['resource']) : false; } /** * Check whether element should be displayed * * @return bool */ public function isVisible() { if (!$this->isAllowed()) { return false; } return parent::isVisible(); } }