<?php
require_once('../lib/ldap/functions.php');
if ($config[ldap_default_dn] != ''){
include('../lib/ldap/attrmap.php');
$regular_profile_attr = $config[ldap_regular_profile_attr];
$ds=@ldap_connect("$config[ldap_server]"); if ($ds) {
$r=@da_ldap_bind($ds,$config);
if ($config[ldap_debug] == 'true')
print "<b>DEBUG(LDAP): Search Query: BASE='$config[ldap_default_dn]',FILTER='objectclass=*'</b><br>\n";
$sr=@ldap_search($ds,"$config[ldap_default_dn]", 'objectclass=*');
if ($info = @ldap_get_entries($ds, $sr)){
$dn = $info[0]['dn'];
if ($dn != ''){
foreach($attrmap as $key => $val){
if ($info[0]["$val"][0] != '' && $key != 'Dialup-Access'){
if ($attrmap[generic]["$key"] == 'generic'){
for($i=0;$i<$info[0]["$val"][count];$i++)
$default_vals["$key"][] = $info[0]["$val"][$i];
$default_vals["$key"][count] += $info[0]["$val"][count];
}
else
$default_vals["$key"] = $info[0]["$val"];
}
}
}
}
if ($regular_profile_attr != ''){
$get_attrs = array("$regular_profile_attr");
if ($config[ldap_filter] != '')
$filter = xlat($config[ldap_filter],$login,$config);
else
$filter = 'uid=' . $login;
if ($config[ldap_debug] == 'true')
print "<b>DEBUG(LDAP): Search Query: BASE='$config[ldap_base]',FILTER='$filter'</b><br>\n";
$sr=@ldap_search($ds,"$config[ldap_base]",$filter,$get_attrs);
if ($info = @ldap_get_entries($ds,$sr)){
for($i=0;$i<$info[0][$regular_profile_attr]["count"];$i++){
$dn2 = $info[0][$regular_profile_attr][$i];
if ($dn2 != ''){
if ($config[ldap_debug] == 'true')
print "<b>DEBUG(LDAP): Search Query: BASE='$dn2',FILTER='objectclass=*'</b><br>\n";
$sr2=@ldap_search($ds,"$dn2",'objectclass=*');
if ($info2 = @ldap_get_entries($ds,$sr2)){
$dn3 = $info2[0]['dn'];
if ($dn3 != ''){
foreach($attrmap as $key => $val){
if ($info2[0]["$val"][0] != '' && $key != 'Dialup-Access'){
if (!isset($default_vals["$key"]))
$default_vals["$key"] = array();
if ($attrmap[generic]["$key"] == 'generic'){
for($j=0;$j<$info2[0]["$val"][count];$j++)
$default_vals["$key"][] = $info2[0]["$val"][$j];
$default_vals["$key"][count] += $info2[0]["$val"][count];
}
else
$default_vals["$key"] = $info2[0]["$val"];
}
}
}
}
}
}
}
}
@ldap_close($ds);
}
}
?>