Handle hostnames with upper-case letters
[webmin.git] / cluster-webmin / group_form.cgi
1 #!/usr/local/bin/perl
2 # group_form.cgi
3 # Display a form for adding a new webmin group to all servers
4
5 require './cluster-webmin-lib.pl';
6 &ui_print_header(undef, $text{'user_title1'}, "");
7
8 @hosts = &list_webmin_hosts();
9 @mods = &all_modules(\@hosts);
10 @wgroups = &all_groups(\@hosts);
11
12 print "<form action=create_group.cgi method=post>\n";
13 print "<table border width=100%>\n";
14 print "<tr $tb> <td><b>$text{'group_header1'}</b></td> </tr>\n";
15 print "<tr $cb> <td><table width=100%>\n";
16
17 print "<tr> <td><b>$text{'group_name'}</b></td>\n";
18 print "<td><input name=name size=15></td>\n";
19
20 print "<td><b>$text{'user_group'}</b></td>\n";
21 print "<td><select name=group>\n";
22 print "<option selected value=''>$text{'user_nogroup'}\n";
23 foreach $g (@wgroups) {
24         print "<option>$g->{'name'}\n";
25         }
26 print "</select></td> </tr>\n";
27
28 $mp = int((scalar(@mods)+2)/3);
29 print "<tr> <td valign=top><b>$text{'user_mods'}</b><br>",
30       "$text{'user_groupmods'}</td> <td colspan=3 nowrap>\n";
31 print "<select name=mods1 size=$mp multiple>\n";
32 for($i=0; $i<$mp; $i++) {
33         print "<option value=$mods[$i]->{'dir'}>$mods[$i]->{'desc'}\n";
34         }
35 print "</select>\n";
36 print "<select name=mods2 size=$mp multiple>\n";
37 for($i=$mp; $i<$mp*2; $i++) {
38         print "<option value=$mods[$i]->{'dir'}>$mods[$i]->{'desc'}\n";
39         }
40 print "</select>\n";
41 print "<select name=mods3 size=$mp multiple>\n";
42 for($i=$mp*2; $i<@mods; $i++) {
43         print "<option value=$mods[$i]->{'dir'}>$mods[$i]->{'desc'}\n";
44         }
45 print "</select>\n";
46
47 print "<br>\n";
48 print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = true; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = true; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = true; } return false'>$text{'user_sall'}</a>&nbsp;\n";
49 print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = false; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = false; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = false; } return false'>$text{'user_snone'}</a>&nbsp;\n";
50 print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = !document.forms[0].mods1.options[i].selected; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = !document.forms[0].mods2.options[i].selected; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = !document.forms[0].mods3.options[i].selected; } return false'>$text{'user_sinvert'}</a><br>\n";
51
52 print "</td> </tr>\n";
53
54 &create_on_input($text{'group_servers'}, 0, 1);
55
56 print "</table></td></tr></table><br>\n";
57 print "<input type=submit value='$text{'create'}'></form>\n";
58
59 &ui_print_footer("", $text{'index_return'});
60