}
}
- public static function ldap_search() {
- $ldap_host = "ldap.nbdom.net";
+ public static function ldap_search($o=[]) {
+ #$base = preg_match('/^(.*?)([^\.]+\.[^\.]+)$/','$2',$_SERVER['HTTP_HOST']);
+ #if (!isset($o['host'])) $o['host'] = "ldap.$base";
+ #return $o;
+ $ldap_host = "ldap.vpn.nbdom.net";
$base_dn = "dc=nbdom,dc=net";
$filter = "(cn=".$_SERVER['PHP_AUTH_USER'].")";
+ $filter = "(memberUid=nico)";
+ $keys = [];
+ #$keys = ['dn','cn','sn','uid'];
$ldap_user = "cn=".$_SERVER['PHP_AUTH_USER'].",ou=auth,$base_dn";
$ldap_pass = $_SERVER['PHP_AUTH_PW'];
- $connect = ldap_connect( $ldap_host) or exit(">>Could not connect to LDAP server<<");
+ $connect = ldap_connect($ldap_host) or exit(">>Could not connect to LDAP server<<");
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);
$bind = ldap_bind($connect, $ldap_user, $ldap_pass) or exit(">>Could not bind to $ldap_host<<");
$read = ldap_search($connect, $base_dn, $filter) or exit(">>Unable to search ldap server<<");
$info = ldap_get_entries($connect, $read);
-
- echo $info["count"]." entries returned<p>/";
- $ii=0;
-
- for ($i=0; $ii<$info[$i]["count"]; $ii++){
- $data = $info[$i][$ii];
- echo $data.":".$info[$i][$data][0]."</br>\n";
+ #return $info;
+ #echo $info["count"]." entries returned<p>/";
+
+ $recs = [];
+ for ($r=0; $r<$info["count"]; $r++){
+ $rec = $info[$r];
+ for ($i=0; $i<$rec["count"]; $i++){
+ $key = $info[$r][$i];
+ if (!empty($keys) and !in_array($key,$keys)) continue;
+ $recs[$r][$key] = $info[$i][$key][0];
+ }
}
ldap_close($connect);
- }
+ return $recs;
+
+ } # < ldap_search
-} # < Class
+} # < Class NB
/*
return;