Show purposes as a bullet list, support [[wikistylelinks]]
authorPeter Palfrader <peter@palfrader.org>
Tue, 15 Jul 2008 13:26:52 +0000 (15:26 +0200)
committerPeter Palfrader <peter@palfrader.org>
Tue, 15 Jul 2008 13:26:52 +0000 (15:26 +0200)
machines.cgi

index de5191e..c50c4cb 100755 (executable)
@@ -83,6 +83,22 @@ sub sshfingerprint {
     return $hrfpr;
 }
 
+sub purposes_uplist($) {
+       my ($purposes) = @_;
+       my $out = undef;
+
+       if (scalar @$purposes >= 1) {
+               $out = "<ul>".
+                       join("", map { 
+                               s#\[\[(.*?)\]\]#<a href="http://$1">$1</a>#g;
+                               "<li>$_</li>\n";
+                         } sort {my $A=$a; my $B=$b; $A =~ s/[\[\]]//g; $B =~ s/[\[\]]//g; $A cmp $B} @{$data->{purpose}}
+                       ).
+                       "</ul>";
+       }
+       return $out;
+}
+
 $SIG{__DIE__} = \&DieHandler;
 
 my $query = new CGI;
@@ -150,9 +166,9 @@ foreach $dn (sort {$entries->{$a}->{host}->[0] cmp $entries->{$b}->{host}->[0]}
       }
     }
 
-       #Reformat purposes to be pleasing for the human eye:
-       $output{purpose} = join(",", @{$data->{purpose}});
-    
+    my $purpose = purposes_uplist($data->{purpose});
+    $output{purpose} = $purpose if defined $purpose;
+
     $selected = " selected ";    
   }