function updateAuthRolesObject() { global $rbacsystem; if (!$rbacsystem->checkAccess("write", $this->object->getRefId())) { $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE); } include_once './Services/AccessControl/classes/class.ilObjRole.php'; ilObjRole::_updateAuthMode($_POST['Fobject']); ilUtil::sendSuccess($this->lng->txt("auth_mode_roles_changed"), true); $this->ctrl->redirect($this, 'authSettings'); }
/** * Save settings * * @access public * */ public function save() { // first delete old servers $this->settings->deleteLike('radius_server%'); $this->settings->set('radius_active', $this->isActive() ? 1 : 0); $this->settings->set('radius_port', $this->getPort()); $this->settings->set('radius_shared_secret', $this->getSecret()); $this->settings->set('radius_name', $this->getName()); $this->settings->set('radius_creation', $this->enabledCreation() ? 1 : 0); $this->settings->set('radius_migration', $this->isAccountMigrationEnabled() ? 1 : 0); $this->settings->set('radius_charset', $this->getCharset() ? 1 : 0); $counter = 0; foreach ($this->getServers() as $server) { if (++$counter == 1) { $this->settings->set('radius_server', trim($server)); } else { $this->settings->set('radius_server' . $counter, trim($server)); } } include_once './Services/AccessControl/classes/class.ilObjRole.php'; ilObjRole::_resetAuthMode('radius'); if ($this->getDefaultRole()) { ilObjRole::_updateAuthMode(array($this->getDefaultRole() => 'radius')); } return true; }