37 $this->_resourceProvider = $resourceProvider;
38 $this->_resourceFactory = $resourceFactory;
50 $this->_addResourceTree($acl, $this->_resourceProvider->getAclResources(),
null);
63 protected function _addResourceTree(
Acl $acl, array $resources,
AclResource $parent =
null)
65 foreach ($resources as $resourceConfig) {
66 if (!isset($resourceConfig[
'id'])) {
67 throw new \InvalidArgumentException(
'Missing ACL resource identifier');
70 $resource = $this->_resourceFactory->createResource([
'resourceId' => $resourceConfig[
'id']]);
72 if (isset($resourceConfig[
'children'])) {
73 $this->_addResourceTree($acl, $resourceConfig[
'children'],
$resource);
__construct(ProviderInterface $resourceProvider, AclResourceFactory $resourceFactory)
addResource($resource, $parent=null)