mirror of
https://github.com/webmin/webmin.git
synced 2026-03-20 16:50:24 +00:00
Delete slave zones in automatic view
This commit is contained in:
@@ -2223,12 +2223,12 @@ foreach $slave (@slaves) {
|
||||
return @slaveerrs;
|
||||
}
|
||||
|
||||
# delete_on_slaves(domain, [&slave-hostnames])
|
||||
# delete_on_slaves(domain, [&slave-hostnames], [local-view])
|
||||
# Delete some domain or all or listed slave servers
|
||||
sub delete_on_slaves
|
||||
{
|
||||
local $dom = $_[0];
|
||||
local %on = map { $_, 1 } @{$_[1]};
|
||||
local ($dom, $slavehosts, $localview) = @_;
|
||||
local %on = map { $_, 1 } @$slavehosts;
|
||||
&remote_error_setup(\&slave_error_handler);
|
||||
local $slave;
|
||||
local @slaveerrs;
|
||||
@@ -2248,8 +2248,7 @@ foreach $slave (&list_slave_servers()) {
|
||||
if ($slave->{'bind8_view'} eq "*") {
|
||||
# Same as on master .. but for now, don't pass in any view
|
||||
# so that it will be found automatically
|
||||
# XXX
|
||||
$view = undef;
|
||||
$view = $localview;
|
||||
}
|
||||
elsif ($slave->{'bind8_view'}) {
|
||||
# Named view
|
||||
|
||||
@@ -8,6 +8,10 @@ $conf = &get_config();
|
||||
if ($in{'view'} ne '') {
|
||||
$view = $conf->[$in{'view'}];
|
||||
$conf = $view->{'members'};
|
||||
$viewname = $view->{'values'}->[0];
|
||||
}
|
||||
else {
|
||||
$viewname = undef;
|
||||
}
|
||||
$zconf = $conf->[$in{'index'}];
|
||||
&can_edit_zone($zconf, $view) ||
|
||||
@@ -140,7 +144,7 @@ foreach $u (keys %wusers) {
|
||||
|
||||
# Also delete from slave servers
|
||||
if ($in{'onslave'} && $access{'remote'}) {
|
||||
@slaveerrs = &delete_on_slaves($zconf->{'value'});
|
||||
@slaveerrs = &delete_on_slaves($zconf->{'value'}, undef, $viewname);
|
||||
if (@slaveerrs) {
|
||||
&error(&text('delete_errslave',
|
||||
"<p>".join("<br>", map { "$_->[0]->{'host'} : $_->[1]" }
|
||||
|
||||
@@ -27,8 +27,11 @@ if (@servers) {
|
||||
push(@cols, $s->{'host'}.
|
||||
($s->{'nsname'} ? " ($s->{'nsname'})" : ""));
|
||||
push(@cols, $s->{'sec'} ? $text{'yes'} : $text{'no'});
|
||||
push(@cols, $s->{'bind8_view'} ||
|
||||
"<i>$text{'slaves_noview'}</i>");
|
||||
push(@cols, $s->{'bind8_view'} eq '*' ?
|
||||
"<i>$text{'slaves_sameview'}</i>" :
|
||||
$s->{'bind8_view'} ?
|
||||
$s->{'bind8_view'} :
|
||||
"<i>$text{'slaves_noview'}</i>");
|
||||
push(@cols, $s->{'desc'});
|
||||
($type) = grep { $_->[0] eq $s->{'type'} }
|
||||
@servers::server_types;
|
||||
|
||||
@@ -82,9 +82,11 @@ else {
|
||||
|
||||
# Also delete from slave servers
|
||||
if ($in{'onslave'} && $access{'remote'}) {
|
||||
$viewname = $view ? $view->{'values'}->[0] : undef;
|
||||
print &text('massdelete_slaves',
|
||||
$zconf->{'value'}),"<br>\n";
|
||||
@slaveerrs = &delete_on_slaves($zconf->{'value'});
|
||||
@slaveerrs = &delete_on_slaves(
|
||||
$zconf->{'value'}, undef, $viewname);
|
||||
if (@slaveerrs) {
|
||||
print $text{'massdelete_failed'},"<br>\n";
|
||||
foreach $s (@slaveerrs) {
|
||||
|
||||
Reference in New Issue
Block a user