Changeset View
Changeset View
Standalone View
Standalone View
lib/kolab_client_task.php
Show First 20 Lines • Show All 204 Lines • ▼ Show 20 Lines | class kolab_client_task | ||||
{ | { | ||||
if (isset($_POST['login'])) { | if (isset($_POST['login'])) { | ||||
$login = $this->get_input('login', 'POST'); | $login = $this->get_input('login', 'POST'); | ||||
if ($login['username']) { | if ($login['username']) { | ||||
$login['username'] = trim($login['username']); | $login['username'] = trim($login['username']); | ||||
$login['domain'] = trim($login['domain']); | $login['domain'] = trim($login['domain']); | ||||
if ($this->config->get('kolab', 'unique_uid_across_domains') == "true") { | |||||
$dirman = $this->config->get('ldap', 'bind_dn'); | |||||
if (strpos($login['username'], '@') === false && $login['username'] != $dirman) { | |||||
$templogin = $this->api->login($dirman, $this->config->get('ldap', 'bind_pw')); | |||||
if ($temptoken = $templogin->get('session_token')) { | |||||
$this->api->set_session_token($temptoken); | |||||
} | |||||
if (($result = $this->api->get('user.get_domain', array('id' => $login['username']))) !== false) { | |||||
$result = $result->get(); | |||||
if (array_key_exists('domain', $result)) { | |||||
$login['domain'] = $result['domain']; | |||||
} | |||||
} | |||||
// reset the api connection | |||||
$this->api_init(); | |||||
} | |||||
} | |||||
$result = $this->api->login($login['username'], $login['password'], $login['domain'], true); | $result = $this->api->login($login['username'], $login['password'], $login['domain'], true); | ||||
if ($token = $result->get('session_token')) { | if ($token = $result->get('session_token')) { | ||||
$user = array( | $user = array( | ||||
'token' => $token, | 'token' => $token, | ||||
'id' => $result->get('userid'), | 'id' => $result->get('userid'), | ||||
'domain' => $result->get('domain') | 'domain' => $result->get('domain') | ||||
); | ); | ||||
▲ Show 20 Lines • Show All 1,531 Lines • Show Last 20 Lines |