function _ldapauth_user_authenticate in LDAP integration 5
Same name and namespace in other branches
- 5.2 ldapauth.module \_ldapauth_user_authenticate()
1 call to _ldapauth_user_authenticate()
- ldapauth_login_validate in ./ldapauth.module
File
- ./ldapauth.module, line 900
Code
function _ldapauth_user_authenticate($name, $pass) {
global $user, $ldapauth_ldap;
if ($account = user_load(array(
'name' => $name,
'pass' => $pass,
'status' => 1,
))) {
if (drupal_is_denied('mail', $account->mail)) {
form_set_error('name', t('The name %name is registered using a reserved e-mail address and therefore could not be logged in.', array(
'%name' => $account->name,
)));
return;
}
}
$result = db_query("SELECT uid FROM {users} WHERE name = '%s'", $name);
if (($_user = db_fetch_object($result)) && $_user->uid == 1) {
$user = user_authenticate($name, $pass);
}
else {
if (variable_get('ldap_login_process', LDAP_FIRST_DRUPAL) != LDAP_FIRST_LDAP) {
$result = db_query("SELECT name,data FROM {users} WHERE name='%s'", $name);
$local_user_count = db_num_rows($result);
$data = db_fetch_array($result);
$data = unserialize($data['data']);
if ($local_user_count > 0 && (!isset($data['ldap_authentified']) || $data['ldap_authentified'] == 0)) {
$ldapauth_ldap = "";
$user = user_authenticate($name, $pass);
}
else {
if (ldapauth_auth($name, $pass, null)) {
$user = _ldapauth_save_user($name, $pass);
}
}
}
else {
if (ldapauth_auth($name, $pass, null)) {
$user = _ldapauth_save_user($name, $pass);
}
}
}
return $user;
}