Handle hostnames with upper-case letters
[webmin.git] / bind8 / slave_form.cgi
1 #!/usr/local/bin/perl
2 # slave_form.cgi
3 # A form for creating a new slave or stub zone
4
5 require './bind8-lib.pl';
6 $type = ($0 =~ /slave_form/);
7 $access{'slave'} || &error($type ? $text{'screate_ecannot1'}
8                                  : $text{'screate_ecannot2'});
9 $conf = &get_config();
10 &ui_print_header(undef, $type ? $text{'screate_title1'}
11                               : $text{'screate_title2'}, "",
12                  undef, undef, undef, undef, &restart_links());
13
14 # Start of the form
15 print &ui_form_start("create_slave.cgi", "post");
16 print &ui_hidden("type", $type);
17 print &ui_table_start($type ? $text{'screate_header1'}
18                             : $text{'screate_header2'}, "width=100%", 4);
19
20 # Forward or reverse?
21 print &ui_table_row($text{'screate_type'},
22         &ui_radio("rev", 0, [ [ 0, $text{'screate_fwd'} ],
23                               [ 1, $text{'screate_rev'} ] ]), 3);
24
25 # Domain name
26 print &ui_table_row($text{'screate_dom'},
27         &ui_textbox("zone", undef, 60), 3);
28
29 # Create in view
30 @views = &find("view", $conf);
31 if (@views) {
32         ($defview) = grep { lc($_->{'values'}->[0]) eq
33                             lc($config{'default_view'}) } @views;
34         print &ui_table_row($text{'mcreate_view'},
35                 &ui_select("view", $defview ? $defview->{'index'} : undef,
36                   [ map { [ $_->{'index'}, $_->{'values'}->[0] ] }
37                         grep { &can_edit_view($_) } @views ]), 3);
38         }
39
40 # Zone file
41 print &ui_table_row($text{'slave_file'},
42         &ui_radio("file_def", 2, [ [ 1, $text{'slave_none'} ],
43                                    [ 2, $text{'slave_auto'} ],
44                                    [ 0, &ui_filebox("file", undef, 30) ] ]), 3);
45
46 # Master servers
47 print &ui_table_row($text{'slave_masters'},
48         &ui_textarea("masters",
49                      join("\n", split(/\s+/, $config{'default_master'})),
50                      4, 30));
51
52 # Master port
53 print &ui_table_row($text{'slave_masterport'},
54         &ui_opt_textbox("port", undef, 5, $text{'default'},
55                         $text{'slave_master_port'}));
56
57 # Create on slave servers?
58 @servers = grep { $_->{'sec'} } &list_slave_servers();
59 if (@servers && $access{'remote'}) {
60         print &ui_table_row($text{'master_onslave'},
61                 &ui_yesno_radio("onslave", 1));
62         }
63
64 print &ui_table_end();
65 print &ui_form_end([ [ undef, $text{'create'} ] ]);
66
67 &ui_print_footer("", $text{'index_return'});
68