/** * Reset de ACL en bouw opnieuw op */ private function _initAcl() { $this->_acl = new \MUtil_Acl(); if (get_class(self::$_instanceOfSelf) !== 'Gems_Roles') { throw new \Gems_Exception_Coding("Don't use project specific roles file anymore, you can now do so by using the gems_roles tabel and setup->roles from the interface."); } // Probeer eerst uit db in te lezen met fallback als dat niet lukt try { $this->loadDbAcl(); } catch (\Exception $e) { \Gems_Log::getLogger()->logError($e); // Reset all roles unset($this->_acl); $this->_acl = new \MUtil_Acl(); //Voeg standaard rollen en privileges in $this->loadDefaultRoles(); $this->loadDefaultPrivileges(); } // Now allow 'master' all access, except for the actions that have the // nologin privilege (->the login action) if (!$this->_acl->hasRole('master')) { //Add role if not already present $this->_acl->addRole('master'); } $this->_acl->allow('master'); $this->_acl->deny('master', null, 'pr.nologin'); }