diff options
author | Erik Fonnesbeck <efonnes@gmail.com> | 2010-11-11 00:43:41 -0700 |
---|---|---|
committer | Erik Fonnesbeck <efonnes@gmail.com> | 2010-11-11 00:51:24 -0700 |
commit | a5ebdeff9269034cee1291720718202526a1d43d (patch) | |
tree | 887b34ad1c4a0d75c00dc8afacf1cc0ea9327e3b /usr | |
parent | baaa8bb142f1f86dd7a7e60fe34fc07020fb482e (diff) | |
download | pfsense-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')
-rwxr-xr-x | usr/local/www/firewall_rules.php | 15 |
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++) |