mirror of
https://github.com/webmin/webmin.git
synced 2026-05-04 22:30:33 +01:00
ui-lib conversion -> itsecur-firewall/list_rules.cgi
This commit is contained in:
@@ -9,42 +9,65 @@ require './itsecur-lib.pl';
|
||||
print "<hr>\n";
|
||||
|
||||
|
||||
# 0-No. 1-Source,2-Destination, 3-Services, 4-Time, 5-Action, 6-Enabled, 7-Comment
|
||||
local @CW=( "5%", "15%", "15%", "20%", "5%", "5%", "5%", "20%");
|
||||
$C_drop="#FFCCcc";
|
||||
$C_reject="#FFDDAA";
|
||||
$C_accept="";
|
||||
$C_disabled="#FF3333";
|
||||
$C_separator="#ffffcc";
|
||||
# 0-No. 1-Source,2-Destination, 3-Services, 4-Time, 5-Action, 6-Enabled, 7-Comment 8-move
|
||||
my @CW=( "5%", "15%", "15%", "20%", "5%", "10%", "5%", "10%", "2%");
|
||||
my $C_drop="#FFCCcc";
|
||||
my $C_reject="#FFDDAA";
|
||||
my $C_accept="";
|
||||
my $C_disabled="#FF3333";
|
||||
my $C_separator="#ffffcc";
|
||||
|
||||
local $Row_Color="";
|
||||
my $Row_Color="";
|
||||
|
||||
my @rules = &list_rules();
|
||||
my @servs = &list_services();
|
||||
my $edit = &can_edit("rules");
|
||||
my $times = &supports_time() && &list_times() > 0;
|
||||
my $rules_cnt = scalar(@rules);
|
||||
my @links;
|
||||
if ( $rules_cnt > 1 ) {
|
||||
push(@links, &select_all_link("r"));
|
||||
push(@links, &select_invert_link("r"));
|
||||
}
|
||||
if ($edit) {
|
||||
push(@links, &ui_link("edit_rule.cgi?new=1", $text{'rules_add'}) );
|
||||
push(@links, &ui_link("edit_sep.cgi?new=1", $text{'rules_sadd'}) );
|
||||
}
|
||||
|
||||
@rules = &list_rules();
|
||||
@servs = &list_services();
|
||||
$edit = &can_edit("rules");
|
||||
$times = &supports_time() && &list_times() > 0;
|
||||
if (@rules) {
|
||||
if ($edit) {
|
||||
print "<a href='edit_rule.cgi?new=1'>$text{'rules_add'}</a>\n";
|
||||
print " " x 2;
|
||||
print "<a href='edit_sep.cgi?new=1'>$text{'rules_sadd'}</a>\n";
|
||||
print &ui_links_row(\@links);
|
||||
print "<br>\n";
|
||||
print "<form action=enable_rules.cgi method=post>\n";
|
||||
print &ui_form_start("enable_rules.cgi", "post");
|
||||
}
|
||||
$cols = $times ? 8 : 7;
|
||||
print "<table border>\n";
|
||||
print "<tr $tb> ",
|
||||
"<td width=$CW[0]><b>$text{'rule_num'}</b></td> ",
|
||||
"<td width=$CW[1]><b>$text{'rule_source'}</b></td> ",
|
||||
"<td width=$CW[2]><b>$text{'rule_dest'}</b></td> ",
|
||||
"<td width=$CW[3]><b>$text{'rules_service'}</b></td> ",
|
||||
($times ? "<td><b>$text{'rule_time'}</b></td> " : ""),
|
||||
"<td width=$CW[5]><b>$text{'rule_action'}</b></td> ",
|
||||
"<td width=$CW[6]><b>$text{'rule_enabled'}</b></td> ",
|
||||
($config{'show_desc'} ? "<td width=$CW[7]><b>$text{'rules_desc'}</b></td> " :
|
||||
"<td width=10><b>$text{'rules_move'}</b></td>"),
|
||||
"</tr>\n";
|
||||
foreach $r (@rules) {
|
||||
|
||||
my @cols_text = ( "rule_num", "rule_source", "rule_dest",
|
||||
"rules_service", "rule_time",
|
||||
"rule_action", "rule_enabled",
|
||||
"rules_desc", "rules_move" );
|
||||
my @cols_header;
|
||||
my @cols_header_width;
|
||||
my $cols = 0;
|
||||
foreach my $cc (@cols_text) {
|
||||
if ( $cc eq 'rule_time' && !$times ) {
|
||||
$cols++;
|
||||
next;
|
||||
}
|
||||
if ( $cc eq 'rules_desc' && !$config{'show_desc'} ) {
|
||||
$cols++;
|
||||
next;
|
||||
}
|
||||
if ( $cc eq 'rules_move' && $rules_cnt <= 1 ) {
|
||||
$cols++;
|
||||
next;
|
||||
}
|
||||
push(@cols_header, $text{$cc});
|
||||
push(@cols_header_width, "width='".$CW[$cols]."'");
|
||||
$cols++;
|
||||
}
|
||||
print &ui_columns_start(\@cols_header, "100", undef, \@cols_header_width);
|
||||
|
||||
foreach my $r (@rules) {
|
||||
if ($r->{'sep'}){
|
||||
$Row_Color="bgcolor=\"$C_separator\" ";
|
||||
} elsif (!$r->{'enabled'}){
|
||||
@@ -57,93 +80,69 @@ if (@rules) {
|
||||
$Row_Color="";
|
||||
}
|
||||
|
||||
# case('accept') {}
|
||||
# case('allow') {}
|
||||
# case('drop') {}
|
||||
#case('reject') {}
|
||||
#case('ignore') {}
|
||||
|
||||
|
||||
|
||||
print "<tr $Row_Color $cb>\n";
|
||||
if ($r->{'sep'}) {
|
||||
# Actually a separator - just show it's description
|
||||
print "<td colspan=$cols><b><a href='edit_sep.cgi?idx=$r->{'index'}'>$r->{'desc'}</b></a></td>\n";
|
||||
print &ui_columns_row([ &ui_link("edit_sep.cgi?idx=".$r->{'index'},
|
||||
$r->{'desc'}, undef, "style='font-weight:bold;'") ],
|
||||
[ "colspan='".$cols."' ".$Row_Color ] );
|
||||
}
|
||||
else {
|
||||
# Show full rule details
|
||||
my @cols_row;
|
||||
my @cols_row_tag;
|
||||
my $link = &ui_link("edit_rule.cgi?idx=".$r->{'index'}, $r->{'num'});
|
||||
push(@cols_row, ( $edit ? &ui_checkbox("r", $r->{'index'}, " ").$link : $link ) );
|
||||
push(@cols_row, &group_names_link($r->{'source'}, 'rules') );
|
||||
push(@cols_row, &group_names_link($r->{'dest'}, 'rules', ( &allow_action($r) ? 'dest' : undef) ) );
|
||||
push(@cols_row, &protocol_names($r->{'service'},\@servs) );
|
||||
push(@cols_row, ($r->{'time'} eq '*' ? $text{'rule_anytime'} : $r->{'time'} ) ) if ($times);
|
||||
push(@cols_row, $text{'rule_'.$r->{'action'}}." ".($r->{'log'} ? " $text{'rules_log'}" : "") );
|
||||
push(@cols_row, ($r->{'enabled'} ? $text{'yes'} : "<font color=#ff0000>$text{'no'}</font>" ) );
|
||||
|
||||
if ($config{'show_desc'}) {
|
||||
push(@cols_row, ($r->{'desc'} eq "*" ? "" : $r->{'desc'} ) );
|
||||
}
|
||||
if ( $rules_cnt > 1 ) {
|
||||
$link = "";
|
||||
if ($r eq $rules[0] || !$edit) {
|
||||
$link = "<img src=images/gap.gif>";
|
||||
} else {
|
||||
$link = &ui_link("up.cgi?idx=".$r->{'index'}, "<img src=images/up.gif border=0>");
|
||||
}
|
||||
if ($r eq $rules[$#rules] || !$edit) {
|
||||
$link .= "<img src=images/gap.gif>";
|
||||
} else {
|
||||
$link .= &ui_link("down.cgi?idx=".$r->{'index'}, "<img src=images/down.gif border=0>");
|
||||
}
|
||||
push(@cols_row, $link ) if ( $link ne "" );
|
||||
}
|
||||
|
||||
|
||||
print "<td width=$CW[0]>";
|
||||
if ($edit) {
|
||||
print "<input type=checkbox name=r value=$r->{'index'}> ";
|
||||
}
|
||||
print "<a href='edit_rule.cgi?",
|
||||
"idx=$r->{'index'}'>$r->{'num'}</a></td>\n";
|
||||
print "<td width=$CW[1]>",
|
||||
&group_names_link($r->{'source'}, 'rules'),
|
||||
"</td>\n";
|
||||
print "<td width=$CW[2]>",
|
||||
&group_names_link($r->{'dest'}, 'rules',
|
||||
&allow_action($r) ? 'dest' : undef),
|
||||
"</td>\n";
|
||||
print "<td width=$CW[3]>",&protocol_names($r->{'service'},\@servs),"</td>\n";
|
||||
if ($times) {
|
||||
print "<td>",$r->{'time'} eq '*' ?
|
||||
$text{'rule_anytime'} :
|
||||
$r->{'time'},"</td>\n";
|
||||
}
|
||||
print "<td width=$CW[5]>",$text{'rule_'.$r->{'action'}},
|
||||
$r->{'log'} ? " $text{'rules_log'}" : "","</td>\n";
|
||||
print "<td width=$CW[6]>",$r->{'enabled'} ? $text{'yes'} :
|
||||
"<font color=#ff0000>$text{'no'}</font>",
|
||||
"</td>\n";
|
||||
if ($config{'show_desc'}) {
|
||||
print "<td width=$CW[7]>",$r->{'desc'} eq "*" ? "<br>"
|
||||
: $r->{'desc'},"</td>\n";
|
||||
}
|
||||
else {
|
||||
if ($r eq $rules[0] || !$edit) {
|
||||
print "<td><img src=images/gap.gif>\n";
|
||||
}
|
||||
else {
|
||||
print "<td><a href='up.cgi?idx=$r->{'index'}'>",
|
||||
"<img src=images/up.gif border=0></a>\n";
|
||||
}
|
||||
if ($r eq $rules[$#rules] || !$edit) {
|
||||
print "<img src=images/gap.gif></td>\n";
|
||||
}
|
||||
else {
|
||||
print "<a href='down.cgi?idx=$r->{'index'}'>",
|
||||
"<img src=images/down.gif border=0></a></td>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
print "</tr>\n";
|
||||
foreach (@cols_row) {
|
||||
push(@cols_row_tag, $Row_Color );
|
||||
}
|
||||
print &ui_columns_row(\@cols_row, \@cols_row_tag);
|
||||
}
|
||||
print "</table>\n";
|
||||
}
|
||||
print &ui_columns_end();
|
||||
}
|
||||
else {
|
||||
print "<b>$text{'rules_none'}</b><p>\n";
|
||||
}
|
||||
if ($edit) {
|
||||
print "<a href='edit_rule.cgi?new=1'>$text{'rules_add'}</a>\n";
|
||||
print " " x 2;
|
||||
print "<a href='edit_sep.cgi?new=1'>$text{'rules_sadd'}</a>\n";
|
||||
print &ui_links_row(\@links);
|
||||
print "<p>\n";
|
||||
}
|
||||
if ($edit && @rules) {
|
||||
print "<input type=submit name=enable value='$text{'rules_enable'}'>\n";
|
||||
print "<input type=submit name=disable value='$text{'rules_disable'}'>\n";
|
||||
|
||||
print &ui_submit($text{'rules_enable'}, "enable" );
|
||||
print &ui_submit($text{'rules_disable'}, "disable" );
|
||||
print " \n";
|
||||
print "<input type=submit name=logon value='$text{'rules_logon'}'>\n";
|
||||
print "<input type=submit name=logoff value='$text{'rules_logoff'}'>\n";
|
||||
print &ui_submit($text{'rules_logon'}, "logon" );
|
||||
print &ui_submit($text{'rules_logoff'}, "logoff" );
|
||||
print " \n";
|
||||
print "<input type=submit name=delete value='$text{'rules_delete'}'>\n";
|
||||
print "</form>\n";
|
||||
print &ui_submit($text{'rules_delete'}, "delete" );
|
||||
print &ui_form_end(undef,undef,1);
|
||||
}
|
||||
|
||||
print "<hr>\n";
|
||||
print &ui_hr();
|
||||
&footer("", $text{'index_return'});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user