diff --git a/src/www/interfaces.php b/src/www/interfaces.php index 4715c5bf2..c0c527162 100644 --- a/src/www/interfaces.php +++ b/src/www/interfaces.php @@ -1398,6 +1398,7 @@ include("head.inc"); var name = $('#name').val(); var descr = $('#gatewaydescr').val(); var gatewayip = $('#gatewayip').val(); + var ajaxhelper = "&ajaxip=" + escape($('#ipaddrv6').val()) + "&ajaxnet=" + escape($('#subnetv6').val()); var defaultgw = ""; if ($("#defaultgw").prop('checked')) { defaultgw = "&defaultgw=on"; @@ -1408,7 +1409,7 @@ include("head.inc"); } jQuery.ajax( "system_gateways_edit.php", { type: 'post', - data: 'isAjax=true&ipprotocol=inet' + defaultgw + fargw + '&interface=' + escape(iface) + '&name=' + escape(name) + '&descr=' + escape(descr) + '&gateway=' + escape(gatewayip), + data: 'isAjax=true&ipprotocol=inet' + defaultgw + fargw + ajaxhelper + '&interface=' + escape(iface) + '&name=' + escape(name) + '&descr=' + escape(descr) + '&gateway=' + escape(gatewayip), error: function(request, textStatus, errorThrown){ if (textStatus === "error" && request.getResponseHeader("Content-Type").indexOf("text/plain") === 0) { alert(request.responseText); @@ -1439,13 +1440,14 @@ include("head.inc"); var name = $('#namev6').val(); var descr = $('#gatewaydescrv6').val(); var gatewayip = $('#gatewayipv6').val(); + var ajaxhelper = "&ajaxip=" + escape($('#ipaddrv6').val()) + "&ajaxnet=" + escape($('#subnetv6').val()); var defaultgw = ""; if ($("#defaultgwv6").prop('checked')) { defaultgw = "&defaultgw=on"; } jQuery.ajax( "system_gateways_edit.php", { type: 'post', - data: 'isAjax=true&ipprotocol=inet6' + defaultgw + '&interface=' + escape(iface) + '&name=' + escape(name) + '&descr=' + escape(descr) + '&gateway=' + escape(gatewayip), + data: 'isAjax=true&ipprotocol=inet6' + defaultgw + ajaxhelper + '&interface=' + escape(iface) + '&name=' + escape(name) + '&descr=' + escape(descr) + '&gateway=' + escape(gatewayip), error: function(request, textStatus, errorThrown){ if (textStatus === "error" && request.getResponseHeader("Content-Type").indexOf("text/plain") === 0) { alert(request.responseText); @@ -1843,7 +1845,7 @@ include("head.inc"); - 0; $i--):?> @@ -2367,7 +2369,7 @@ include("head.inc"); - 0; $i--): ?> diff --git a/src/www/system_gateways_edit.php b/src/www/system_gateways_edit.php index f835c644d..4c3ad079a 100644 --- a/src/www/system_gateways_edit.php +++ b/src/www/system_gateways_edit.php @@ -76,8 +76,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (!empty($pconfig['gateway']) && is_ipaddr($pconfig['gateway'])) { if (is_ipaddrv4($pconfig['gateway'])) { - $parent_ip = get_interface_ip($pconfig['interface']); - $parent_sn = get_interface_subnet($pconfig['interface']); + $parent_ip = empty($pconfig['ajaxip']) ? get_interface_ip($pconfig['interface']) : $pconfig['ajaxip']; + $parent_sn = empty($pconfig['ajaxnet']) ? get_interface_subnet($pconfig['interface']) : $pconfig['ajaxip']; if (empty($parent_ip) || empty($parent_sn)) { $input_errors[] = gettext("Cannot add IPv4 Gateway Address because no IPv4 address could be found on the interface."); } else {