More ui-lib conversion
authorJamie Cameron <jcameron@webmin.com>
Fri, 23 Jan 2009 21:20:52 +0000 (21:20 +0000)
committerJamie Cameron <jcameron@webmin.com>
Fri, 23 Jan 2009 21:20:52 +0000 (21:20 +0000)
spam/edit_header.cgi
spam/edit_simple.cgi
spam/edit_user.cgi
spam/spam-lib.pl

index 7db2eb8..ef52fb6 100755 (executable)
@@ -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'}<p>\n";
 &start_form("save_header.cgi", $text{'header_header'}."\n".
-                      "(<a href=edit_simple.cgi>$text{'header_switch'}</a>)");
+           "<a href='edit_simple.cgi?file=".&urlize($in{'file'}).
+           "&title=".&urlize($in{'title'}).
+           "'>$text{'header_switch'}</a>");
 
 if (!$module_info{'usermin'}) {
        print "<tr> <td><b>$text{'header_allow'}</b></td> <td nowrap colspan=3>";
@@ -73,7 +77,7 @@ print "<tr> <td valign=top><b>$text{'score_describe'}</b></td> <td colspan=3>\n"
 print "</td> </tr>\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
index 6d066c4..d890057 100755 (executable)
@@ -9,21 +9,22 @@ require './spam-lib.pl';
 $conf = &get_config();
 
 print "$text{'simple_desc'}<p>\n";
-&start_form("save_simple.cgi", $text{'simple_header'}."\n".
-                      "(<a href=edit_header.cgi>$text{'simple_switch'}</a>)");
-print "<tr> <td>\n";
+&start_form("save_simple.cgi", "post",
+           "<a href='edit_header.cgi?file=".&urlize($in{'file'}).
+           "&title=".&urlize($in{'title'}).
+           "'>$text{'simple_switch'}</a>");
 
 # 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 "</td> </tr>\n";
 &end_form(undef, $text{'save'});
 &ui_print_footer($redirect_url, $text{'index_return'});
 
index 8a4fc98..0cc7fad 100755 (executable)
@@ -12,86 +12,83 @@ $conf = &get_config();
 print "$text{'user_desc'}<p>\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 "<tr> <td><b>$text{'user_dns'}</b></td> <td nowrap>\n";
-printf "<input type=radio name=dns value=1 %s> %s\n",
-       $dns eq 'yes' ? "checked" : "", $text{'yes'};
-printf "<input type=radio name=dns value=0 %s> %s\n",
-       $dns eq 'no' ? "checked" : "", $text{'no'};
-if (!$config{'defaults'}) {
-       printf "<input type=radio name=dns value=-1 %s> %s (%s)\n",
-               !$dns ? "checked" : "", $text{'default'}, $text{'user_dnstest'};
-       }
-printf "<input type=radio name=dns value=2 %s> %s\n",
-       $dns =~ /^test/ ? "checked" : "", $text{'user_dnslist'};
-printf "<input name=dnslist size=30 value='%s'></td> </tr>\n",
-       $dns =~ /^test:\s*(.*)/ ? $1 : "";
-
-print "<tr> <td colspan=2><hr></td> </tr>\n";
-
-print "<tr> <td><b>$text{'user_razor'}</b></td> <td nowrap>\n";
+@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));
+
+
+# Use razor?
 $razor = &find("razor_timeout", $conf);
-&opt_field("razor_timeout", $razor, 5, 10);
-print "</td> </tr>\n";
+print &ui_table_row($text{'user_razor'},
+       &opt_field("razor_timeout", $razor, 5, 10));
 
-print "<tr> <td colspan=2><hr></td> </tr>\n";
+print &ui_table_hr();
 
-print "<tr> <td><b>$text{'user_dcc'}</b></td> <td>\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 "</td> </tr>\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 "<tr> <td><b>$text{'user_bodymax'}</b></td> <td nowrap>\n";
+# Maximum body size for DCC
 $bodymax = &find("dcc_body_max", $conf);
-&opt_field("dcc_body_max", $bodymax, 6, 999999);
-print "</td> </tr>\n";
+print &ui_table_row($text{'user_bodymax'},
+       &opt_field("dcc_body_max", $bodymax, 6, 999999));
 
-print "<tr> <td><b>$text{'user_timeout'}</b></td> <td nowrap>\n";
+# DCC command timeout
 $timeout = &find("dcc_timeout", $conf);
-&opt_field("dcc_timeout", $timeout, 5, 10);
-print "</td> </tr>\n";
+print &ui_table_row($text{'user_timeout'},
+       &opt_field("dcc_timeout", $timeout, 5, 10));
 
-print "<tr> <td><b>$text{'user_fuz1max'}</b></td> <td nowrap>\n";
+# DCC fuzl?
 $fuz1max = &find("dcc_fuz1_max", $conf);
-&opt_field("dcc_fuz1_max", $fuz1max, 6, 999999);
-print "</td> </tr>\n";
+print &ui_table_row($text{'user_fuz1max'},
+       &opt_field("dcc_fuz1_max", $fuz1max, 6, 999999));
 
-print "<tr> <td><b>$text{'user_fuz2max'}</b></td> <td nowrap>\n";
 $fuz2max = &find("dcc_fuz2_max", $conf);
-&opt_field("dcc_fuz2_max", $fuz2max, 6, 999999);
-print "</td> </tr>\n";
+print &ui_table_row($text{'user_fuz2max'},
+       &opt_field("dcc_fuz2_max", $fuz2max, 6, 999999));
 
 if (!&version_atleast(3)) {
-       print "<tr> <td><b>$text{'user_dheader'}</b></td> <td nowrap>\n";
+       # Add DCC header?
        $dheader = &find("dcc_add_header", $conf);
-       &yes_no_field("dcc_add_header", $dheader, 0);
-       print "</td> </tr>\n";
+       print &ui_table_row($text{'user_dheader'},
+               &yes_no_field("dcc_add_header", $dheader, 0));
        }
 
-print "<tr> <td colspan=2><hr></td> </tr>\n";
+print &ui_table_hr();
 
-print "<tr> <td><b>$text{'user_pyzor'}</b></td> <td>\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 "</td> </tr>\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 "<tr> <td><b>$text{'user_pbodymax'}</b></td> <td nowrap>\n";
+# Maximum Pyzor body size
 $pbodymax = &find("pyzor_body_max", $conf);
-&opt_field("pyzor_body_max", $pbodymax, 6, 999999);
-print "</td> </tr>\n";
+print &ui_table_row($text{'user_pbodymax'},
+       &opt_field("pyzor_body_max", $pbodymax, 6, 999999));
 
-print "<tr> <td><b>$text{'user_ptimeout'}</b></td> <td nowrap>\n";
+# Pyzor command timeout
 $ptimeout = &find("pyzor_timeout", $conf);
-&opt_field("pyzor_timeout", $ptimeout, 5, 10);
-print "</td> </tr>\n";
+print &ui_table_row($text{'user_ptimeout'},
+       &opt_field("pyzor_timeout", $ptimeout, 5, 10));
 
-print "<tr> <td><b>$text{'user_pheader'}</b></td> <td nowrap>\n";
+# Add Pyzor header?
 $pheader = &find("pyzor_add_header", $conf);
-&yes_no_field("pyzor_add_header", $pheader, 0);
-print "</td> </tr>\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'});
index b23f427..bdce349 100644 (file)
@@ -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;
 }