示例#1
0
 /**
  * @return array
  */
 public function execute()
 {
     $resources = $this->resourceRepository->getAllResources();
     $cResources = count($resources);
     $output = [];
     for ($i = 0; $i < $cResources; ++$i) {
         if ($this->modules->isActive($resources[$i]['module_name']) === true) {
             $module = $this->translator->t($resources[$i]['module_name'], $resources[$i]['module_name']);
             $output[$module][] = $resources[$i];
         }
     }
     ksort($output);
     return ['resources' => $output, 'can_delete_resource' => $this->acl->hasPermission('admin/permissions/resources/delete'), 'can_edit_resource' => $this->acl->hasPermission('admin/permissions/resources/edit')];
 }
示例#2
0
 /**
  * Erstellt den Cache für alle existierenden Ressourcen
  *
  * @return boolean
  */
 public function saveResourcesCache()
 {
     $resources = $this->resourceRepository->getAllResources();
     $cResources = count($resources);
     $data = [];
     for ($i = 0; $i < $cResources; ++$i) {
         $area = $resources[$i]['area'];
         if (isset($data[$area]) === false) {
             $data[$area] = [];
         }
         $path = $resources[$i]['module_name'] . '/' . $resources[$i]['controller'] . '/' . $resources[$i]['page'] . '/';
         $path .= !empty($resources[$i]['params']) ? $resources[$i]['params'] . '/' : '';
         $data[$area][$path] = ['resource_id' => $resources[$i]['resource_id'], 'privilege_id' => $resources[$i]['privilege_id'], 'key' => $resources[$i]['privilege_name']];
     }
     return $this->cache->save(static::CACHE_ID_RESOURCES, $data);
 }