firewall: move rules tabs to menu for #1928

This commit is contained in:
Franco Fichtner 2017-11-19 10:57:22 +01:00
parent 21136e60df
commit c368245d31
3 changed files with 41 additions and 34 deletions

View File

@ -145,11 +145,7 @@
</View>
<Import order="200" url="/firewall_aliases_import.php"/>
</Aliases>
<Rules order="20" url="/firewall_rules.php" cssClass="fa fa-check fa-fw">
<RulesEdit url="/firewall_rules_edit.php*" visibility="hidden"/>
<Floating url="/firewall_rules.php?if=FloatingRules" visibility="hidden"/>
<Interface url="/firewall_rules.php?if=*" visibility="hidden"/>
</Rules>
<Rules order="20" cssClass="fa fa-check fa-fw" />
<NAT order="30" cssClass="fa fa-exchange fa-fw">
<PortForward order="100" VisibleName="Port Forward" url="/firewall_nat.php">
<Edit url="/firewall_nat_edit.php*" visibility="hidden"/>

View File

@ -103,9 +103,9 @@ class MenuSystem
}
}
}
// add interfaces to "Interfaces" menu tab... kind of a hack, may need some improvement.
$ifarr = array();
$config = Config::getInstance()->object();
// add interfaces to "Interfaces" menu tab...
$ifarr = array();
if ($config->interfaces->count() > 0) {
foreach ($config->interfaces->children() as $key => $node) {
if (empty($node->virtual)) {
@ -123,7 +123,37 @@ class MenuSystem
'order' => $ordid++,
));
}
unset($ifarr);
// add interfaces to "Firewall: Rules" menu tab...
if ($config->interfaces->count() > 0) {
foreach ($config->interfaces->children() as $key => $node) {
if (isset($node->enable)) {
$fwarr[$key] = !empty($node->descr) ? (string)$node->descr : strtoupper($key);
}
}
}
natcasesort($fwarr);
$fwarr = array_merge(array('FloatingRules' => gettext('Floating')), $fwarr);
$ordid = 0;
foreach ($fwarr as $key => $descr) {
$this->appendItem('Firewall.Rules', $key, array(
'url' => '/firewall_rules.php?if='. $key,
'visiblename' => $descr,
'order' => $ordid++,
));
$this->appendItem('Firewall.Rules.' . $key, 'Add' . $key, array(
'url' => '/firewall_rules_edit.php?if='. $key,
'visibility' => 'hidden',
));
$this->appendItem('Firewall.Rules.' . $key, 'Edit' . $key, array(
'url' => '/firewall_rules_edit.php?if=' . $key . '&id=*',
'visibility' => 'hidden',
));
$this->appendItem('Firewall.Rules.' . $key, 'Clone' . $key, array(
'url' => '/firewall_rules_edit.php?if=' . $key . '&dup=*',
'visibility' => 'hidden',
));
}
}
/**

View File

@ -275,25 +275,6 @@ $( document ).ready(function() {
<?php print_info_box_apply(gettext("The firewall rule configuration has been changed.<br />You must apply the changes in order for them to take effect."));?>
<?php endif; ?>
<section class="col-xs-12">
<?php
// create tabs per interface + floating
$iflist_tabs = array();
$iflist_tabs['FloatingRules'] = 'Floating';
foreach (legacy_config_get_interfaces(array("enable" => true)) as $if => $ifdetail) {
$iflist_tabs[$if] = strtoupper($ifdetail['descr']);
}
$tab_array = array();
foreach ($iflist_tabs as $ifent => $ifname) {
$active = false;
// mark active if selected or mark floating active when none is selected
if ($ifent == $selected_if) {
$active = true;
}
$tab_array[] = array($ifname, $active, "firewall_rules.php?if={$ifent}");
}
display_top_tabs($tab_array);
?>
<div class="content-box">
<form action="firewall_rules.php?if=<?=$selected_if;?>" method="post" name="iform" id="iform">
<input type="hidden" id="id" name="id" value="" />
@ -618,17 +599,17 @@ $( document ).ready(function() {
// if for some reason (broken config) a rule is in there which doesn't have a related nat rule
// make sure we are able to delete it.
if (isset($filterent['type'])):?>
<a href="firewall_rules_edit.php?id=<?=$i;?>" data-toggle="tooltip" title="<?=gettext("edit rule");?>" class="btn btn-default btn-xs">
<a href="firewall_rules_edit.php?if=<?=$selected_if;?>&id=<?=$i;?>" data-toggle="tooltip" title="<?=gettext("Edit rule");?>" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-pencil"></span>
</a>
<?php
endif;?>
<a id="del_<?=$i;?>" title="<?=gettext("delete rule"); ?>" data-toggle="tooltip" class="act_delete btn btn-default btn-xs">
<a id="del_<?=$i;?>" title="<?=gettext("Delete rule"); ?>" data-toggle="tooltip" class="act_delete btn btn-default btn-xs">
<span class="fa fa-trash text-muted"></span>
</a>
<?php
if (isset($filterent['type'])):?>
<a href="firewall_rules_edit.php?dup=<?=$i;?>" class="btn btn-default btn-xs" data-toggle="tooltip" title="<?=gettext("clone rule");?>">
<a href="firewall_rules_edit.php?if=<?=$selected_if;?>&dup=<?=$i;?>" class="btn btn-default btn-xs" data-toggle="tooltip" title="<?=gettext("Clone rule");?>">
<span class="fa fa-clone text-muted"></span>
</a>
<?php
@ -657,7 +638,7 @@ $( document ).ready(function() {
<?php endif; ?>
<tr>
<td colspan="5">
<select class="selectpicker" data-live-search="true" data-size="5" multiple placeholder="<?=gettext("select category");?>" id="fw_category">
<select class="selectpicker" data-live-search="true" data-size="5" multiple placeholder="<?=gettext("Select category");?>" id="fw_category">
<?php
// collect unique list of categories and append to option list
$categories = array();
@ -674,13 +655,13 @@ $( document ).ready(function() {
</td>
<td colspan="5" class="hidden-xs hidden-sm"></td>
<td>
<a type="submit" id="move_<?=$i;?>" name="move_<?=$i;?>_x" data-toggle="tooltip" title="<?=gettext("move selected rules to end");?>" class="act_move btn btn-default btn-xs">
<a type="submit" id="move_<?=$i;?>" name="move_<?=$i;?>_x" data-toggle="tooltip" title="<?=gettext("Move selected rules to end");?>" class="act_move btn btn-default btn-xs">
<span class="glyphicon glyphicon-arrow-left"></span>
</a>
<a id="del_x" title="<?=gettext("delete selected rules"); ?>" data-toggle="tooltip" class="act_delete btn btn-default btn-xs">
<a id="del_x" title="<?=gettext("Delete selected rules"); ?>" data-toggle="tooltip" class="act_delete btn btn-default btn-xs">
<span class="fa fa-trash text-muted"></span>
</a>
<a href="firewall_rules_edit.php?if=<?=$selected_if;?>" class="btn btn-default btn-xs" data-toggle="tooltip" title="<?=gettext("add new rule");?>">
<a href="firewall_rules_edit.php?if=<?=$selected_if;?>" class="btn btn-default btn-xs" data-toggle="tooltip" title="<?=gettext("Add new rule");?>">
<span class="glyphicon glyphicon-plus"></span>
</a>
</td>