#!/usr/bin/perl # Show the LDAP tree in a popup browser window, for selecting something require './ldap-client-lib.pl'; &popup_header($text{'browser_title'}); &ReadParse(); # Connect to LDAP server, or die trying $ldap = &ldap_connect(1); if (!ref($ldap)) { print &text('browser_econn', $ldap),"<p>\n"; &popup_footer(); exit; } # Work out the base (current navigation level) if ($in{'parent'}) { $base = $in{'parent'}; } elsif (!$in{'base'}) { $conf = &get_config(); $base = &find_value("base", $conf); } else { $base = $in{'base'}; } # Javascript to update original field print "<script>\n"; print "function ldap_select(f)\n"; print "{\n"; print "top.opener.ifield.value = f;\n"; print "top.close();\n"; print "window.close();\n"; print "return false;\n"; print "}\n"; print "</script>\n"; # Find the actual base object $rv2 = $ldap->search(base => $base, filter => '(objectClass=*)', score => 'base'); if (!$rv2->code) { ($bo) = $rv2->all_entries; ($top) = grep { $_ eq "top" } $bo->get_value("objectClass"); } # Show current base (with option to change), and parent button print &ui_form_start("popup_browser.cgi"),"\n"; print &ui_hidden("node", $in{'node'}),"\n"; print "<b>$text{'browser_base'}</b>\n"; print &ui_textbox("base", $base, 40)," ",&ui_submit($text{'browser_ok'}),"\n"; $parent = $base; $parent =~ s/^[^,]+,\s*//; # Show the OK button only if the object type is appropriatye if ($in{'node'} == 0 && $top || $in{'node'} == 1 && !$top || $in{'node'} == 2) { print "<input type=button onClick='return ldap_select(\"". "e_escape($base, '"'),"\")' ", "value='$text{'browser_sel'}'>\n"; } print &ui_form_end(); # Find sub-objects $rv = $ldap->search(base => $base, filter => '(objectClass=*)', scope => 'one'); if ($rv->code) { # Search failed print &text('browser_esearch', $rv->error),"<p>\n"; &popup_footer(); exit; } print "<table width=100%>\n"; if ($parent =~ /\S/) { print "<tr> <td><i><a href='popup_browser.cgi?node=". &urlize($in{'node'})."&base=", &urlize($parent),"'><img src=images/up.gif border=0> ", &html_escape($parent),"</a></td> </tr>\n"; } if ($rv->all_entries) { # If this object has sub-objects, show them foreach $dn (sort { lc($a->dn()) cmp lc($b->dn()) } $rv->all_entries) { print "<tr> <td><a href='popup_browser.cgi?node=". &urlize($in{'node'}),"&", "base=".&urlize($dn->dn()). "'><img src=images/open.gif border=0>", " ",&html_escape($dn->dn()),"</a></td> </tr>\n"; } } else { # Show attributes foreach $a (sort { lc($a) cmp lc($b) } $bo->attributes()) { @v = $bo->get_value($a); print "<tr> <td>$a</td> <td>:</td> <td>", join(" , ", @v),"</td> </tr>\n"; } } print "</table>\n"; &popup_footer();
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 1.1 KB | 0644 |
|
atboot.cgi | File | 483 B | 0755 |
|
browser.cgi | File | 2.29 KB | 0755 |
|
check.cgi | File | 2.93 KB | 0755 |
|
config-ALL-linux | File | 79 B | 0644 |
|
config-AlmaLinux-6.0-ALL | File | 66 B | 0644 |
|
config-CentOS-Linux-6.0-ALL | File | 66 B | 0644 |
|
config-CentOS-Stream-Linux-8.0-ALL | File | 66 B | 0644 |
|
config-CloudLinux-8.0-ALL | File | 66 B | 0644 |
|
config-Oracle-Linux-8.0-ALL | File | 66 B | 0644 |
|
config-Redhat-Enterprise-Linux-6.0-ALL | File | 66 B | 0644 |
|
config-Rocky-Linux-6.0-ALL | File | 66 B | 0644 |
|
config-Scientific-Linux-6.0-ALL | File | 66 B | 0644 |
|
config-debian-linux-3.1 | File | 100 B | 0644 |
|
config-debian-linux-4.0-5.9 | File | 65 B | 0644 |
|
config-debian-linux-6.0-6.9 | File | 128 B | 0644 |
|
config-debian-linux-7.0-ALL | File | 65 B | 0644 |
|
config-pardus-linux | File | 74 B | 0644 |
|
config-redhat-linux-13.0-ALL | File | 89 B | 0644 |
|
config.info | File | 556 B | 0644 |
|
config.info.ca | File | 732 B | 0644 |
|
config.info.de | File | 593 B | 0644 |
|
config.info.nl | File | 473 B | 0644 |
|
config.info.no | File | 528 B | 0644 |
|
config.info.pt_BR | File | 599 B | 0644 |
|
cpan_modules.pl | File | 82 B | 0755 |
|
edit_base.cgi | File | 2.47 KB | 0755 |
|
edit_pam.cgi | File | 1.36 KB | 0755 |
|
edit_server.cgi | File | 3.27 KB | 0755 |
|
edit_switch.cgi | File | 1.74 KB | 0755 |
|
fixpam.cgi | File | 364 B | 0755 |
|
index.cgi | File | 2.36 KB | 0755 |
|
install_check.pl | File | 334 B | 0755 |
|
ldap-client-lib.pl | File | 11.53 KB | 0755 |
|
list_switches.cgi | File | 772 B | 0755 |
|
log_parser.pl | File | 461 B | 0755 |
|
module.info | File | 158 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 96 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 122 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 144 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 161 B | 0644 |
|
module.info.ca | File | 97 B | 0644 |
|
module.info.cs | File | 0 B | 0644 |
|
module.info.cs.auto | File | 105 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 97 B | 0644 |
|
module.info.de | File | 99 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 148 B | 0644 |
|
module.info.es | File | 0 B | 0644 |
|
module.info.es.auto | File | 99 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 106 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 159 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 110 B | 0644 |
|
module.info.fr | File | 0 B | 0644 |
|
module.info.fr.auto | File | 120 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 126 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 99 B | 0644 |
|
module.info.hu | File | 0 B | 0644 |
|
module.info.hu.auto | File | 117 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 95 B | 0644 |
|
module.info.ja | File | 0 B | 0644 |
|
module.info.ja.auto | File | 144 B | 0644 |
|
module.info.ko | File | 0 B | 0644 |
|
module.info.ko.auto | File | 128 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 108 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 99 B | 0644 |
|
module.info.ms | File | 103 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 107 B | 0644 |
|
module.info.nl | File | 20 B | 0644 |
|
module.info.nl.auto | File | 83 B | 0644 |
|
module.info.no | File | 20 B | 0644 |
|
module.info.no.auto | File | 80 B | 0644 |
|
module.info.pl | File | 0 B | 0644 |
|
module.info.pl.auto | File | 95 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 101 B | 0644 |
|
module.info.pt_BR | File | 24 B | 0644 |
|
module.info.pt_BR.auto | File | 83 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 105 B | 0644 |
|
module.info.ru | File | 0 B | 0644 |
|
module.info.ru.auto | File | 170 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 108 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 102 B | 0644 |
|
module.info.sv | File | 0 B | 0644 |
|
module.info.sv.auto | File | 104 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 204 B | 0644 |
|
module.info.tr | File | 0 B | 0644 |
|
module.info.tr.auto | File | 123 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 146 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 189 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 145 B | 0644 |
|
module.info.zh | File | 0 B | 0644 |
|
module.info.zh.auto | File | 84 B | 0644 |
|
module.info.zh_TW | File | 0 B | 0644 |
|
module.info.zh_TW.auto | File | 90 B | 0644 |
|
popup_browser.cgi | File | 2.73 KB | 0755 |
|
restart.cgi | File | 329 B | 0755 |
|
save_base.cgi | File | 1.86 KB | 0755 |
|
save_pam.cgi | File | 1.31 KB | 0755 |
|
save_server.cgi | File | 3.53 KB | 0755 |
|
save_switch.cgi | File | 932 B | 0755 |
|
start.cgi | File | 282 B | 0755 |
|
stop.cgi | File | 254 B | 0755 |
|
switch-lib.pl | File | 3.08 KB | 0755 |
|