Handle hostnames with upper-case letters
[webmin.git] / bind8 / list_gen.cgi
1 #!/usr/local/bin/perl
2 # list_gen.cgi
3 # Display $generate entries
4
5 require './bind8-lib.pl';
6 &ReadParse();
7 $access{'gen'} || &error($text{'gen_ecannot'});
8 $zone = &get_zone_name($in{'index'}, $in{'view'});
9 $dom = $zone->{'name'};
10 &can_edit_zone($zone) ||
11         &error($text{'recs_ecannot'});
12 $desc = &text('recs_header', &ip6int_to_net(&arpa_to_ip($dom)));
13 &ui_print_header($desc, $text{'gen_title'}, "",
14                  undef, undef, undef, undef, &restart_links($zone));
15
16 @gens = grep { $_->{'generate'} } &read_zone_file($zone->{'file'}, $dom);
17 print "$text{'gen_desc'}<p>\n";
18 print &ui_form_start("save_gen.cgi", "post");
19 print &ui_hidden("index", $in{'index'});
20 print &ui_hidden("view", $in{'view'});
21
22 print &ui_columns_start([ $text{'gen_type'}, $text{'gen_range'},
23                           $text{'gen_name'}, $text{'gen_value'},
24                           $text{'gen_cmt'} ], 100);
25 $i = 0;
26 if ($bind_version >= 9) {
27         @types = ( 'PTR', 'CNAME', 'NS', 'A', 'AAAA', 'DNAME' );
28         }
29 else {
30         @types = ( 'PTR', 'CNAME', 'NS' );
31         }
32 foreach $g (@gens, { }) {
33         @gv = @{$g->{'generate'}};
34         @cols = ( );
35         local @r = $gv[0] =~ /^(\d+)-(\d+)(\/(\d+))?$/ ? ( $1, $2, $4 ) : ( );
36         push(@cols, &ui_select("type_$i", uc($gv[2]),
37                 [ [ '', '&nbsp;' ],
38                   map { uc($_) } @types ]));
39         push(@cols, &ui_textbox("start_$i", $r[0], 3)." - ".
40                     &ui_textbox("stop_$i", $r[1], 3)." $text{'gen_skip'} ".
41                     &ui_textbox("skip_$i", $r[2], 3));
42         push(@cols, &ui_textbox("name_$i", $gv[1], 20));
43         push(@cols, &ui_textbox("value_$i", $gv[3], 20));
44         push(@cols, &ui_textbox("cmt_$i", join(" ", @gv[4..$#gv]), 25));
45         print &ui_columns_row(\@cols);
46         $i++;
47         }
48 print &ui_columns_end();
49 @buts = ( [ undef, $text{'save'} ] );
50 if (@gens) {
51         push(@buts, [ "show", $text{'gen_show'} ]);
52         }
53 print &ui_form_end(\@buts);
54
55 &ui_print_footer("edit_master.cgi?index=$in{'index'}&view=$in{'view'}",
56         $text{'master_return'});
57