MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //var/usr/webmin-1.941/zones/save_attr.cgi
#!/usr/bin/perl
# Update, add or delete a generic attribute

require './zones-lib.pl';
do 'forms-lib.pl';
&ReadParse();
$zinfo = &get_zone($in{'zone'});
$zinfo || &error($text{'edit_egone'});
if (!$in{'new'}) {
	# Find the filesystem object
	($attr) = grep { $_->{'name'} eq $in{'old'} } @{$zinfo->{'attr'}};
	$attr || &error($text{'attr_egone'});
	}
$attr ||= { 'keytype' => 'attr' };

if ($in{'delete'}) {
	# Just remove this attribute
	&delete_zone_object($zinfo, $attr);
	}
else {
	# Validate inputs
	$form = &get_attr_form(\%in, $zinfo, $attr);
	$form->validate_redirect("edit_attr.cgi");
	$attr->{'name'} = $form->get_value("name");
	$attr->{'type'} = $form->get_value("type");
	$attr->{'value'} = $form->get_value("value");
	&find_clash($zinfo, $attr) &&
		$form->validate_redirect("edit_attr.cgi",
					[ [ "name", $text{'attr_eclash'} ] ]);

	# Save the attribute
	if ($in{'new'}) {
		&create_zone_object($zinfo, $attr);
		}
	else {
		&modify_zone_object($zinfo, $attr);
		}
	}

&webmin_log($in{'new'} ? "create" : $in{'delete'} ? "delete" : "modify",
	    "attr", $in{'old'} || $attr->{'name'}, $attr);
&redirect("edit_zone.cgi?zone=$in{'zone'}");