![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-user/Block/Role/Tab/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\User\Block\Role\Tab; use Magento\User\Controller\Adminhtml\User\Role\SaveRole; /** * Rolesedit Tab Display Block. * * @api * @since 100.0.2 */ class Edit extends \Magento\Backend\Block\Widget\Form implements \Magento\Backend\Block\Widget\Tab\TabInterface { /** * @var string */ protected $_template = 'Magento_User::role/edit.phtml'; /** * Root ACL Resource * * @var \Magento\Framework\Acl\RootResource */ protected $_rootResource; /** * @var \Magento\Authorization\Model\ResourceModel\Rules\CollectionFactory */ protected $_rulesCollectionFactory; /** * Acl builder * * @var \Magento\Authorization\Model\Acl\AclRetriever */ protected $_aclRetriever; /** * @var \Magento\Framework\Acl\AclResource\ProviderInterface */ protected $_aclResourceProvider; /** * @var \Magento\Integration\Helper\Data */ protected $_integrationData; /** * @var \Magento\Framework\Registry * @since 100.1.0 */ protected $coreRegistry = null; /** * Constructor * * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Authorization\Model\Acl\AclRetriever $aclRetriever * @param \Magento\Framework\Acl\RootResource $rootResource * @param \Magento\Authorization\Model\ResourceModel\Rules\CollectionFactory $rulesCollectionFactory * @param \Magento\Framework\Acl\AclResource\ProviderInterface $aclResourceProvider * @param \Magento\Integration\Helper\Data $integrationData * @param array $data */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\Authorization\Model\Acl\AclRetriever $aclRetriever, \Magento\Framework\Acl\RootResource $rootResource, \Magento\Authorization\Model\ResourceModel\Rules\CollectionFactory $rulesCollectionFactory, \Magento\Framework\Acl\AclResource\ProviderInterface $aclResourceProvider, \Magento\Integration\Helper\Data $integrationData, array $data = [] ) { $this->_aclRetriever = $aclRetriever; $this->_rootResource = $rootResource; $this->_rulesCollectionFactory = $rulesCollectionFactory; $this->_aclResourceProvider = $aclResourceProvider; $this->_integrationData = $integrationData; parent::__construct($context, $data); } /** * Set core registry * * @param \Magento\Framework\Registry $coreRegistry * @return void * @deprecated 100.1.0 * @since 100.1.0 */ public function setCoreRegistry(\Magento\Framework\Registry $coreRegistry) { $this->coreRegistry = $coreRegistry; } /** * Get core registry * * @return \Magento\Framework\Registry * @deprecated 100.1.0 * @since 100.1.0 */ public function getCoreRegistry() { if (!($this->coreRegistry instanceof \Magento\Framework\Registry)) { return \Magento\Framework\App\ObjectManager::getInstance()->get(\Magento\Framework\Registry::class); } else { return $this->coreRegistry; } } /** * Get tab label * * @return \Magento\Framework\Phrase */ public function getTabLabel() { return __('Role Resources'); } /** * Get tab title * * @return string */ public function getTabTitle() { return $this->getTabLabel(); } /** * Whether tab is available * * @return bool */ public function canShowTab() { return true; } /** * Whether tab is visible * * @return bool */ public function isHidden() { return false; } /** * Check if everything is allowed * * @return bool */ public function isEverythingAllowed() { $selectedResources = $this->getSelectedResources(); $id = $this->_rootResource->getId(); return in_array($id, $selectedResources); } /** * Get selected resources * * @return array|mixed|\string[] * @since 100.1.0 */ public function getSelectedResources() { $selectedResources = $this->getData('selected_resources'); if (empty($selectedResources)) { $allResource = $this->getCoreRegistry()->registry(SaveRole::RESOURCE_ALL_FORM_DATA_SESSION_KEY); if ($allResource) { $selectedResources = [$this->_rootResource->getId()]; } else { $selectedResources = $this->getCoreRegistry()->registry(SaveRole::RESOURCE_FORM_DATA_SESSION_KEY); } if (null === $selectedResources) { $rid = $this->_request->getParam('rid', false); $selectedResources = $this->_aclRetriever->getAllowedResourcesByRole($rid); } $this->setData('selected_resources', $selectedResources); } return $selectedResources; } /** * Get Json Representation of Resource Tree * * @return array */ public function getTree() { return $this->_integrationData->mapResources($this->getAclResources(), $this->getSelectedResources()); } /** * Get lit of all ACL resources declared in the system. * * @return array */ private function getAclResources() { $resources = $this->_aclResourceProvider->getAclResources(); $configResource = array_filter( $resources, function ($node) { return isset($node['id']) && $node['id'] == 'Magento_Backend::admin'; } ); $configResource = reset($configResource); return $configResource['children'] ?? []; } }