&can_use_check("score");
&ui_print_header($header_subtext, $text{'score_title'}, "");
$conf = &get_config();
+@plugins = &list_spamassassin_plugins();
print "$text{'score_desc'}<p>\n";
&start_form("save_score.cgi", $text{'score_header'});
print &ui_table_row($text{'score_received'},
&opt_field("num_check_received", $received, 5, 2));
-print &ui_table_hr();
+if (&indexof("Mail::SpamAssassin::Plugin::TextCat", @plugins) >= 0) {
+ print &ui_table_hr();
-# Acceptable languages
-@langs = &find_value("ok_languages", $conf);
-%langs = map { $_, 1 } split(/\s+/, join(" ", @langs));
-$lmode = !@langs ? 2 : $langs{'all'} ? 1 : 0;
-delete($langs{'all'});
-print &ui_table_row($text{'score_langs'},
- &ui_radio("langs_def", $lmode,
- [ [ 2, $text{'default'}." (".$text{'score_langsall'}.")" ],
- [ 1, $text{'score_langsall'} ],
- [ 0, $text{'score_langssel'} ] ])."<br>\n".
- &ui_select("langs", [ keys %langs ],
- [ &list_spamassassin_languages() ], 10, 1, 1));
+ # Acceptable languages
+ @langs = &find_value("ok_languages", $conf);
+ %langs = map { $_, 1 } split(/\s+/, join(" ", @langs));
+ $lmode = !@langs ? 2 : $langs{'all'} ? 1 : 0;
+ delete($langs{'all'});
+ print &ui_table_row($text{'score_langs'},
+ &ui_radio("langs_def", $lmode,
+ [ [ 2, $text{'default'}.
+ " (".$text{'score_langsall'}.")" ],
+ [ 1, $text{'score_langsall'} ],
+ [ 0, $text{'score_langssel'} ] ])."<br>\n".
+ &ui_select("langs", [ keys %langs ],
+ [ &list_spamassassin_languages() ], 10, 1, 1));
-# Acceptable locales
-@locales = &find_value("ok_locales", $conf);
-%locales = map { $_, 1 } split(/\s+/, join(" ", @locales));
-$lmode = !@locales ? 2 : $locales{'all'} ? 1 : 0;
-delete($locales{'all'});
-print &ui_table_row($text{'score_locales'},
- &ui_radio("locales_def", $lmode,
- [ [ 2, $text{'default'}." (".$text{'score_localesall'}.")" ],
- [ 1, $text{'score_localesall'} ],
- [ 0, $text{'score_localessel'} ] ])."<br>\n".
- &ui_select("locales", [ keys %locales ],
- [ &list_spamassassin_locales() ], 5, 1, 1));
+ # Acceptable locales
+ @locales = &find_value("ok_locales", $conf);
+ %locales = map { $_, 1 } split(/\s+/, join(" ", @locales));
+ $lmode = !@locales ? 2 : $locales{'all'} ? 1 : 0;
+ delete($locales{'all'});
+ print &ui_table_row($text{'score_locales'},
+ &ui_radio("locales_def", $lmode,
+ [ [ 2, $text{'default'}.
+ " (".$text{'score_localesall'}.")" ],
+ [ 1, $text{'score_localesall'} ],
+ [ 0, $text{'score_localessel'} ] ])."<br>\n".
+ &ui_select("locales", [ keys %locales ],
+ [ &list_spamassassin_locales() ], 5, 1, 1));
+ }
&end_form(undef, $text{'save'});
&ui_print_footer($redirect_url, $text{'index_return'});
&parse_opt($conf, "rbl_timeout", \&timeout_check);
&parse_opt($conf, "num_check_received", \&received_check);
-if ($in{'langs_def'} == 2) {
- &save_directives($conf, "ok_languages", [ ], 1);
- }
-elsif ($in{'langs_def'} == 1) {
- &save_directives($conf, "ok_languages", [ "all" ], 1);
- }
-else {
- &save_directives($conf, "ok_languages",
- [ join(" ", split(/\0/, $in{'langs'})) ], 1);
+if (defined($in{'langs_def'})) {
+ if ($in{'langs_def'} == 2) {
+ &save_directives($conf, "ok_languages", [ ], 1);
+ }
+ elsif ($in{'langs_def'} == 1) {
+ &save_directives($conf, "ok_languages", [ "all" ], 1);
+ }
+ else {
+ &save_directives($conf, "ok_languages",
+ [ join(" ", split(/\0/, $in{'langs'})) ], 1);
+ }
}
-if ($in{'locales_def'} == 2) {
- &save_directives($conf, "ok_locales", [ ], 1);
- }
-elsif ($in{'locales_def'} == 1) {
- &save_directives($conf, "ok_locales", [ "all" ], 1);
- }
-else {
- &save_directives($conf, "ok_locales",
- [ join(" ", split(/\0/, $in{'locales'})) ], 1);
+if (defined($in{'locales_def'})) {
+ if ($in{'locales_def'} == 2) {
+ &save_directives($conf, "ok_locales", [ ], 1);
+ }
+ elsif ($in{'locales_def'} == 1) {
+ &save_directives($conf, "ok_locales", [ "all" ], 1);
+ }
+ else {
+ &save_directives($conf, "ok_locales",
+ [ join(" ", split(/\0/, $in{'locales'})) ], 1);
+ }
}
&flush_file_lines();