require 'dns-lib.pl';
# acl_security_form(&options)
# Output HTML for editing security options for the dnsadmin module
sub acl_security_form
{
print "
| Domains this user can edit | \n";
print "\n";
printf " %s\n",
$_[0]->{'zones'} eq '*' ? 'checked' : '', "All zones";
printf " %s \n",
$_[0]->{'zones'} eq '*' ? '' : 'checked', "Selected..";
print " | \n";
print "Can create master zones? | \n";
printf " Yes\n",
$_[0]->{'master'} ? "checked" : "";
printf " No |
\n",
$_[0]->{'master'} ? "" : "checked";
print " | Can create slave zones? | \n";
printf " Yes\n",
$_[0]->{'slave'} ? "checked" : "";
printf " No |
\n",
$_[0]->{'slave'} ? "" : "checked";
print " | Can edit master zone defaults? | \n";
printf " Yes\n",
$_[0]->{'defaults'} ? "checked" : "";
printf " No |
\n",
$_[0]->{'defaults'} ? "" : "checked";
print " | Can update reverse addresses in any domain? | \n";
printf " Yes\n",
$_[0]->{'reverse'} ? "checked" : "";
printf " No |
\n",
$_[0]->{'reverse'} ? "" : "checked";
print " | Can multiple addresses have the same IP? | \n";
printf " Yes\n",
$_[0]->{'multiple'} ? "checked" : "";
printf " No |
\n",
$_[0]->{'multiple'} ? "" : "checked";
print " | Restrict zone files to directory | \n";
printf " %s |
\n",
$_[0]->{'dir'}, &file_chooser_button("dir", 1);
}
# acl_security_save(&options)
# Parse the form for security options for the dnsadmin module
sub acl_security_save
{
if ($in{'zones_def'}) {
$_[0]->{'zones'} = "*";
}
else {
$_[0]->{'zones'} = join(" ", split(/\0/, $in{'zones'}));
}
$_[0]->{'master'} = $in{'master'};
$_[0]->{'slave'} = $in{'slave'};
$_[0]->{'defaults'} = $in{'defaults'};
$_[0]->{'reverse'} = $in{'reverse'};
$_[0]->{'multiple'} = $in{'multiple'};
$_[0]->{'dir'} = $in{'dir'};
}