use MIME::Base64;
use Digest::MD5 qw(md5_hex);
-my (%attrs, @attrorder, %summaryattrs, @summaryorder);
+my (%attrs, @attrorder, %summaryattrs, @summaryorder, %summarylistitems);
# This defines the description of the fields, and which fields are retrieved
%attrs = ('hostname' => 'Host name',
# ditto for summary
%summaryattrs = ('hostname' => 'Host name',
- 'host' => 'just for a link',
- 'architecture' => 'Architecture',
- 'distribution' => 'Distribution',
+ 'host' => 'just for a link',
+ 'architecture' => 'Architecture',
'status' => 'Status',
- 'access' => 'Access');
-
-@summaryorder = ('hostname', 'architecture', 'distribution', 'status', 'access');
+ 'access' => 'Access',
+ 'sponsor' => 'Sponsor',
+ 'purpose' => 'Purpose');
+@summaryorder = qw{hostname architecture sponsor purpose status access};
+%summarylistitems = map {$_=>1} qw{purpose sponsor};
# Global settings...
my %config = &Util::ReadConfigFile;
my $purpose = item_uplist($data->{purpose});
$output{purpose} = $purpose if defined $purpose;
- $selected = " selected ";
+ $selected = " selected ";
}
-
+
$hostlist .= "<option value=\"$thishost\"$selected>$thishost\n";
-
+
# collect summary info
foreach $key (keys(%summaryattrs)) {
- $summary{$thishost}{$key} = $data->{$key}->[0];
+ if (exists $summarylistitems{$key}) {
+ my $v = item_uplist($data->{$key});
+ $summary{$thishost}{$key} = $v if defined $v;
+ } else {
+ $summary{$thishost}{$key} = $data->{$key}->[0];
+ }
}
-
+
$summary{$thishost}{hostname} = undef;
foreach my $hostname (@{$data->{hostname}}) {
$summary{$thishost}{hostname} .= sprintf("%s<a href=\"machines.cgi?host=%s\">%s</a>", ($summary{$thishost}{hostname} ? '<br>' : ''), $summary{$thishost}{host}, $hostname);