MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /proc/self/root/usr/libexec/webmin/bind8/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/usr/libexec/webmin/bind8/delete_view.cgi
#!/usr/bin/perl
# delete_zone.cgi
# Delete an existing view and all its zones

require './bind8-lib.pl';
&ReadParse();
$parent = &get_config_parent();
$conf = $parent->{'members'};
$vconf = $conf->[$in{'index'}];
$access{'views'} || &error($text{'view_ecannot'});

if (!$in{'confirm'}) {
	# Ask the user if he is sure ..
	&ui_print_header(undef, $text{'vdelete_title'}, "");

	# Build input for moving zones to another view
	@zones = &find("zone", $vconf->{'members'});
	if (@zones) {
		@moveopts = ( [ 0, $text{'vdelete_delete'} ],
			      [ 1, $text{'vdelete_root'} ] );
		@views = &find("view", $conf);
		if (@views > 1) {
			push(@moveopts, [ 2, $text{'vdelete_move'}." ".
				&ui_select("newview", undef,
				   [ map { [ $_->{'index'}, $_->{'value'} ] }
					 grep { $_->{'index'} != $in{'index'} }
					      @views ]) ]);
			}
		$movefield = "<b>$text{'vdelete_newview'}</b> ".
			     &ui_radio("mode", 1, \@moveopts);
		}

	# Show confirm form
	print &ui_confirmation_form("delete_view.cgi",
		&text(@zones ? 'vdelete_mesg' : 'vdelete_mesg2',
		      "<tt>$vconf->{'value'}</tt>"),
		[ [ 'index', $in{'index'} ] ],
		[ [ 'confirm', $text{'view_delete'} ] ],
		$movefield);

	&ui_print_footer("", $text{'index_return'});
	exit;
	}

# deal with the zones in this view
@zones = &find("zone", $vconf->{'members'});
if ($in{'mode'} == 1) {
	# Adding to top level
	$dest = &get_config_parent(&add_to_file());
	}
else {
	# Adding to some other view
	$dest = $conf->[$in{'newview'}];
	}
&lock_file(&make_chroot($dest->{'file'}));
foreach $z (@zones) {
	local $type = &find_value("type", $z->{'members'});
	next if (!$type || $type eq 'hint');
	if ($in{'mode'} == 0) {
		# Delete the records file, and perhaps journal
		local $f = &find_value("file", $z->{'members'});
		if ($f) {
			&delete_records_file($f->{'value'});
			}
		}
	else {
		# Move to another view or the top level.
		# File may change 
		delete($z->{'file'});
		&save_directive($dest, undef, [ $z ], $in{'mode'} == 2 ? 1 : 0);
		}
	}

# remove the view directive
&lock_file(&make_chroot($vconf->{'file'}));
&save_directive($parent, [ $vconf ], [ ]);
&flush_file_lines();
&unlock_all_files();
&webmin_log("delete", "view", $vconf->{'value'}, \%in);
&redirect("");


Anon7 - 2021