if ($_POST) { $pconfig = $_POST; if ($_POST['apply']) { $retval = 0; $retval |= filter_configure(); $retval |= relayd_configure(); $savemsg = get_std_save_message($retval); /* Wipe out old relayd anchors no longer in use. */ cleanup_lb_marked(); clear_subsystem_dirty('loadbalancer'); } } if ($_GET['act'] == "del") { if (array_key_exists($_GET['id'], $a_vs)) { if (!$input_errors) { cleanup_lb_mark_anchor($a_vs[$_GET['id']]['name']); unset($a_vs[$_GET['id']]); write_config(); mark_subsystem_dirty('loadbalancer'); header("Location: load_balancer_virtual_server.php"); exit; } } } /* Index lbpool array for easy hyperlinking */ $poodex = array(); for ($i = 0; isset($config['load_balancer']['lbpool'][$i]); $i++) { $poodex[$config['load_balancer']['lbpool'][$i]['name']] = $i; } for ($i = 0; isset($config['load_balancer']['virtual_server'][$i]); $i++) { if ($a_vs[$i]) {
} update_if_changed("name", $vsent['name'], $_POST['name']); update_if_changed("descr", $vsent['descr'], $_POST['descr']); update_if_changed("poolname", $vsent['poolname'], $_POST['poolname']); update_if_changed("port", $vsent['port'], $_POST['port']); update_if_changed("sitedown", $vsent['sitedown'], $_POST['sitedown']); update_if_changed("ipaddr", $vsent['ipaddr'], $_POST['ipaddr']); update_if_changed("mode", $vsent['mode'], $_POST['mode']); update_if_changed("relay protocol", $vsent['relay_protocol'], $_POST['relay_protocol']); if ($_POST['sitedown'] == "") { unset($vsent['sitedown']); } if (isset($id) && $a_vs[$id]) { if ($a_vs[$id]['name'] != $_POST['name']) { /* Because the VS name changed, mark the old name for cleanup. */ cleanup_lb_mark_anchor($a_vs[$id]['name']); } $a_vs[$id] = $vsent; } else { $a_vs[] = $vsent; } if ($changecount > 0) { /* Mark virtual server dirty */ mark_subsystem_dirty('loadbalancer'); write_config($changedesc); } header("Location: load_balancer_virtual_server.php"); exit; } } $pgtitle = array(gettext("Services"), gettext("Load Balancer"), gettext("Virtual Server"), gettext("Edit"));