\n";
+print &ui_hr();
+print &ui_form_start("save_rule.cgi", "post");
+print &ui_hidden("new", $in{'new'});
+print &ui_hidden("idx", $in{'idx'});
+print &ui_hidden("insert", $in{'insert'});
+print &ui_table_start($text{'rule_header'}, undef, 2);
# Show comment
-print " | $text{'rule_desc'} | \n";
-printf " | \n",
- $rule->{'desc'} eq "*" ? "" : $rule->{'desc'};
-
+print &ui_table_row($text{'rule_desc'},
+ &ui_textbox("desc", ($rule->{'desc'} eq "*" ? "" : $rule->{'desc'}), 60),undef,
+ ["valign=middle","valign=middle"]);
+
# Show source and destination
foreach $s ('source', 'dest') {
$not = ($rule->{$s} =~ s/^!//g);
@@ -46,27 +43,14 @@ foreach $s ('source', 'dest') {
$rule->{$s} =~ /^\%/ ? 3 : 1;
# Any address options
- print " | ",$text{'rule_'.$s},
- " | \n";
- print "\n";
- print "| ";
- printf " %s\n",
- $sm == 0 ? "checked" : "",
- $text{'rule_anywhere'};
- print " | \n";
+ print &ui_table_row($text{'rule_'.$s},
+ &ui_oneradio(${s}."_mode", 0, $text{'rule_anywhere'}, ($sm == 0 ? 1 : 0 ))." ".
# Specific host option
- print "| ";
- printf " %s\n",
- $sm == 1 ? "checked" : "", $text{'rule_host'};
- print " | ";
- printf "\n",
- $sm == 1 ? $rule->{$s} : "";
- print "$text{'rule_named'}\n";
- print " \n";
- print " ",
- "$text{'rule_resolv'}\n";
- print " | \n";
+ &ui_oneradio(${s}."_mode", 1, $text{'rule_host'}, ($sm == 1 ? 1 : 0))." ".
+ &ui_textbox(${s}."_host", ($sm == 1 ? $rule->{$s} : ""), 30)." ".$text{'rule_named'}." ".
+ &ui_textbox(${s}."_name", undef, 15)." ".
+ &ui_checkbox(${s}."_resolv", 1, $text{'rule_resolv'}), undef, ["valign=top","valign=middle"] );
# Host group option
local $gv;
@@ -76,117 +60,80 @@ foreach $s ('source', 'dest') {
}
$gi = &group_input("${s}_group", $gv, 0, 1);
if ($gi || $sm == 2) {
- print "| ";
- printf " %s\n",
- $sm == 2 ? "checked" : "", $text{'rule_group'};
- print " | ";
- print $gi;
- print " | \n";
+ print &ui_table_row(" ",
+ &ui_oneradio(${s}."_mode", 2, $text{'rule_group'}, ($sm == 2 ? 1 : 0))." ".
+ $gi);
}
# Interface option
$ii = &iface_input("${s}_iface",
$rule->{$s} =~ /^\%(.*)$/ ? $1 : undef);
if ($ii || $sm == 3) {
- print "| ";
- printf " %s\n",
- $sm == 3 ? "checked" : "", $text{'rule_iface'};
- print " | ";
- print $ii;
- print " | \n";
+ print &ui_table_row(" ",
+ &ui_oneradio(${s}."_mode", 3, $text{'rule_iface'}, ($sm == 3 ? 1 : 0))." ".
+ $ii);
}
-
- print " \n";
- print " | \n";
- #printf " %s\n",
- # $not ? "checked" : "", $text{'rule_not'};
- print " | \n";
- }
+}
# Show service
$not = ($rule->{'service'} =~ s/^!//g);
-print " | $text{'rule_service'} | \n";
-printf " %s\n",
- $rule->{'service'} eq '*' ? "checked" : "", $text{'rule_anyserv'};
-printf " %s \n",
- $rule->{'service'} eq '*' ? "" : "checked", $text{'rule_oneserv'};
-print &service_input("service",
- $rule->{'service'} eq '*' ? undef : $rule->{'service'},
- 0, 1);
-print " | \n";
-#printf " %s\n",
-# $not ? "checked" : "", $text{'rule_not'};
-print " | \n";
+print &ui_table_row($text{'rule_service'},
+ &ui_radio("service_mode", ( $rule->{'service'} eq '*' ? 0 : 1 ),
+ [ [ 0, $text{'rule_anyserv'} ], [1, $text{'rule_oneserv'}] ]) );
+print &ui_table_row(" ",
+ &service_input("service", $rule->{'service'} eq '*' ? undef : $rule->{'service'}, 0, 1) );
+
# Show action upon match
-print " | $text{'rule_action'} | \n";
-print &action_input("action", $rule->{'action'});
-print " | \n";
-printf " %s\n",
- $rule->{'log'} ? 'checked' : '', $text{'rule_log'};
-print " | \n";
+print &ui_table_row($text{'rule_action'},
+ &action_input("action", $rule->{'action'}).
+ " — ".&ui_checkbox("log", 1, $text{'rule_log'}, ($rule->{'log'} ? 1 : 0) )
+ );
+
# Show time that this rule applies
$inp = &time_input("time", $rule->{'time'} eq "*" ? undef : $rule->{'time'});
if ($inp) {
- print " | $text{'rule_time'} | ";
- printf " %s\n",
- $rule->{'time'} eq "*" ? "checked" : "", $text{'rule_anytime'};
- printf " %s\n",
- $rule->{'time'} eq "*" ? "" : "checked", $text{'rule_seltime'};
- print $inp;
- print " | \n";
+ print &ui_table_row($text{'rule_time'},
+ &ui_radio("time_def", ( $rule->{'time'} eq '*' ? 1 : 0 ),
+ [ [ 1, $text{'rule_anytime'} ], [0, $text{'rule_seltime'}] ]).$inp);
}
else {
- print "\n";
+ print &ui_hidden("time_def",1);
}
# Show enabled flag
-print " | $text{'rule_enabled'} | \n";
-printf " %s\n",
- $rule->{'enabled'} ? "checked" : "", $text{'yes'};
-printf " %s\n",
- $rule->{'enabled'} ? "" : "checked", $text{'no'};
-print " | \n";
+print &ui_table_row($text{'rule_enabled'},
+ &ui_yesno_radio("enabled", ( $rule->{'enabled'} ? 1 : 0 ), 1, 0) );
# Show input for position of rule
-print " | $text{'rule_atpos'} | \n";
-print " | \n";
+push(@sel, [ -1, $text{'rule_end'}, ($in{'new'} || $rule eq $rules[$#rules] ? "selected" : "") ] );
+print &ui_table_row($text{'rule_atpos'}, &ui_select("pos", undef, \@sel, 1) );
-print " |