/** * 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; }