From d173230c708d56ee9857dfff84779be36194d05d Mon Sep 17 00:00:00 2001 From: Seth Mos Date: Fri, 19 Oct 2007 19:10:16 +0000 Subject: Add prelimenary Routing page. Allow multiple gateways on one (static) interface --- usr/local/www/system_gateways.php | 176 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100755 usr/local/www/system_gateways.php (limited to 'usr/local/www/system_gateways.php') diff --git a/usr/local/www/system_gateways.php b/usr/local/www/system_gateways.php new file mode 100755 index 0000000..bca50c4 --- /dev/null +++ b/usr/local/www/system_gateways.php @@ -0,0 +1,176 @@ +. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +require("guiconfig.inc"); + +if (!is_array($config['gateways']['gateway_item'])) + $config['gateways']['gateway_item'] = array(); + +$a_gateways = &$config['gateways']['gateway_item']; +$changedesc = "Gateways: "; + +if ($_POST) { + + $pconfig = $_POST; + + if ($_POST['apply']) { + + $retval = 0; + + $retval = system_routing_configure(); + $retval |= filter_configure(); + + $savemsg = get_std_save_message($retval); + if ($retval == 0) { + if (file_exists($d_staticroutesdirty_path)) { + config_lock(); + unlink($d_staticroutesdirty_path); + config_unlock(); + } + } + } +} + +if ($_GET['act'] == "del") { + if ($a_gateways[$_GET['id']]) { + $changedesc .= "removed gateway {$_GET['id']}"; + unset($a_gateways[$_GET['id']]); + write_config($changedesc); + touch($d_staticroutesdirty_path); + header("Location: system_gateways.php"); + exit; + } +} + +$pgtitle = "System: Gateways"; +include("head.inc"); + +?> + + + +

+
+ + +

+You must apply the changes in order for them to take +effect.");?>
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
NameInterfaceGatewayMonitor IPDescription + + + + + +
+
+ (default)"; + } + ?> + + + 'WAN', 'lan' => 'LAN'); + for ($j = 1; isset($config['interfaces']['opt' . $j]); $j++) + $iflabels['opt' . $j] = $config['interfaces']['opt' . $j]['descr']; + echo htmlspecialchars($iflabels[$gateway['interface']]); ?> + + + +   + +   + + + + + + + + + +
+
+ +
+ + + + + +
+
+

+ + + -- cgit v1.1