/**
  * @param int $roleId
  * @param int $defaultValue
  *
  * @return array
  */
 protected function fetchModulePermissions($roleId, $defaultValue = 0)
 {
     $rules = $this->permissionsCache->getRulesCache([$roleId]);
     $modules = $this->modules->getActiveModules();
     $privileges = $this->privilegeRepository->getAllPrivileges();
     $cPrivileges = count($privileges);
     foreach ($modules as $name => $moduleInfo) {
         $moduleDir = strtolower($moduleInfo['dir']);
         for ($j = 0; $j < $cPrivileges; ++$j) {
             $privileges[$j]['select'] = $this->generatePrivilegeCheckboxes($roleId, $moduleInfo['id'], $privileges[$j]['id'], isset($rules[$moduleDir][$privileges[$j]['key']]['permission']) ? (int) $rules[$moduleDir][$privileges[$j]['key']]['permission'] : $defaultValue);
             if ($roleId !== 0) {
                 $privileges[$j]['calculated'] = $this->calculatePermission($rules, $moduleDir, $privileges[$j]['key']);
             }
         }
         $modules[$name]['privileges'] = $privileges;
     }
     return $modules;
 }
Beispiel #2
0
Datei: ACL.php Projekt: acp3/core
 /**
  * Returns the role permissions
  *
  * @param array $roleIds
  *
  * @return array
  */
 protected function getRules(array $roleIds)
 {
     return $this->permissionsCache->getRulesCache($roleIds);
 }