projects
/
mirror
/
userdir-ldap-cgi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New version number
[mirror/userdir-ldap-cgi.git]
/
search.cgi
diff --git
a/search.cgi
b/search.cgi
index
16d00b0
..
59b6471
100755
(executable)
--- a/
search.cgi
+++ b/
search.cgi
@@
-19,10
+19,19
@@
my %config = &Util::ReadConfigFile;
my $query = new CGI;
my $id = $query->param('id');
my $authtoken = $query->param('authtoken');
my $query = new CGI;
my $id = $query->param('id');
my $authtoken = $query->param('authtoken');
-my $
password = &Util::CheckAuthToken($authtoken
);
-my $
dosearch = $query->param('dosearch'
);
-my $searchdn = $query->param('searchdn');
+my $
dosearch = uri_escape($query->param('dosearch')
);
+my $
searchdn = uri_escape($query->param('searchdn')
);
+
my $ldap = undef;
my $ldap = undef;
+my $password = undef;
+
+if ($authtoken || $id) {
+ $password = Util::TouchAuthToken($authtoken, $id);
+} else {
+ $password = '';
+ $id = '';
+ $authtoken = '';
+}
my $proto = ($ENV{HTTPS} ? "https" : "http");
my $proto = ($ENV{HTTPS} ? "https" : "http");
@@
-30,7
+39,7
@@
sub DieHandler {
$ldap->unbind if (defined($ldap));
}
$ldap->unbind if (defined($ldap));
}
-$SIG{__DIE__} = \&DieHandler;
+
#
$SIG{__DIE__} = \&DieHandler;
if (!$dosearch) {
# No action yet, send back the search form...
if (!$dosearch) {
# No action yet, send back the search form...
@@
-61,7
+70,7
@@
if (!$dosearch) {
# go through %searchdata and pull out all the search criteria the user
# specified...
# go through %searchdata and pull out all the search criteria the user
# specified...
- my $filter = "(objectclass=inetOrgPerson)";
+ my $filter = "(objectclass=inetOrgPerson)
(!(accountStatus=*))
";
foreach (keys(%searchdata)) {
if ($query->param($searchdata{$_}{formname})) {
if ($query->param($searchdata{$_}{fuzzy})) {
foreach (keys(%searchdata)) {
if ($query->param($searchdata{$_}{formname})) {
if ($query->param($searchdata{$_}{fuzzy})) {
@@
-191,7
+200,7
@@
if (!$dosearch) {
$vacation = $data->{onvacation}->[0] if ($authtoken && $id);
# OK, now generate output... (i.e. put the output into the buffer )
$vacation = $data->{onvacation}->[0] if ($authtoken && $id);
# OK, now generate output... (i.e. put the output into the buffer )
- $outsub{searchresults} .= '<table border=2 cellpadding=2 cellspacing=0 bgcolor="#DDDDDD" width="80%">';
+ $outsub{searchresults} .= '<table
class="debform"
border=2 cellpadding=2 cellspacing=0 bgcolor="#DDDDDD" width="80%">';
$outsub{searchresults} .= '<tr><th bgcolor="#44CCCC" colspan=2><font size=+1>'."$name</font> ";
$outsub{searchresults} .= "($ufdn)</th></tr>\n";
$outsub{searchresults} .= '<tr><th bgcolor="#44CCCC" colspan=2><font size=+1>'."$name</font> ";
$outsub{searchresults} .= "($ufdn)</th></tr>\n";
@@
-236,7
+245,7
@@
if (!$dosearch) {
# If this is ourselves, present a link to do mods
if ($auth && ($id eq $data->{uid}->[0])) { #TODO: extract this string into a url for translation...
# If this is ourselves, present a link to do mods
if ($auth && ($id eq $data->{uid}->[0])) { #TODO: extract this string into a url for translation...
- $outsub{searchresults} .= "<a href=\"$proto://$ENV{SERVER_NAME}/$config{webupdateurl}?id=$id
&authtoken=$authtoken&editdn=".uri_escape($dn, "\x00-\x40\x7f-\xff")."
\">Edit my settings</a>\n";
+ $outsub{searchresults} .= "<a href=\"$proto://$ENV{SERVER_NAME}/$config{webupdateurl}?id=$id
;authtoken=$authtoken
\">Edit my settings</a>\n";
}
$outsub{searchresults} .= "<br><br><br>\n";
}
$outsub{searchresults} .= "<br><br><br>\n";