/** * @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')]; }
/** * 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); }