summaryrefslogtreecommitdiffstats
path: root/pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi')
-rwxr-xr-xpki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi78
1 files changed, 78 insertions, 0 deletions
diff --git a/pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi b/pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi
new file mode 100755
index 000000000..8db2d3e48
--- /dev/null
+++ b/pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi
@@ -0,0 +1,78 @@
+#! /usr/bin/perl -w
+#
+# --- BEGIN COPYRIGHT BLOCK ---
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation;
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301 USA
+#
+# Copyright (C) 2007 Red Hat, Inc.
+# All rights reserved.
+# --- END COPYRIGHT BLOCK ---
+#
+
+use CGI;
+
+[REQUIRE_CFG_PL]
+
+my $ldapHost = get_ldap_host();
+my $ldapPort = get_ldap_port();
+my $basedn = get_base_dn();
+my $ldapsearch = get_ldapsearch();
+
+sub main()
+{
+
+ my $q = new CGI;
+
+ my $letters = $q->param('letters');
+ if ($letters eq "") {
+ # HACK: ajax.js posts parameters into POST URL
+ $letters = $ENV{'QUERY_STRING'};
+ $letters =~ s/.*letters=//g;
+ $letters =~ s/\+/ /g;
+ }
+
+ my $tmpfile = "/tmp/ajax-list-$$.txt";
+ my $cmd = $ldapsearch . " " .
+ "-x " .
+ "-b \"" . $basedn . "\" " .
+ "-h \"" . $ldapHost . "\" " .
+ "-p \"" . $ldapPort ."\" " .
+ "-S \"cn\" " .
+ "-s sub \"(cn=" . $letters . "*)\" cn uid > " . $tmpfile;
+ system($cmd);
+
+ my $result = "";
+ open(F, "<$tmpfile");
+ my $cn;
+ my $uid;
+ while (<F>) {
+ if (/cn/) {
+ $cn = $_;
+ chomp($cn);
+ $cn =~ s/cn: //g;
+ $uid = <F>;
+ chomp($uid);
+ $uid =~ s/uid: //g;
+ $result .= $uid . "###" . $cn . "|";
+ }
+ }
+ close(F);
+ system("rm $tmpfile");
+
+ print "Content-Type: text/html\n\n";
+ print $result;
+}
+
+&main();