diff --git a/spam/edit_header.cgi b/spam/edit_header.cgi
index 7db2eb8d7..ef52fb66b 100755
--- a/spam/edit_header.cgi
+++ b/spam/edit_header.cgi
@@ -3,13 +3,17 @@
# Display extra header and body test
require './spam-lib.pl';
+&ReadParse();
+&set_config_file_in(\%in);
&can_use_check("header");
&ui_print_header(undef, $text{'header_title'}, "");
$conf = &get_config();
print "$text{'header_desc'}
\n";
&start_form("save_header.cgi", $text{'header_header'}."\n".
- "($text{'header_switch'})");
+ "$text{'header_switch'}");
if (!$module_info{'usermin'}) {
print "
| $text{'header_allow'} | ";
@@ -73,7 +77,7 @@ print " |
| $text{'score_describe'} | \n"
print " |
\n";
&end_form(undef, $text{'save'});
-&ui_print_footer("", $text{'index_return'});
+&ui_print_footer($redirect_url, $text{'index_return'});
# header_conv(col, name, size, value, &values)
sub header_conv
diff --git a/spam/edit_simple.cgi b/spam/edit_simple.cgi
index 6d066c4f5..d8900573d 100755
--- a/spam/edit_simple.cgi
+++ b/spam/edit_simple.cgi
@@ -9,21 +9,22 @@ require './spam-lib.pl';
$conf = &get_config();
print "$text{'simple_desc'}\n";
-&start_form("save_simple.cgi", $text{'simple_header'}."\n".
- "($text{'simple_switch'})");
-print "
| \n";
+&start_form("save_simple.cgi", "post",
+ "$text{'simple_switch'}");
# Find the tests we can handle
@simples = &get_simple_tests($conf);
-print &ui_columns_start([ $text{'simple_name'},
+$table = &ui_columns_start([ $text{'simple_name'},
$text{'simple_for'},
$text{'simple_regexp'},
$text{'simple_score'},
- $text{'simple_describe'} ], "100");
+ $text{'simple_describe'} ], 100);
$i = 0;
foreach $s (@simples, { }, { }, { }) {
- print &ui_columns_row([
+ $table .= &ui_columns_row([
&ui_textbox("name_$i", $s->{'name'}, 20),
&ui_select("header_$i", $s->{'header'},
[ [ "subject", "Subject: header" ],
@@ -42,9 +43,9 @@ foreach $s (@simples, { }, { }, { }) {
]);
$i++;
}
-print &ui_columns_end();
+$table .= &ui_columns_end();
+print &ui_table_row(undef, $table, 2);
-print " |
\n";
&end_form(undef, $text{'save'});
&ui_print_footer($redirect_url, $text{'index_return'});
diff --git a/spam/edit_user.cgi b/spam/edit_user.cgi
index 8a4fc983c..0cc7fad86 100755
--- a/spam/edit_user.cgi
+++ b/spam/edit_user.cgi
@@ -12,86 +12,83 @@ $conf = &get_config();
print "$text{'user_desc'}\n";
&start_form("save_user.cgi", $text{'user_header'});
+# Do DNS lookups?
$dns = lc(&find_value("dns_available", $conf));
$dns = "test" if (!$dns && $config{'defaults'});
-print "
| $text{'user_dns'} | \n";
-printf " %s\n",
- $dns eq 'yes' ? "checked" : "", $text{'yes'};
-printf " %s\n",
- $dns eq 'no' ? "checked" : "", $text{'no'};
-if (!$config{'defaults'}) {
- printf " %s (%s)\n",
- !$dns ? "checked" : "", $text{'default'}, $text{'user_dnstest'};
- }
-printf " %s\n",
- $dns =~ /^test/ ? "checked" : "", $text{'user_dnslist'};
-printf " |
\n",
- $dns =~ /^test:\s*(.*)/ ? $1 : "";
+@dnsopts = ( [ 1, $text{'yes'} ],
+ [ 0, $text{'no'} ],
+ !$config{'defaults'} ? ( [ -1, $text{'default'}.
+ " (".$text{'user_dnstest'}.")" ] ) : ( ),
+ [ 2, $text{'user_dnslist'} ] );
+print &ui_table_row($text{'user_dns'},
+ &ui_radio("dns", $dns eq 'yes' ? 1 :
+ $dns eq 'no' ? 0 :
+ !$dns ? -1 :
+ $dns =~ /^test/ ? 2 : 3, \@dnsopts).
+ &ui_textbox("dnslist", $dns =~ /^test:\s*(.*)/ ? $1 : "", 30));
-print "
|
\n";
-print " | $text{'user_razor'} | \n";
+# Use razor?
$razor = &find("razor_timeout", $conf);
-&opt_field("razor_timeout", $razor, 5, 10);
-print " |
\n";
+print &ui_table_row($text{'user_razor'},
+ &opt_field("razor_timeout", $razor, 5, 10));
-print "
|
\n";
+print &ui_table_hr();
-print " | $text{'user_dcc'} | \n";
+# DCC command
$dcc = &find("dcc_path", $conf);
-&opt_field("dcc_path", $dcc, 40, $text{'user_inpath'}, 1);
-print &file_chooser_button("dcc_path", 0);
-print " |
\n";
+print &ui_table_row($text{'user_dcc'},
+ &opt_field("dcc_path", $dcc, 40, $text{'user_inpath'}, 1)." ".
+ &file_chooser_button("dcc_path", 0));
-print " | $text{'user_bodymax'} | \n";
+# Maximum body size for DCC
$bodymax = &find("dcc_body_max", $conf);
-&opt_field("dcc_body_max", $bodymax, 6, 999999);
-print " |
\n";
+print &ui_table_row($text{'user_bodymax'},
+ &opt_field("dcc_body_max", $bodymax, 6, 999999));
-print " | $text{'user_timeout'} | \n";
+# DCC command timeout
$timeout = &find("dcc_timeout", $conf);
-&opt_field("dcc_timeout", $timeout, 5, 10);
-print " |
\n";
+print &ui_table_row($text{'user_timeout'},
+ &opt_field("dcc_timeout", $timeout, 5, 10));
-print " | $text{'user_fuz1max'} | \n";
+# DCC fuzl?
$fuz1max = &find("dcc_fuz1_max", $conf);
-&opt_field("dcc_fuz1_max", $fuz1max, 6, 999999);
-print " |
\n";
+print &ui_table_row($text{'user_fuz1max'},
+ &opt_field("dcc_fuz1_max", $fuz1max, 6, 999999));
-print " | $text{'user_fuz2max'} | \n";
$fuz2max = &find("dcc_fuz2_max", $conf);
-&opt_field("dcc_fuz2_max", $fuz2max, 6, 999999);
-print " |
\n";
+print &ui_table_row($text{'user_fuz2max'},
+ &opt_field("dcc_fuz2_max", $fuz2max, 6, 999999));
if (!&version_atleast(3)) {
- print " | $text{'user_dheader'} | \n";
+ # Add DCC header?
$dheader = &find("dcc_add_header", $conf);
- &yes_no_field("dcc_add_header", $dheader, 0);
- print " |
\n";
+ print &ui_table_row($text{'user_dheader'},
+ &yes_no_field("dcc_add_header", $dheader, 0));
}
-print "
|
\n";
+print &ui_table_hr();
-print " | $text{'user_pyzor'} | \n";
+# Pyzor command
$pyzor = &find("pyzor_path", $conf);
-&opt_field("pyzor_path", $pyzor, 40, $text{'user_inpath'}, 1);
-print &file_chooser_button("pyzor_path", 0);
-print " |
\n";
+print &ui_table_row($text{'user_pyzor'},
+ &opt_field("pyzor_path", $pyzor, 40, $text{'user_inpath'}, 1)." ".
+ &file_chooser_button("pyzor_path", 0));
-print " | $text{'user_pbodymax'} | \n";
+# Maximum Pyzor body size
$pbodymax = &find("pyzor_body_max", $conf);
-&opt_field("pyzor_body_max", $pbodymax, 6, 999999);
-print " |
\n";
+print &ui_table_row($text{'user_pbodymax'},
+ &opt_field("pyzor_body_max", $pbodymax, 6, 999999));
-print " | $text{'user_ptimeout'} | \n";
+# Pyzor command timeout
$ptimeout = &find("pyzor_timeout", $conf);
-&opt_field("pyzor_timeout", $ptimeout, 5, 10);
-print " |
\n";
+print &ui_table_row($text{'user_ptimeout'},
+ &opt_field("pyzor_timeout", $ptimeout, 5, 10));
-print " | $text{'user_pheader'} | \n";
+# Add Pyzor header?
$pheader = &find("pyzor_add_header", $conf);
-&yes_no_field("pyzor_add_header", $pheader, 0);
-print " |
\n";
+print &ui_table_row($text{'user_pheader'},
+ &yes_no_field("pyzor_add_header", $pheader, 0));
&end_form(undef, $text{'save'});
&ui_print_footer($redirect_url, $text{'index_return'});
diff --git a/spam/spam-lib.pl b/spam/spam-lib.pl
index b23f42701..bdce349e9 100644
--- a/spam/spam-lib.pl
+++ b/spam/spam-lib.pl
@@ -419,12 +419,12 @@ sub default_parsefunc
return $_[1] ? join(" ", @_[1..$#_]) : undef;
}
-# start_form(cgi, header)
+# start_form(cgi, header, [right-header])
sub start_form
{
-local ($cgi, $header) = @_;
+local ($cgi, $header, $right) = @_;
print &ui_form_start($cgi, "post");
-print &ui_table_start($header, "width=100%", 2);
+print &ui_table_start($header, "width=100%", 2, undef, $right);
print $form_hiddens;
}