From f7deb7b9f8301544202a960fdc520f0d3ba5e891 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Thu, 31 Dec 2015 17:31:46 +0100 Subject: [PATCH] (legacy) refactor interfaces_vlan.php, still some edit pages to go... --- src/www/interfaces_vlan.php | 257 +++++++++++++++++++----------------- 1 file changed, 134 insertions(+), 123 deletions(-) diff --git a/src/www/interfaces_vlan.php b/src/www/interfaces_vlan.php index c309331c9..7b2fb7eb3 100644 --- a/src/www/interfaces_vlan.php +++ b/src/www/interfaces_vlan.php @@ -1,151 +1,162 @@ . - All rights reserved. + Copyright (C) 2014-2015 Deciso B.V. + Copyright (C) 2003-2004 Manuel Kasper . + All rights reserved. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: + 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. + 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. + 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. + 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_once("guiconfig.inc"); require_once("interfaces.inc"); -if (!is_array($config['vlans'])) { - $config['vlans'] = array(); + +function vlan_inuse($vlan_intf) { + global $config; + foreach ($config['interfaces'] as $if => $intf) { + if ($intf['if'] == $vlan_intf) { + return true; + } + } + return false; } -if (!is_array($config['vlans']['vlan'])) { - $config['vlans']['vlan'] = array(); +if (!isset($config['vlans']['vlan']) || !is_array($config['vlans']['vlan'])) { + $a_vlans = array(); +} else { + $a_vlans = &$config['vlans']['vlan'] ; } -$a_vlans = &$config['vlans']['vlan'] ; +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + if (!empty($a_vlans[$_POST['id']])) { + $id = $_POST['id']; + } -function vlan_inuse($num) { - global $config, $a_vlans; - - $iflist = get_configured_interface_list(false, true); - foreach ($iflist as $if) { - if ($config['interfaces'][$if]['if'] == $a_vlans[$num]['vlanif']) - return true; - } - - return false; -} - -if ($_GET['act'] == "del") { - if (!isset($_GET['id'])) - $input_errors[] = gettext("Wrong parameters supplied"); - else if (empty($a_vlans[$_GET['id']])) - $input_errors[] = gettext("Wrong index supplied"); - /* check if still in use */ - else if (vlan_inuse($_GET['id'])) { - $input_errors[] = gettext("This VLAN cannot be deleted because it is still being used as an interface."); - } else { - if (does_interface_exist($a_vlans[$_GET['id']]['vlanif'])) { - legacy_interface_destroy($a_vlans[$_GET['id']]['vlanif']); - } - unset($a_vlans[$_GET['id']]); - - write_config(); - - header("Location: interfaces_vlan.php"); - exit; - } + if (!empty($_POST['action']) && $_POST['action'] == "del" && isset($id)) { + if (vlan_inuse($a_vlans[$id])) { + $input_errors[] = gettext("This VLAN cannot be deleted because it is still being used as an interface."); + } else { + if (does_interface_exist($a_vlans[$id]['vlanif'])) { + legacy_interface_destroy($a_vlans[$id]['vlanif']); + } + unset($a_vlans[$id]); + write_config(); + header("Location: interfaces_vlan.php"); + exit; + } + } } include("head.inc"); - +legacy_html_escape_form_data($a_vlans); $main_buttons = array( - array('href'=>'interfaces_vlan_edit.php', 'label'=>gettext('Add')), + array('href'=>'interfaces_vlan_edit.php', 'label'=>gettext('Add')), ); ?> + - -
-
-
- - 0) print_input_errors($input_errors); ?> - -
- -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - -
 
- - - - -   - - - "> - - " onclick="return confirm('')"> - -
-
- -
-

-
-
-

-
- -
-
-
-
-
-
- +
+
+
+ 0) print_input_errors($input_errors); ?> +
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + +
 
+ "> + + + +
+
+
+

+
+ +

+
+
+
+
+
+
+