*/ Layout::setTemplate('dashboard.phtml'); Layout::breadCrumbs([$view->ahref('Dashboard', ['dashboard', 'index']), __('ACL')]); $set = array(); foreach (new \GlobIterator(PATH_APPLICATION . '/modules/*/controllers/*.php') as $file) { $module = pathinfo(dirname(dirname($file->getPathname())), PATHINFO_FILENAME); $reflection = $this->reflection($file->getPathname()); if ($privilege = $reflection->getPrivilege()) { if (!isset($set[$module])) { $set[$module] = array(); } if (!in_array($privilege, $set[$module])) { $set[$module][] = $privilege; } } } $view->set = $set; $privilegesRowset = Privileges\Table::getInstance()->getPrivileges(); $privileges = array(); foreach ($privilegesRowset as $privilege) { if (!isset($privileges[$privilege->roleId])) { $privileges[$privilege->roleId] = array(); } if (!isset($privileges[$privilege->roleId][$privilege->module])) { $privileges[$privilege->roleId][$privilege->module] = array(); } $privileges[$privilege->roleId][$privilege->module][] = $privilege->privilege; } $view->privileges = $privileges; $view->roles = Roles\Table::getInstance()->getRoles(); };
/** * Get user privileges */ public function getPrivileges() { if (!$this->privileges) { $this->privileges = Privileges\Table::getInstance()->getUserPrivileges($this->id); } return $this->privileges; }