summaryrefslogtreecommitdiffstats
path: root/usr/local/www
diff options
context:
space:
mode:
authorErik Fonnesbeck <efonnes@gmail.com>2010-11-11 00:43:41 -0700
committerErik Fonnesbeck <efonnes@gmail.com>2010-11-11 00:51:24 -0700
commita5ebdeff9269034cee1291720718202526a1d43d (patch)
tree887b34ad1c4a0d75c00dc8afacf1cc0ea9327e3b /usr/local/www
parentbaaa8bb142f1f86dd7a7e60fe34fc07020fb482e (diff)
downloadpfsense-a5ebdeff9269034cee1291720718202526a1d43d.zip
pfsense-a5ebdeff9269034cee1291720718202526a1d43d.tar.gz
Fix handling of floating rules in the drag and drop reordering code. Fix for part of ticket #878
Diffstat (limited to 'usr/local/www')
-rwxr-xr-xusr/local/www/firewall_rules.php15
1 files changed, 11 insertions, 4 deletions
diff --git a/usr/local/www/firewall_rules.php b/usr/local/www/firewall_rules.php
index 26b9513..b7f990d 100755
--- a/usr/local/www/firewall_rules.php
+++ b/usr/local/www/firewall_rules.php
@@ -87,10 +87,17 @@ if($_REQUEST['dragdroporder']) {
$drag_order = $_REQUEST['dragtable'];
// Next traverse through rules building a new order for interface
for ($i = 0; isset($a_filter[$i]); $i++) {
- if($a_filter[$i]['interface'] <> $_REQUEST['if'])
- $a_filter_unorder[] = $a_filter[$i];
- else
- $a_filter_order_tmp[] = $a_filter[$i];
+ if($_REQUEST['if'] == "FloatingRules") {
+ if(!isset($a_filter[$i]['floating']))
+ $a_filter_unorder[] = $a_filter[$i];
+ else
+ $a_filter_order_tmp[] = $a_filter[$i];
+ } else {
+ if($a_filter[$i]['interface'] <> $_REQUEST['if'] || isset($a_filter[$i]['floating']))
+ $a_filter_unorder[] = $a_filter[$i];
+ else
+ $a_filter_order_tmp[] = $a_filter[$i];
+ }
}
// Reorder rules with the posted order
for ($i = 0; $i<count($drag_order); $i++)
OpenPOWER on IntegriCloud