require 'majordomo-lib.pl';
# acl_security_form(&options)
# Output HTML for editing security options for the majordomo module
sub acl_security_form
{
local $conf = &get_config();
local @lists = &list_lists($conf);
print "
$text{'acl_lists'} \n";
print "\n";
printf " %s\n",
$_[0]->{'lists'} eq '*' ? 'checked' : '', $text{'acl_lall'};
printf " %s \n",
$_[0]->{'lists'} eq '*' ? '' : 'checked', $text{'acl_lsel'};
print "\n";
local (%lcan, $l);
map { $lcan{$_}++ } split(/\s+/, $_[0]->{'lists'});
foreach $l (@lists) {
printf "%s \n",
$lcan{$l} ? "selected" : "", $l;
}
print " \n";
print "$text{'acl_global'} \n";
printf " $text{'yes'}\n",
$_[0]->{'global'} ? "checked" : "";
printf " $text{'no'} \n",
$_[0]->{'global'} ? "" : "checked";
print " $text{'acl_create'} \n";
printf " $text{'yes'}\n",
$_[0]->{'create'} ? "checked" : "";
printf " $text{'no'} \n",
$_[0]->{'create'} ? "" : "checked";
print " $text{'acl_edit'} \n";
printf " $text{'yes'}\n",
$_[0]->{'edit'} ? "checked" : "";
printf " $text{'no'} \n",
$_[0]->{'edit'} ? "" : "checked";
}
# acl_security_save(&options)
# Parse the form for security options for the majordomo module
sub acl_security_save
{
if ($in{'lists_def'}) {
$_[0]->{'lists'} = "*";
}
else {
$_[0]->{'lists'} = join(" ", split(/\0/, $in{'lists'}));
}
$_[0]->{'global'} = $in{'global'};
$_[0]->{'create'} = $in{'create'};
$_[0]->{'edit'} = $in{'edit'};
}