Exemplo n.º 1
0
 /**
  * Loads ACL annotations from config files
  *
  * @param AclAnnotationStorage $storage
  */
 public function load(AclAnnotationStorage $storage)
 {
     $configLoader = OroSecurityExtension::getAclConfigLoader();
     $resources = $configLoader->load();
     foreach ($resources as $resource) {
         foreach ($resource->data as $id => $data) {
             $data['id'] = $id;
             $storage->add(new AclAnnotation($data));
             if (isset($data['bindings'])) {
                 foreach ($data['bindings'] as $binding) {
                     $storage->addBinding($id, isset($binding['class']) ? $binding['class'] : null, isset($binding['method']) ? $binding['method'] : null);
                 }
             }
         }
     }
 }
 /**
  * Loads ACL annotations from YAML config files
  *
  * @param AclAnnotationStorage $storage
  */
 public function load(AclAnnotationStorage $storage)
 {
     foreach ($this->bundleDirectories as $bundleDir) {
         $file = $bundleDir . '/Resources/config/acl.yml';
         if (is_file($file)) {
             $config = Yaml::parse(realpath($file));
             foreach ($config as $id => $data) {
                 $data['id'] = $id;
                 $storage->add(new AclAnnotation($data));
                 if (isset($data['bindings'])) {
                     foreach ($data['bindings'] as $binding) {
                         $storage->addBinding($id, isset($binding['class']) ? $binding['class'] : null, isset($binding['method']) ? $binding['method'] : null);
                     }
                 }
             }
         }
     }
 }