function lookup_username($id) { global $appError; if(strstr($id, '=')) { //look up person by "dn" (distinct ldap name) try { $ds = ldap_connect(LDAP_SERVER); if ($ds == FALSE) { throw new Exception(""); } // set a 10 second timelimit $sr = ldap_read($ds, $id, "(objectclass=*)", array(), 0, 0, READ_TIMELIMIT); // $sr = ldap_read($ds, $id, "(objectclass=*)"); if ($sr == FALSE) { throw new Exception(""); } $entries = ldap_get_entries($ds, $sr); if ($entries == FALSE) { throw new Exception(""); } return make_person($entries[0]); } catch (Exception $e) { $appError = 1; return(DIRECTORY_UNAVAILABLE); } } else { $uidFilter = UID_FILTER; $uidFilter = str_replace("%s", $id, $uidFilter); $searchFilter = UID_SEARCH_FILTER; $searchFilter = str_replace("%s", $uidFilter, $searchFilter); $tmp = do_query($searchFilter); if ($appError == 1) return($tmp); foreach($tmp as $key => $first) { return make_person($first); } } }
function lookup_username($id) { if (strstr($id, '=')) { //look up person by "dn" (distinct ldap name) $ds = ldap_connect(SERVER); $sr = ldap_read($ds, $id, "(objectclass=*)"); $entries = ldap_get_entries($ds, $sr); return make_person($entries[0]); } else { $tmp = do_query(new QueryElement("uid", $id)); foreach ($tmp as $key => $first) { return make_person($first); } } }