Beispiel #1
0
 /**
  * Get dynamic resources
  *
  * @return array
  */
 public function getResources()
 {
     $em = $this->doctrine->getManager();
     $permissions = $em->getRepository('Newscoop\\Entity\\Acl\\Permission')->createQueryBuilder('p')->select('p.name')->getQuery()->getArrayResult();
     $resources = array();
     foreach ($permissions as $permission) {
         try {
             list($resource, $action) = PermissionToAcl::translate($permission['name']);
         } catch (\InvalidArgumentException $e) {
             // ignore obsolete permissions
             continue;
         }
         if (!isset($resources[$resource])) {
             $resources[$resource] = array();
         }
         $resources[$resource][] = $action;
     }
     return $resources;
 }
Beispiel #2
0
 /**
  * @param mixed $classes
  * @return void
  */
 public function setUp()
 {
     $this->doctrine = Zend_Registry::get('container')->getService('doctrine');
     $this->em = $this->doctrine->getEntityManager();
     $this->em->clear();
     $tool = new SchemaTool($this->em);
     $tool->dropDatabase();
     $classes = func_get_args();
     if (!empty($classes)) {
         $metadataFactory = new ClassMetadataFactory();
         $metadataFactory->setEntityManager($this->em);
         $metadataFactory->setCacheDriver(new ArrayCache());
         $metadata = array();
         foreach ((array) $classes as $class) {
             $metadata[] = $metadataFactory->getMetadataFor($class);
         }
         $tool->createSchema($metadata);
     }
 }
Beispiel #3
0
 /**
  * Get dynamic resources
  *
  * @return array
  */
 public function getResources()
 {
     $em = $this->doctrine->getManager();
     $repository = $em->getRepository('Newscoop\\Entity\\Acl\\Permission');
     $resources = array();
     foreach ($repository->findAll() as $permission) {
         try {
             list($resource, $action) = PermissionToAcl::translate($permission);
         } catch (\InvalidArgumentException $e) {
             // ignore obsolete permissions
             continue;
         }
         if (!isset($resources[$resource])) {
             $resources[$resource] = array();
         }
         $resources[$resource][] = $action;
     }
     return $resources;
 }