# (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;
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($!);
$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";
- 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>";