Net-LDAPapi
view release on metacpan or search on metacpan
examples/web500.pl view on Meta::CPAN
# 'my_base_dn' may not be useful.
if ($my_base_dn !~ /$LDAP_BASEDN$/)
{
$my_base_dn = $LDAP_BASEDN;
}
# Splits the DN into segments. Netscape makes this easy with ldap_explode_dn,
# but I have to do it manually because none of the other SDKs support it.
# We're building a hash with all the levels above our own for use in the
# popup_menu.
@splitbase = split(/,/,$my_base_dn);
@splitdefault = split(/,/,$LDAP_BASEDN);
for ($count = 0; $count <= $#splitbase; $count++)
{
for ($base_count = $count; $base_count <= $#splitbase; $base_count++)
{
if ($count != $base_count)
{
examples/web500.pl view on Meta::CPAN
$base_vals[$count] = $base_vals[$count] . $splitbase[$base_count];
}
$shortname = $splitbase[$count];
$shortname =~ s/^.*=//;
$basename{$base_vals[$count]} = $shortname;
}
# We don't want people to be able to go higher than the default level.
$#base_vals = $#base_vals - $#splitdefault;
# Now print the form with the query and the popup containing higher
# levels within the LDAP tree.
print "<b>Current Search Base:</b> $my_base_dn",
start_form,
hidden('op','searchresult'),
hidden('searchfor','yes'),
"Move Up To: ",popup_menu('my_base_dn',\@base_vals,$base_vals[0],\%basename),p;
foreach $searchattr (@searchuser_onattr)
{
print textfield(-name=>"searchfor_$searchattr",-size=>50),
$fields{$searchattr}[0],"\n",br;
}
print p,submit('Search'),reset('Reset'),
end_form,p,"\n";
# This search will find all the organizations and localities one level below
# our current level. This allows people to navigate downwards.
( run in 1.181 second using v1.01-cache-2.11-cpan-364913b4093 )