summaryrefslogtreecommitdiffstats
path: root/usr/local/www/firewall_nat.php
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2012-10-09 15:07:06 -0400
committerjim-p <jimp@pfsense.org>2012-10-09 15:17:00 -0400
commit3a343d7384fbf78f987e8c4c2d9f307d22c8a072 (patch)
tree4b07c4c6d174a70520ec4ca578ecfe3e94048589 /usr/local/www/firewall_nat.php
parentc9ba2f8a92b0e18b891af2049436d4a3a505f9d9 (diff)
downloadpfsense-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-xusr/local/www/firewall_nat.php23
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;
}
OpenPOWER on IntegriCloud