diff --git a/auth/ldap/lib.php b/auth/ldap/lib.php index 5bfb3e53eae..bf7d55d9c13 100644 --- a/auth/ldap/lib.php +++ b/auth/ldap/lib.php @@ -124,15 +124,19 @@ function auth_get_userinfo($username){ if (!is_array($values)) { $values = array($values); } + $ldapval = NULL; foreach ($values as $value) { if(is_array($user_entry[0][strtolower($value)])) { - $result[$key]=addslashes(stripslashes(utf8_decode($user_entry[0][strtolower($value)][0]))); + $newval = addslashes(stripslashes(utf8_decode($user_entry[0][strtolower($value)][0]))); } else { - $result[$key] = addslashes(stripslashes(utf8_decode($user_entry[0][strtolower($value)]))); - + $newval = addslashes(stripslashes(utf8_decode($user_entry[0][strtolower($value)]))); } + if (!empty($newval)) { // favour ldap entries that are set + $ldapval = $newval; + } } + $result[$key] = $ldapval; } }