X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=web%2Fmachines.cgi;h=92deede238ebb30827c68bb5e52a7989ef5008e2;hb=205ad9a922a6940ad5c85104f3fd08c5b4874138;hp=1bca7f8b2608f1d20eb104cfde0e196be3e67964;hpb=7c4426fe084671625350fe5d4ac3c11ae548633a;p=mirror%2Fuserdir-ldap.git diff --git a/web/machines.cgi b/web/machines.cgi index 1bca7f8..92deede 100755 --- a/web/machines.cgi +++ b/web/machines.cgi @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: machines.cgi,v 1.5 2000/01/23 05:36:58 tausq Exp $ +# $Id: machines.cgi,v 1.9 2001/01/08 07:03:23 tausq Exp $ # (c) 1999 Randolph Chung. Licensed under the GPL. @@ -25,23 +25,30 @@ my (%attrs, @attrorder, %summaryattrs, @summaryorder); 'memory' => 'Memory', 'disk' => 'Disk space', 'bandwidth' => 'Bandwidth', + 'status' => 'Status', 'notes' => 'Notes', + 'sshrsahostkey' => 'SSH host key (RSA)', + 'sshdsahostkey' => 'SSH host key (DSA)', + 'description' => 'Description', 'createtimestamp' => 'Entry created', 'modifytimestamp' => 'Entry modified' ); # This defines what fields are displayed, and in what order -@attrorder = ('hostname', 'admin', 'architecture', 'distribution', 'access', - 'sponsor', 'sponsor-admin', 'location', 'machine', 'memory', - 'disk', 'bandwidth', 'notes', 'createtimestamp', 'modifytimestamp'); +@attrorder = qw(hostname admin architecture distribution access + sponsor sponsor-admin location machine memory + disk bandwidth status notes sshrsahostkey sshdsahostkey + description createtimestamp modifytimestamp); # ditto for summary %summaryattrs = ('hostname' => 'Host name', 'host' => 'just for a link', 'architecture' => 'Architecture', + 'distribution' => 'Distribution', + 'status' => 'Status', 'access' => 'Access'); -@summaryorder = ('hostname', 'architecture', 'access'); +@summaryorder = ('hostname', 'architecture', 'distribution', 'status', 'access'); # Global settings... my %config = &Util::ReadConfigFile; @@ -65,7 +72,7 @@ $mesg = $ldap->search(base => $config{hostbasedn}, filter => 'host=*'); $mesg->code && &Util::HTMLError($mesg->error); $entries = $mesg->as_struct; -foreach $dn (sort {$entries->{$a}->{host}->[0] <=> $entries->{$b}->{host}->[0]} keys(%$entries)) { +foreach $dn (sort {$entries->{$a}->{host}->[0] cmp $entries->{$b}->{host}->[0]} keys(%$entries)) { $data = $entries->{$dn}; my $thishost = $data->{host}->[0]; @@ -77,6 +84,11 @@ foreach $dn (sort {$entries->{$a}->{host}->[0] <=> $entries->{$b}->{host}->[0]} foreach $key (keys(%attrs)) { $output{$key} = $data->{$key}->[0]; } + + $output{hostname} = undef; + foreach my $hostname (@{$data->{hostname}}) { + $output{hostname} .= sprintf("%s%s", ($output{hostname} ? ', ' : ''), $hostname); + } # Modified/created time. TODO: maybe add is the name of the creator/modifier $output{modifytimestamp} = &Util::FormatTimestamp($output{modifytimestamp}); @@ -111,8 +123,10 @@ foreach $dn (sort {$entries->{$a}->{host}->[0] <=> $entries->{$b}->{host}->[0]} $summary{$thishost}{$key} = $data->{$key}->[0]; } - $summary{$thishost}{hostname} = sprintf("%s", - $summary{$thishost}{host}, $summary{$thishost}{hostname}); + $summary{$thishost}{hostname} = undef; + foreach my $hostname (@{$data->{hostname}}) { + $summary{$thishost}{hostname} .= sprintf("%s%s", ($summary{$thishost}{hostname} ? '
' : ''), $summary{$thishost}{host}, $hostname); + } } $ldap->unbind;