From bc2d892a7ec75d0c21d7e73d141826e00484976c Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Tue, 12 Dec 2017 05:53:36 +0000 Subject: [PATCH] lib/php/nb.php --- lib/php/nb.php | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/lib/php/nb.php b/lib/php/nb.php index 079b6bee..d86e865e 100644 --- a/lib/php/nb.php +++ b/lib/php/nb.php @@ -1064,33 +1064,45 @@ class NB { } } - 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

/"; - $ii=0; - - for ($i=0; $ii<$info[$i]["count"]; $ii++){ - $data = $info[$i][$ii]; - echo $data.":".$info[$i][$data][0]."
\n"; + #return $info; + #echo $info["count"]." entries returned

/"; + + $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; -- 2.47.3