Handle hostnames with upper-case letters
[webmin.git] / bind8 / conf_servers.cgi
1 #!/usr/local/bin/perl
2 # conf_servers.cgi
3 # Display options for other DNS servers
4
5 require './bind8-lib.pl';
6 $access{'defaults'} || &error($text{'servers_ecannot'});
7 &ui_print_header(undef, $text{'servers_title'}, "",
8                  undef, undef, undef, undef, &restart_links());
9
10 $conf = &get_config();
11 @servers = ( &find("server", $conf), { } );
12 @keys = &find("key", $conf);
13
14 print &ui_form_start("save_servers.cgi", "post");
15 print &ui_columns_start([ $text{'servers_ip'},
16                           $text{'servers_bogus'},
17                           $text{'servers_format'},
18                           $text{'servers_trans'},
19                           @keys ? ( $text{'servers_keys'} ) : ( ) ], 100);
20 for($i=0; $i<@servers; $i++) {
21         $s = $servers[$i];
22         @cols = ( );
23         push(@cols, &ui_textbox("ip_$i", $s->{'value'}, 15));
24
25         $bogus = &find_value("bogus", $s->{'members'});
26         push(@cols, &ui_radio("bogus_$i", lc($bogus) eq 'yes' ? 1 : 0,
27                               [ [ 1, $text{'yes'} ],
28                                 [ 0, $text{'no'} ] ]));
29
30         $format = &find_value("transfer-format", $s->{'members'});
31         push(@cols, &ui_radio("format_$i", lc($format),
32                               [ [ 'one-answer', $text{'servers_one'} ],
33                                 [ 'many-answers', $text{'servers_many'} ],
34                                 [ '', $text{'default'} ] ]));
35
36         $trans = &find_value("transfers", $s->{'members'});
37         push(@cols, &ui_textbox("trans_$i", $trans, 8));
38
39         if (@keys) {
40                 local %haskey;
41                 $keys = &find("keys", $s->{'members'});
42                 foreach $k (@{$keys->{'members'}}) {
43                         $haskey{$k->{'name'}}++;
44                         }
45                 $cbs = "";
46                 foreach $k (@keys) {
47                         local $v = $k->{'value'};
48                         $cbs .= &ui_checkbox("keys_$i", $v, $v, $haskey{$v}).
49                                 "\n";
50                         }
51                 push(@cols, $cbs);
52                 }
53         print &ui_columns_row(\@cols);
54         }
55 print &ui_columns_end();
56 print &ui_form_end([ [ undef, $text{'save'} ] ]);
57
58 &ui_print_footer("", $text{'index_return'});
59