Fix purposes_uplist to use passed argument instead of global variable
[mirror/userdir-ldap-cgi.git] / machines.cgi
index c50c4cb..bf0c058 100755 (executable)
@@ -83,6 +83,13 @@ sub sshfingerprint {
     return $hrfpr;
 }
 
+sub wiki_link($) {
+       my ($in) = @_;
+       $in =~ s#\[\[(.*?)\|(.*?)\]\]#<a href="http://$1">$2</a>#g;
+       $in =~ s#\[\[(.*?)\]\]#<a href="http://$1">$1</a>#g;
+       return $in;
+}
+
 sub purposes_uplist($) {
        my ($purposes) = @_;
        my $out = undef;
@@ -90,9 +97,8 @@ sub purposes_uplist($) {
        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}}
+                               "<li>".wiki_link($_)."</li>\n";
+                         } sort {my $A=$a; my $B=$b; $A =~ s/[\[\]]//g; $B =~ s/[\[\]]//g; $A cmp $B} @{$purposes}
                        ).
                        "</ul>";
        }