Handle hostnames with upper-case letters
[webmin.git] / cluster-software / search.cgi.bak
1 #!/usr/local/bin/perl
2 # search.cgi
3 # Display a list of packages where the name or description matches some string
4
5 require './cluster-software-lib.pl';
6 &ReadParse();
7
8 $s = $in{'search'};
9 @hosts = &list_software_hosts();
10 foreach $h (@hosts) {
11         foreach $p (@{$h->{'packages'}}) {
12                 if ($p->{'name'} =~ /$s/i || $p->{'desc'} =~ /$s/i &&
13                     !$already{$p->{'name'}}++) {
14                         push(@match, $p);
15                         }
16                 }
17         }
18 if (@match == 1) {
19         &redirect("edit_pack.cgi?package=".&urlize($match[0]->{'name'}));
20         exit;
21         }
22
23 &header($text{'search_title'}, "");
24 print "<hr>\n";
25 if (@match) {
26         @match = sort { lc($a->{'name'}) cmp lc($b->{'name'}) } @match;
27         print "<h3>",&text('search_match', "<tt>$s</tt>"),"</h3>\n";
28         print "<table border width=100%>\n";
29         print "<tr $tb> <td><b>$text{'search_pack'}</b></td> ",
30               "<td><b>$text{'search_class'}</b></td> ",
31               "<td><b>$text{'search_desc'}</b></td> </tr>\n";
32         foreach $i (@match) {
33                 print "<tr $cb>\n";
34                 print "<td><a href=\"edit_pack.cgi?search=$s&package=",
35                       &urlize($i->{'name'}),"\">$i->{'name'}</a></td>\n";
36                 $c = $i->{'class'};
37                 print "<td>",$c ? $c : $text{'search_none'},"</td>\n";
38                 print "<td>$i->{'desc'}</td>\n";
39                 print "</tr>\n";
40                 }
41         print "</table><p>\n";
42         }
43 else {
44         print "<h3>",&text('search_nomatch', "<tt>$s</tt>"),"</h3>\n";
45         }
46
47 print "<hr>\n";
48 &footer("", $text{'index_return'});
49