projects
/
mirror
/
userdir-ldap-cgi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5494835
)
make summaryattrs sortable
author
Martin Zobel-Helas
<zobel@debian.org>
Sun, 18 May 2008 15:35:27 +0000
(17:35 +0200)
committer
Martin Zobel-Helas
<zobel@debian.org>
Sun, 18 May 2008 15:35:27 +0000
(17:35 +0200)
machines.cgi
patch
|
blob
|
history
diff --git
a/machines.cgi
b/machines.cgi
index
8fe4bfa
..
34d622a
100755
(executable)
--- a/
machines.cgi
+++ b/
machines.cgi
@@
-4,6
+4,7
@@
# (c) 1999 Randolph Chung. Licensed under the GPL. <tausq@debian.org>
# (c) 2004 Martin Schulze. Licensed under the GPL. <joey@debian.org>
# (c) 2006 Ryan Murray. Licensed under the GPL. <rmurray@debian.org>
# (c) 1999 Randolph Chung. Licensed under the GPL. <tausq@debian.org>
# (c) 2004 Martin Schulze. Licensed under the GPL. <joey@debian.org>
# (c) 2006 Ryan Murray. Licensed under the GPL. <rmurray@debian.org>
+# (c) 2008 Martin Zobel-Helas. Licensed under the GPL. <zobel@debian.org>
use lib '.';
use strict vars;
use lib '.';
use strict vars;
@@
-86,6
+87,8
@@
$SIG{__DIE__} = \&DieHandler;
my $query = new CGI;
my $host = lc($query->param('host'));
my $query = new CGI;
my $host = lc($query->param('host'));
+my $sortby = lc($query->param('sortby')) || "host";
+my $sortorder = lc($query->param('sortorder')) || "asc";
&Util::HTMLSendHeader;
$ldap = Net::LDAP->new($config{ldaphost}) || &Util::HTMLError($!);
&Util::HTMLSendHeader;
$ldap = Net::LDAP->new($config{ldaphost}) || &Util::HTMLError($!);
@@
-180,11
+183,25
@@
if ($output{havehostdata}) {
$hostdetails = "<h1>Summary</h1>\n";
$hostdetails .= "<table border=\"1\" width=\"90%\">\n<tr>";
foreach $key (@summaryorder) {
$hostdetails = "<h1>Summary</h1>\n";
$hostdetails .= "<table border=\"1\" width=\"90%\">\n<tr>";
foreach $key (@summaryorder) {
- $hostdetails .= "<th>$summaryattrs{$key}</th>";
+ if ($sortby ne $key) {
+ $hostdetails .= "<th><a href=\"machines.cgi?sortby=$key&sortorder=asc\">$summaryattrs{$key}</a></th>";
+ } else {
+ if ($sortorder ne "dsc") {
+ $hostdetails .= "<th><a href=\"machines.cgi?sortby=$key&sortorder=dsc\">$summaryattrs{$key}</a></th>";
+ } else {
+ $hostdetails .= "<th><a href=\"machines.cgi?sortby=$key&sortorder=asc\">$summaryattrs{$key}</a></th>";
+ }
+ }
}
$hostdetails .= "</tr>\n";
}
$hostdetails .= "</tr>\n";
- foreach $host (sort(keys(%summary))) {
+ my @sorted;
+ if ($sortorder eq "asc") {
+ @sorted = sort {$summary{$a}->{$sortby} cmp $summary{$b}->{$sortby}} keys(%summary);
+ } else {
+ @sorted = sort {$summary{$b}->{$sortby} cmp $summary{$a}->{$sortby}} keys(%summary);
+ }
+ foreach $host (@sorted) {
$hostdetails .= "<tr>";
foreach $key (@summaryorder) {
$hostdetails .= "<td>$summary{$host}{$key} </td>";
$hostdetails .= "<tr>";
foreach $key (@summaryorder) {
$hostdetails .= "<td>$summary{$host}{$key} </td>";