$_GET['id']) {
$a_separators['sep' . $idx]['row']['0'] = 'fr' . ($seprow - 1);
}
}
if (write_config()) {
mark_subsystem_dirty('natconf');
if ($want_dirty_filter) {
mark_subsystem_dirty('filter');
}
}
header("Location: firewall_nat.php");
exit;
}
}
if (isset($_POST['del_x'])) {
/* delete selected rules */
if (is_array($_POST['rule']) && count($_POST['rule'])) {
$a_separators = &$config['nat']['separator'];
foreach ($_POST['rule'] as $rulei) {
$target = $rule['target'];
// Check for filter rule associations
if (isset($a_nat[$rulei]['associated-rule-id'])) {
delete_id($a_nat[$rulei]['associated-rule-id'], $config['filter']['rule']);
mark_subsystem_dirty('filter');
}
unset($a_nat[$rulei]);
// Update the separators
for ($idx=0; isset($a_separators['sep' . $idx]); $idx++ ) {
$seprow = substr($a_separators['sep' . $idx]['row']['0'], 2);
if ($seprow > $rulei) {
$a_separators['sep' . $idx]['row']['0'] = 'fr' . ($seprow - 1);
}
}
}
if (write_config()) {
mark_subsystem_dirty('natconf');
}
header("Location: firewall_nat.php");
exit;
}
} else if ($_GET['act'] == "toggle") {
if ($a_nat[$_GET['id']]) {
if (isset($a_nat[$_GET['id']]['disabled'])) {
unset($a_nat[$_GET['id']]['disabled']);
} else {
$a_nat[$_GET['id']]['disabled'] = true;
}
if (write_config(gettext("Firewall: NAT: Port forward, enable/disable NAT rule"))) {
mark_subsystem_dirty('natconf');
}
header("Location: firewall_nat.php");
exit;
}
}
$pgtitle = array(gettext("Firewall"), gettext("NAT"), gettext("Port Forward"));
include("head.inc");
if ($savemsg) {
print_info_box($savemsg, 'success');
}
if (is_subsystem_dirty('natconf')) {
print_apply_box(gettext('The NAT configuration has been changed.') . '
' .
gettext('You must apply the changes in order for them to take effect.'));
}
$tab_array = array();
$tab_array[] = array(gettext("Port Forward"), true, "firewall_nat.php");
$tab_array[] = array(gettext("1:1"), false, "firewall_nat_1to1.php");
$tab_array[] = array(gettext("Outbound"), false, "firewall_nat_out.php");
$tab_array[] = array(gettext("NPt"), false, "firewall_nat_npt.php");
display_top_tabs($tab_array);
$columns_in_table = 13;
?>