2 # Force a zone transfer for a slave domain
4 require './bind8-lib.pl';
6 $zone = &get_zone_name($in{'index'}, $in{'view'});
7 &can_edit_zone($zone) ||
8 &error($text{'master_ecannot'});
11 $bconf = $conf = &get_config();
12 if ($in{'view'} ne '') {
13 $view = $conf->[$in{'view'}];
14 $conf = $view->{'members'};
16 $zconf = $conf->[$in{'index'}]->{'members'};
17 $file = &find_value("file", $zconf);
19 $desc = &ip6int_to_net(&arpa_to_ip($zone->{'name'}));
20 &ui_print_header($desc, $text{'xfer_title'}, "",
21 undef, undef, undef, undef, &restart_links($zone));
24 $masters = &find("masters", $zconf);
25 foreach $av (@{$masters->{'members'}}) {
26 push(@ips, join(" ", $av->{'name'}, @{$av->{'values'}}));
28 print &text('xfer_doing', join(" ", @ips)),"<br>\n";
30 $rv = &transfer_slave_records($zone->{'name'}, \@ips, $temp);
33 print &text('xfer_failed', $ip,
34 "<font color=red>".&html_escape($rv->{$ip})."</font>"),
38 print &text('xfer_done', $ip),"<br>\n";
45 @recs = &read_zone_file($temp, $zone->{'name'}.".", undef, undef, 0, 1);
46 print &text('xfer_count', scalar(@recs)),"<p>\n";
50 &ui_print_footer("edit_slave.cgi?index=$in{'index'}&view=$in{'view'}",
51 $text{'master_return'});