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'}; }