diff options
author | jim-p <jimp@pfsense.org> | 2012-10-09 15:07:06 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2012-10-09 15:17:00 -0400 |
commit | 3a343d7384fbf78f987e8c4c2d9f307d22c8a072 (patch) | |
tree | 4b07c4c6d174a70520ec4ca578ecfe3e94048589 /usr/local/www/firewall_nat.php | |
parent | c9ba2f8a92b0e18b891af2049436d4a3a505f9d9 (diff) | |
download | pfsense-3a343d7384fbf78f987e8c4c2d9f307d22c8a072.zip pfsense-3a343d7384fbf78f987e8c4c2d9f307d22c8a072.tar.gz |
Refine saving/applying on more pages - don't show apply or take an action unless the user is allowed to do that.
Diffstat (limited to 'usr/local/www/firewall_nat.php')
-rwxr-xr-x | usr/local/www/firewall_nat.php | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/usr/local/www/firewall_nat.php b/usr/local/www/firewall_nat.php index b9eb91a..75d675d 100755 --- a/usr/local/www/firewall_nat.php +++ b/usr/local/www/firewall_nat.php @@ -82,13 +82,18 @@ if ($_POST) { if ($_GET['act'] == "del") { if ($a_nat[$_GET['id']]) { + if (isset($a_nat[$_GET['id']]['associated-rule-id'])) { delete_id($a_nat[$_GET['id']]['associated-rule-id'], $config['filter']['rule']); - mark_subsystem_dirty('filter'); + $want_dirty_filter = true; } unset($a_nat[$_GET['id']]); - write_config(); - mark_subsystem_dirty('natconf'); + + if (write_config()) { + mark_subsystem_dirty('natconf'); + if ($want_dirty_filter) + mark_subsystem_dirty('filter'); + } header("Location: firewall_nat.php"); exit; } @@ -107,10 +112,10 @@ if (isset($_POST['del_x'])) { } unset($a_nat[$rulei]); } - write_config(); - mark_subsystem_dirty('natconf'); - header("Location: firewall_nat.php"); - exit; + if (write_config()) + mark_subsystem_dirty('natconf'); + header("Location: firewall_nat.php"); + exit; } } else { @@ -150,8 +155,8 @@ if (isset($_POST['del_x'])) { $a_nat_new[] = $a_nat[$i]; } $a_nat = $a_nat_new; - write_config(); - mark_subsystem_dirty('natconf'); + if (write_config()) + mark_subsystem_dirty('natconf'); header("Location: firewall_nat.php"); exit; } |