public function appendToSessionCreateXML($dom_) { $environment_node = $dom_->createElement('environment'); $environment_node->setAttribute('id', 'Novell'); $config = $this->prefs->get('SessionManagement', 'novell'); $dlu = $config['dlu'] == 1; if ($dlu) { $environment_node->setAttribute('dlu', 'yes'); } else { $environment_node->setAttribute('server', $this->userDB->config['host']); $environment_node->setAttribute('tree', suffix2domain($this->userDB->config['suffix'])); $environment_node->setAttribute('login', $_POST['login']); $environment_node->setAttribute('password', $_POST['password']); } $dom_->documentElement->appendChild($environment_node); return; }
public function config2form($prefs) { $form = array(); $config = $prefs->get('UserDB', 'ldap'); if (isset($config['extra']['dsfw'])) { $default_user_branch = 'cn=Users,'; $domain_separator = 'dc'; } else { $default_user_branch = ''; //'ou=users,'; $domain_separator = 'o'; } $config_session = $prefs->get('SessionManagement', 'novell'); $form['host'] = ''; if (isset($config['hosts'][0])) { $form['host'] = $config['hosts'][0]; } $form['host2'] = ''; if (isset($config['hosts'][1])) { $form['host2'] = $config['hosts'][1]; } $form['domain'] = suffix2domain($config['suffix'], $domain_separator); // Admin login - Todo: replace by a regexp if ($config['login'] != '') { $buf = explode('=', $config['login'], 2); $buf = explode(',', $buf[1], 2); $admin_login = $buf[0]; $admin_ou = $buf[1]; } else { $admin_login = ''; $admin_ou = ''; } $uidprefix = 'cn'; if (isset($config['match']['login'])) { $uidprefix = $config['match']['login']; } $form['admin_login'] = $admin_login; $form['admin_password'] = $config['password']; $form['admin_branch_ou'] = ''; if ($config['login'] == $uidprefix . '=' . $admin_login . ',' . $default_user_branch . $config['suffix']) { $form['admin_branch'] = 'default'; } else { $form['admin_branch'] = 'specific'; if (str_endswith(strtoupper($admin_ou), strtoupper($config['suffix']))) { $admin_ou = substr($admin_ou, 0, -1 * (strlen($config['suffix']) + 1)); } $buffer = explode(',', $admin_ou); for ($i = 0; $i < count($buffer); $i++) { $buf = explode('=', $buffer[$i], 2); if (!isset($buf[1])) { break; } $buffer[$i] = $buf[1]; } $form['admin_branch_ou'] = implode(',', array_reverse($buffer)); } if (isset($config['extra']['dsfw'])) { $form['dsfw'] = 'dsfw'; } if ($config_session['dlu'] == 1) { $form['dlu'] = 'dlu'; } $buf = $prefs->get('UserGroupDB', 'enable'); $form['user_group'] = $buf == 'sql' ? 'internal' : 'novell'; return $form; }