📄 save_subs.cgi
字号:
#!/usr/local/bin/perl# save_subs.cgi# Save subscription optionsrequire './majordomo-lib.pl';&ReadParse();%access = &get_module_acl();&can_edit_list(\%access, $in{'name'}) || &error("You are not allowed to edit this mailing list");$list = &get_list($in{'name'}, &get_config());$conf = &get_list_config($list->{'config'});&save_list_directive($conf, $list->{'config'}, "subscribe_policy", $in{'subscribe_policy'}.$in{'subscribe_policy_c'});&save_list_directive($conf, $list->{'config'}, "unsubscribe_policy", $in{'unsubscribe_policy'});&save_choice($conf, $list->{'config'}, "welcome");&save_choice($conf, $list->{'config'}, "strip");&save_choice($conf, $list->{'config'}, "announcements");&save_choice($conf, $list->{'config'}, "administrivia");&save_opt($conf, $list->{'config'}, "admin_passwd", \&check_pass);&save_choice($conf, $list->{'config'}, "moderate");&save_opt($conf, $list->{'config'}, "moderator", \&check_email);&save_opt($conf, $list->{'config'}, "approve_passwd", \&check_pass);$in{'owner'} || &error("Missing owner's email address");$in{'approval'} || &error("Missing approval email address");$aliases_files = &get_aliases_file();@aliases = &foreign_call("sendmail", "list_aliases", $aliases_files);foreach $a (@aliases) { $listowner = $a if (lc($a->{'name'}) eq lc("$in{'name'}-owner")); $ownerlist = $a if (lc($a->{'name'}) eq lc("owner-$in{'name'}")); $approval = $a if (lc($a->{'name'}) eq lc("$in{'name'}-approval")); }&foreign_call('sendmail', 'modify_alias', $listowner, { 'name' => "$in{'name'}-owner", 'values' => [ $in{'owner'} ], 'enabled' => 1 }) if ($listowner);&foreign_call('sendmail', 'modify_alias', $ownerlist, { 'name' => "owner-$in{'name'}", 'values' => [ $in{'owner'} ], 'enabled' => 1 }) if ($ownerlist);&foreign_call('sendmail', 'modify_alias', $approval, { 'name' => "$in{'name'}-approval", 'values' => [ $in{'approval'} ], 'enabled' => 1 }) if ($approval);&flush_file_lines();&redirect("edit_list.cgi?name=$in{'name'}", "mailing list");sub check_email{return $_[0] =~ /^\S+$/ ? undef : "Missing or invalid moderator address";}sub check_pass{return $_[0] =~ /^\S+$/ ? undef : "Missing or invalid password";}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -