3 # Apply changes to one zone only using the ndc command
5 require './bind8-lib.pl';
7 $access{'ro'} && &error($text{'restart_ecannot'});
8 $access{'apply'} || &error($text{'restart_ecannot'});
9 $zone = &get_zone_name($in{'index'}, $in{'view'});
10 if ($zone->{'view'}) {
11 # Reload a zone in a view
12 $dom = $zone->{'name'};
13 &can_edit_zone($zone) || &error($text{'restart_ecannot'});
14 $out = &try_cmd("freeze '$dom' IN '$zone->{'view'}'");
17 # Just reload one top-level zone
18 $dom = $zone->{'name'};
19 &can_edit_zone($zone) || &error($text{'restart_ecannot'});
20 $out = &try_cmd("freeze '$dom' 2>&1 </dev/null");
22 if ($? || $out =~ /failed|not found|error/i) {
23 &error(&text('restart_endc', "<tt>$out</tt>"));
25 &webmin_log("freeze", $dom);
27 $tv = $zone->{'type'};
28 &redirect(($tv eq "master" ? "edit_master.cgi" :
29 $tv eq "forward" ? "edit_forward.cgi" : "edit_slave.cgi").
30 "?index=$in{'index'}&view=$in{'view'}");