* All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ ##|+PRIV ##|*IDENT=page-system-gatewaygroups ##|*NAME=System: Gateway Groups ##|*DESCR=Allow access to the 'System: Gateway Groups' page. ##|*MATCH=system_gateway_groups.php* ##|-PRIV require_once("guiconfig.inc"); require_once("functions.inc"); require_once("filter.inc"); require_once("shaper.inc"); require_once("openvpn.inc"); if (!is_array($config['gateways']['gateway_group'])) { $config['gateways']['gateway_group'] = array(); } $a_gateway_groups = &$config['gateways']['gateway_group']; $a_gateways = &$config['gateways']['gateway_item']; $changedesc = gettext("Gateway Groups") . ": "; if ($_POST) { $pconfig = $_POST; if ($_POST['apply']) { $retval = 0; $retval |= system_routing_configure(); send_multiple_events(array("service reload dyndnsall", "service reload ipsecdns", "filter reload")); /* reconfigure our gateway monitor */ setup_gateways_monitor(); if ($retval == 0) { clear_subsystem_dirty('staticroutes'); } foreach ($a_gateway_groups as $gateway_group) { $gw_subsystem = 'gwgroup.' . $gateway_group['name']; if (is_subsystem_dirty($gw_subsystem)) { openvpn_resync_gwgroup($gateway_group['name']); clear_subsystem_dirty($gw_subsystem); } } } } if ($_POST['act'] == "del") { if ($a_gateway_groups[$_POST['id']]) { $changedesc .= sprintf(gettext("removed gateway group %s"), $_POST['id']); foreach ($config['filter']['rule'] as $idx => $rule) { if ($rule['gateway'] == $a_gateway_groups[$_POST['id']]['name']) { unset($config['filter']['rule'][$idx]['gateway']); } } unset($a_gateway_groups[$_POST['id']]); write_config($changedesc); mark_subsystem_dirty('staticroutes'); header("Location: system_gateway_groups.php"); exit; } } function gateway_exists($gwname) { $gateways = return_gateways_array(); if (is_array($gateways)) { foreach ($gateways as $gw) { if ($gw['name'] == $gwname) { return(true); } } } return(false); } $pgtitle = array(gettext("System"), gettext("Routing"), gettext("Gateway Groups")); $pglinks = array("", "system_gateways.php", "@self"); $shortcut_section = "gateway-groups"; include("head.inc"); if ($_POST['apply']) { print_apply_result_box($retval); } if (is_subsystem_dirty('staticroutes')) { print_apply_box(gettext("The gateway configuration has been changed.") . "
" . gettext("The changes must be applied for them to take effect.")); } $tab_array = array(); $tab_array[] = array(gettext("Gateways"), false, "system_gateways.php"); $tab_array[] = array(gettext("Static Routes"), false, "system_routes.php"); $tab_array[] = array(gettext("Gateway Groups"), true, "system_gateway_groups.php"); display_top_tabs($tab_array); ?>

\n"); } } ?> \n"); } } ?>
'), 'info', false); ?>