diff --git a/include/functions.inc.php b/include/functions.inc.php index 143faf05f..f2c1ea145 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -418,6 +418,82 @@ function checkalias($alias) } +/** + * + * Gibt UID zur passenden Kartennummer zurück, false im Fehlerfall + * @param $number + */ +function getUidFromCardNumber($number) +{ + if($connect=@ldap_connect(LDAP_SERVER)) + { + // bind to ldap connection + if(($bind=@ldap_bind($connect)) == false) + { + print "bind:__FAILED__
\n"; + return false; + } + + // search for card id + if (($res_id = ldap_search($connect, LDAP_BASE_DN, "departmentNumber=$number")) == false) + { + print "failure: search in LDAP-tree failed
"; + return false; + } + + // wurde keiner gefunden, versuche mit 0 davor + if (ldap_count_entries($connect, $res_id) == 0) + { + $number = "0".$number; + // search for card id 0[Number] + if (($res_id = ldap_search($connect, LDAP_BASE_DN, "departmentNumber=$number")) == false) + { + print "failure: search in LDAP-tree failed
"; + return false; + } + if (ldap_count_entries($connect, $res_id) == 0) + { + $number = "0".$number; + // search for card id 00[Number] + if (($res_id = ldap_search($connect, LDAP_BASE_DN, "departmentNumber=$number")) == false) + { + print "failure: search in LDAP-tree failed
"; + return false; + } + if (ldap_count_entries($connect, $res_id) == 0) + { + $number = "0".$number; + echo $number; + // search for card id 000[Number] + if (($res_id = ldap_search($connect, LDAP_BASE_DN, "departmentNumber=$number")) == false) + { + print "failure: search in LDAP-tree failed
"; + return false; + } + if (ldap_count_entries($connect, $res_id) == 0) + { + print "failure: no person found
"; + return false; + } + } + } + } + $info = ldap_get_entries($connect, $res_id); + // gibt uid zurück + return($info[0]['uid'][0]); + + @ldap_close($connect); + return true; + } + else + { + // no conection to ldap server + echo "no connection to '$ldap_server'
\n"; + } + @ldap_close($connect); + return(false); +} + // **************************************************************** // * Prueft ob im LDAP ein User mit diesem Passwort existiert // ****************************************************************