Exemple #1
0
 /**
  * Setzt den Cache für alle existierenden Rollen
  *
  * @return boolean
  */
 public function saveRolesCache()
 {
     $roles = $this->roleRepository->getAllRoles();
     $cRoles = count($roles);
     for ($i = 0; $i < $cRoles; ++$i) {
         // Bestimmen, ob die Seite die Erste und/oder Letzte eines Knotens ist
         $first = $last = true;
         if ($i > 0) {
             for ($j = $i - 1; $j >= 0; --$j) {
                 if ($roles[$j]['parent_id'] === $roles[$i]['parent_id']) {
                     $first = false;
                     break;
                 }
             }
         }
         for ($j = $i + 1; $j < $cRoles; ++$j) {
             if ($roles[$i]['parent_id'] === $roles[$j]['parent_id']) {
                 $last = false;
                 break;
             }
         }
         $roles[$i]['first'] = $first;
         $roles[$i]['last'] = $last;
     }
     return $this->cache->save(static::CACHE_ID_ROLES, $roles);
 }
Exemple #2
0
 /**
  * Insert new acl user rules
  *
  * @param string $moduleName
  */
 protected function insertAclRules($moduleName)
 {
     $roles = $this->roleRepository->getAllRoles();
     $privileges = $this->privilegeRepository->getAllPrivilegeIds();
     $moduleId = $this->schemaHelper->getModuleId($moduleName);
     foreach ($roles as $role) {
         foreach ($privileges as $privilege) {
             $insertValues = ['id' => '', 'role_id' => $role['id'], 'module_id' => $moduleId, 'privilege_id' => $privilege['id'], 'permission' => $this->getDefaultAclRulePermission($role, $privilege)];
             $this->ruleRepository->insert($insertValues);
         }
     }
 }