#!/usr/local/bin/perl # edit_soa.cgi # Display the SOA for an existing master zone require './bind8-lib.pl'; &ReadParse(); $zone = &get_zone_name($in{'index'}, $in{'view'}); $dom = $zone->{'name'}; &can_edit_zone($zone) || &error($text{'master_ecannot'}); $access{'params'} || &error($text{'master_esoacannot'}); $desc = &ip6int_to_net(&arpa_to_ip($dom)); &ui_print_header($desc, $text{'master_params'}, ""); @recs = &read_zone_file($zone->{'file'}, $dom); foreach $r (@recs) { $soa = $r if ($r->{'type'} eq "SOA"); $defttl = $r if ($r->{'defttl'}); } $v = $soa->{'values'}; # form for editing SOA record print "
\n"; print "{'file'}\">\n"; print "{'num'}\">\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'master_params'}
\n"; print "\n"; print "\n"; $v->[1] = &dotted_to_email($v->[1]); print "\n"; print "\n"; @u = &extract_time_units($v->[3], $v->[4], $v->[5], $v->[6]); print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; if (!$config{'updserial_on'}) { print "\n"; print "\n"; } print "
$text{'master_server'}[0]\">$text{'master_email'}[1]\">
$text{'master_refresh'}[3]\">\n"; print &time_unit_choice("refunit", $u[0]); print "$text{'master_retry'}[4]\">\n"; print &time_unit_choice("retunit", $u[1]); print "
$text{'master_expiry'}[5]\">\n"; print &time_unit_choice("expunit", $u[2]); print "$text{'master_minimum'}[6]\">\n"; print &time_unit_choice("minunit", $u[3]); print "
$text{'master_defttl'} \n"; printf " %s\n", $defttl ? "" : "checked", $text{'default'}; printf "\n", $defttl ? "checked" : ""; $ttl = $defttl->{'defttl'} if ($defttl); ($ttlu) = &extract_time_units($ttl); print "\n"; print &time_unit_choice("defttlunit", $ttlu); print "
$text{'master_serial'}[2]\">
\n"; print "\n" if (!$access{'ro'}); print "

\n"; &ui_print_footer("edit_master.cgi?index=$in{'index'}&view=$in{'view'}", $text{'master_return'});