Whoops. For some reason I've attached the wrong file. Here's the correct one. Cajus
#!/usr/bin/php4 -q <?php ##################### T E S T - V A R I A B L E S ################## $server= "localhost"; $filter= "(uid=*)"; $base = "dc=example,dc=net"; ######################## F U N C T I O N S ######################### function get_additional_error($res) { $error= ""; ldap_get_option ($res, LDAP_OPT_ERROR_STRING, $error); return ($error); } function get_error($res) { $error= ldap_error($res); if ($error == 'Success'){ return "success"; } else { $adderror= get_additional_error($res); if ($adderror != ""){ $error= $error." (".get_additional_error($res).")"; } return $error; } } function rebind($ldap, $referral) { $server= preg_replace('!^(ldap://[^/]+)/.*$!', '\\1', $referral); if (!($ds= ldap_connect($server))){ echo "reconnect failed - "; return ($ldap); } ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ds, LDAP_OPT_REFERRALS, 1); ldap_set_rebind_proc($lds, "rebind"); if (!ldap_bind($ds)){ echo "rebind failed - "; return ($ldap); } echo "rebind to $server - "; return ($ds); } #################################################################### # M A I N # #################################################################### echo "Opening connection to $server - "; $ds= @ldap_connect($server); if ($ds) { echo "success\n"; echo "Setting up link parameters - "; ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ds, LDAP_OPT_REFERRALS, 1); echo get_error($ds)."\n"; echo "Setting rebind proc - "; ldap_set_rebind_proc($ds, "rebind"); echo get_error($ds)."\n"; echo "Binding - "; if (!($r= @ldap_bind($ds))){ echo get_error($ds)."\n\n"; exit (2); } echo "success\n"; } else { echo get_error($ds)."\n\n"; exit (1); } echo "Performing search with base '$base' and filter '$filter'\n"; echo "* starting search - "; $sr= @ldap_search($ds, $base, $filter, array('uid', 'cn'), 0, 0, 0, LDAP_DEREF_ALWAYS); echo get_error($ds)."\n"; if (!$sr){ exit (3); } $info= ldap_get_entries($ds, $sr); echo "* getting entries - "; echo get_error($ds)."\n"; if (!$info){ exit (4); } for ($n= 0; $n<=$info['count']; $n++){ if (!isset($info[$n]['uid'][0])){ continue; } echo " ".$info[$n]['dn']."\n"; } echo "Closing connection...\n"; ldap_close($ds); ?>
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php