Exemple #1
0
 /**
  * Add list of nodes and their children to acl
  *
  * @param Magento_Acl $acl
  * @param DOMNodeList $resources
  * @param Magento_Acl_Resource $parent
  */
 protected function _addResourceTree(Magento_Acl $acl, DOMNodeList $resources, Magento_Acl_Resource $parent = null)
 {
     /** @var $resourceConfig DOMElement */
     foreach ($resources as $resourceConfig) {
         if (!$resourceConfig instanceof DOMElement) {
             continue;
         }
         /** @var $resource Magento_Acl_Resource */
         $resource = $this->_resourceFactory->createResource(array($resourceConfig->getAttribute('id')));
         $acl->addResource($resource, $parent);
         if ($resourceConfig->hasChildNodes()) {
             $this->_addResourceTree($acl, $resourceConfig->childNodes, $resource);
         }
     }
 }
Exemple #2
0
 /**
  * Load virtual resources as sub-resources of existing one.
  *
  * @param Magento_Acl $acl
  */
 protected function _loadVirtualResources(Magento_Acl $acl)
 {
     $virtualResources = $this->_config->getAclVirtualResources();
     /** @var $resourceConfig DOMElement */
     foreach ($virtualResources as $resourceConfig) {
         if (!$resourceConfig instanceof DOMElement) {
             continue;
         }
         $parent = $resourceConfig->getAttribute('parent');
         $resourceId = $resourceConfig->getAttribute('id');
         if ($acl->has($parent) && !$acl->has($resourceId)) {
             /** @var $resource Magento_Acl_Resource */
             $resource = $this->_resourceFactory->createResource(array($resourceId));
             $acl->addResource($resource, $parent);
         }
     }
 }