Handle hostnames with upper-case letters
[webmin.git] / ipfilter / cluster.cgi
1 #!/usr/local/bin/perl
2 # Show hosts in firewall cluster
3
4 require './ipfilter-lib.pl';
5 &foreign_require("servers", "servers-lib.pl");
6 &ReadParse();
7 &ui_print_header(undef, $text{'cluster_title'}, undef, "cluster");
8
9 # Show existing servers
10 @servers = &list_cluster_servers();
11 if (@servers) {
12         print "<form action=cluster_delete.cgi>\n";
13         print "<table border width=100%>\n";
14         print "<tr $tb> <td width=10><br></td> ",
15               "<td><b>$text{'cluster_host'}</b></td> ",
16               "<td><b>$text{'cluster_desc'}</b></td> ",
17               "<td><b>$text{'cluster_os'}</b></td> </tr>\n";
18         foreach $s (@servers) {
19                 print "<tr $cb>\n";
20                 print "<td width=10><input type=checkbox name=d value=$s->{'id'}></td>\n";
21                 print "<td>",$s->{'host'},"</td>\n";
22                 print "<td>",$s->{'desc'} || "<br>","</td>\n";
23                 foreach $t (@servers::server_types) {
24                         if ($t->[0] eq $s->{'type'}) {
25                                 print "<td>$t->[1]</td>\n";
26                                 }
27                         }
28                 print "</tr>\n";
29                 }
30         print "</table>\n";
31         print "<input type=submit value='$text{'cluster_delete'}'></form>\n";
32         }
33 else {
34         print "<b>$text{'cluster_none'}</b><p>\n";
35         }
36
37 # Show buttons to add
38 print "<form action=cluster_add.cgi>\n";
39 print "<table width=100%><tr>\n";
40 @allservers = grep { $_->{'user'} } &servers::list_servers();
41 %gothost = map { $_->{'id'}, 1 } @servers;
42 @addservers = grep { !$gothost{$_->{'id'}} } @allservers;
43 if (@addservers) {
44         print "<td><input type=submit name=add value='$text{'cluster_add'}'>\n";
45         print "<select name=server>\n";
46         foreach $s (@addservers) {
47                 print "<option value=$s->{'id'}>",
48                         $s->{'desc'} ? $s->{'desc'} : $s->{'host'},"\n";
49                 }
50         print "</select></td>\n";
51         }
52 @groups = &servers::list_all_groups(\@allservers);
53 if (@groups) {
54         print "<td align=right><input type=submit name=gadd ",
55               "value='$text{'cluster_gadd'}'>\n";
56         print "<select name=group>\n";
57         foreach $g (@groups) {
58                 print "<option>$g->{'name'}\n";
59                 }
60         print "</select></td>\n";
61         }
62 print "</tr></table></form>\n";
63 if (!@allservers) {
64         print "<b>$text{'cluster_need'}</b><p>\n";
65         }
66
67 &ui_print_footer("", $text{'index_return'});
68