summaryrefslogtreecommitdiffstats
path: root/src/usr/local/www/load_balancer_virtual_server_edit.php
diff options
context:
space:
mode:
authorStephen Beaver <sbeaver@netgate.com>2015-09-10 10:07:00 -0400
committerStephen Beaver <sbeaver@netgate.com>2015-09-10 10:12:41 -0400
commit7fb510173cf97bf4a3c79ee10e810d1466814f9d (patch)
treeb2418eeb8bd9139135fb989d1f3c13b6147de284 /src/usr/local/www/load_balancer_virtual_server_edit.php
parent9169a270d194a5ebea2d89fcd8b67d866f247d58 (diff)
downloadpfsense-7fb510173cf97bf4a3c79ee10e810d1466814f9d.zip
pfsense-7fb510173cf97bf4a3c79ee10e810d1466814f9d.tar.gz
load_balancer_virtual_server_edit.php: Bootstrap conversion complete
Diffstat (limited to 'src/usr/local/www/load_balancer_virtual_server_edit.php')
-rw-r--r--src/usr/local/www/load_balancer_virtual_server_edit.php337
1 files changed, 164 insertions, 173 deletions
diff --git a/src/usr/local/www/load_balancer_virtual_server_edit.php b/src/usr/local/www/load_balancer_virtual_server_edit.php
index f1a60bb..533ab1b 100644
--- a/src/usr/local/www/load_balancer_virtual_server_edit.php
+++ b/src/usr/local/www/load_balancer_virtual_server_edit.php
@@ -2,36 +2,61 @@
/* $Id$ */
/*
load_balancer_virtual_server_edit.php
- part of pfSense (https://www.pfsense.org/)
-
- Copyright (C) 2005-2008 Bill Marquette <bill.marquette@gmail.com>.
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- 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.
*/
+/* ====================================================================
+ * Copyright (c) 2004-2015 Electric Sheep Fencing, LLC. All rights reserved.
+ * Copyright (c) 2004, 2005 Scott Ullrich
+ * Copyright (c) 2005-2008 Bill Marquette <bill.marquette@gmail.com>
+ *
+ * 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.
+ *
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgment:
+ * "This product includes software developed by the pfSense Project
+ * for use in the pfSense software distribution. (http://www.pfsense.org/).
+ *
+ * 4. The names "pfSense" and "pfSense Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * coreteam@pfsense.org.
+ *
+ * 5. Products derived from this software may not be called "pfSense"
+ * nor may "pfSense" appear in their names without prior written
+ * permission of the Electric Sheep Fencing, LLC.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ *
+ * "This product includes software developed by the pfSense Project
+ * for use in the pfSense software distribution (http://www.pfsense.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY
+ * EXPRESSED 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 pfSense PROJECT OR
+ * ITS CONTRIBUTORS 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.
+ *
+ * ====================================================================
+ *
+ */
/*
- pfSense_MODULE: routing
+ pfSense_MODULE: routing
*/
##|+PRIV
@@ -95,7 +120,7 @@ if ($_POST) {
for ($i = 0; isset($config['load_balancer']['virtual_server'][$i]); $i++) {
if (($_POST['name'] == $config['load_balancer']['virtual_server'][$i]['name']) && ($i != $id)) {
- $input_errors[] = gettext("This virtual server name has already been used. Virtual server names must be unique.");
+ $input_errors[] = gettext("This virtual server name has already been used. Virtual server names must be unique.");
}
}
@@ -175,147 +200,113 @@ $shortcut_section = "relayd-virtualservers";
include("head.inc");
-?>
-
-<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
-<?php include("fbegin.inc"); ?>
-<script type="text/javascript" src="/javascript/autosuggest.js?rev=1"></script>
-<script type="text/javascript" src="/javascript/suggestions.js"></script>
-
-<?php if ($input_errors) print_input_errors($input_errors); ?>
-<form action="load_balancer_virtual_server_edit.php" method="post" name="iform" id="iform">
- <table width="100%" border="0" cellpadding="6" cellspacing="0" summary="load balancer server entry">
- <tr>
- <td colspan="3" valign="top" class="listtopic"><?=gettext("Edit Load Balancer - Virtual Server entry"); ?></td>
- </tr>
- <tr align="left">
- <td width="22%" valign="top" class="vncellreq"><?=gettext("Name"); ?></td>
- <td width="78%" class="vtable" colspan="2">
- <input name="name" type="text" <?if (isset($pconfig['name'])) echo "value=\"" . htmlspecialchars($pconfig['name']) . "\"";?> size="32" maxlength="32" />
- </td>
- </tr>
- <tr align="left">
- <td width="22%" valign="top" class="vncell"><?=gettext("Description"); ?></td>
- <td width="78%" class="vtable" colspan="2">
- <input name="descr" type="text" <?if (isset($pconfig['descr'])) echo "value=\"" . htmlspecialchars($pconfig['descr']) . "\"";?> size="64" />
- </td>
- </tr>
- <tr align="left">
- <td width="22%" valign="top" class="vncellreq"><?=gettext("IP Address"); ?></td>
- <td width="78%" class="vtable" colspan="2">
- <input class="formfldalias" id="ipaddr" name="ipaddr" type="text" <?if (isset($pconfig['ipaddr'])) echo "value=\"" . htmlspecialchars($pconfig['ipaddr']) . "\"";?> size="39" maxlength="39" />
- <br /><?=gettext("This is normally the WAN IP address that you would like the server to listen on. All connections to this IP and port will be forwarded to the pool cluster."); ?>
- <br /><?=gettext("You may also specify a host alias listed in Firewall -&gt; Aliases here."); ?>
- <script type="text/javascript">
- //<![CDATA[
- var host_aliases = <?= json_encode(get_alias_list(array("host", "network", "url", "urltable"))) ?>;
- var oTextbox1 = new AutoSuggestControl(document.getElementById("ipaddr"), new StateSuggestions(host_aliases));
- //]]>
- </script>
- </td>
- </tr>
- <tr align="left">
- <td width="22%" valign="top" class="vncell"><?=gettext("Port"); ?></td>
- <td width="78%" class="vtable" colspan="2">
- <input class="formfldalias" name="port" id="port" type="text" <?if (isset($pconfig['port'])) echo "value=\"" . htmlspecialchars($pconfig['port']) . "\"";?> size="16" maxlength="16" />
- <br /><?=gettext("This is the port that the clients will connect to. All connections to this port will be forwarded to the pool cluster."); ?>
- <br /><?=gettext("If left blank, listening ports from the pool will be used."); ?>
- <br /><?=gettext("You may also specify a port alias listed in Firewall -&gt; Aliases here."); ?>
- <script type="text/javascript">
- //<![CDATA[
- var port_aliases = <?= json_encode(get_alias_list(array("port", "url_ports", "urltable_ports"))) ?>;
- var oTextbox2 = new AutoSuggestControl(document.getElementById("port"), new StateSuggestions(port_aliases));
- //]]>
- </script>
- </td>
- </tr>
- <tr align="left">
- <td width="22%" valign="top" class="vncellreq"><?=gettext("Virtual Server Pool"); ?></td>
- <td width="78%" class="vtable" colspan="2">
- <?php if (count($config['load_balancer']['lbpool']) == 0): ?>
- <b><?=gettext("NOTE:"); ?></b> <?=gettext("Please add a pool on the Pools tab to use this feature."); ?>
- <?php else: ?>
- <select id="poolname" name="poolname">
- <?php
- for ($i = 0; isset($config['load_balancer']['lbpool'][$i]); $i++) {
- $selected = "";
- if ($config['load_balancer']['lbpool'][$i]['name'] == $pconfig['poolname']) {
- $selected = " selected=\"selected\"";
- }
- echo "<option value=\"" . htmlspecialchars($config['load_balancer']['lbpool'][$i]['name']) . "\"{$selected}>{$config['load_balancer']['lbpool'][$i]['name']}</option>";
- }
- ?>
- </select>
- <?php endif; ?>
- </td>
- </tr>
- <tr align="left">
- <td width="22%" valign="top" class="vncellreq"><?=gettext("Fall Back Pool"); ?></td>
- <td width="78%" class="vtable" colspan="2">
- <?php if (count($config['load_balancer']['lbpool']) == 0): ?>
- <b><?=gettext("NOTE:"); ?></b> <?=gettext("Please add a pool on the Pools tab to use this feature."); ?>
- <?php else: ?>
- <select id="sitedown" name="sitedown">
- <option value=""<?=htmlspecialchars($pconfig['sitedown']) == '' ? ' selected' : ''?>><?=gettext("none"); ?></option>
- <?php
- for ($i = 0; isset($config['load_balancer']['lbpool'][$i]); $i++) {
- $selected = "";
- if ($config['load_balancer']['lbpool'][$i]['name'] == $pconfig['sitedown']) {
- $selected = " selected=\"selected\"";
- }
- echo "<option value=\"" . htmlspecialchars($config['load_balancer']['lbpool'][$i]['name']) . "\"{$selected}>{$config['load_balancer']['lbpool'][$i]['name']}</option>";
- }
- ?>
- </select>
- <br /><?=gettext("The server pool to which clients will be redirected if *ALL* servers in the Virtual Server Pool are offline."); ?>
- <br /><?=gettext("This option is NOT compatible with the DNS relay protocol."); ?>
- <?php endif; ?>
- </td>
- </tr>
- <tr style="display:none;"><td><input type="hidden" name="mode" value="redirect_mode" /></td></tr>
-<!--
- <tr align="left">
- <td width="22%" valign="top" class="vncellreq">Mode</td>
- <td width="78%" class="vtable" colspan="2">
- <input id="redirect_mode" type="radio" name="mode" value="redirect"<?=htmlspecialchars($pconfig['mode']) == 'redirect' ? ' checked="checked"': ''?> /> Redirect
- <input id="relay_mode" type="radio" name="mode" value="relay"<?=htmlspecialchars($pconfig['mode']) == 'relay' ? ' checked="checked"': ''?> /> Relay
- <br />
- </td>
- </tr>
--->
- <tr id="relay" align="left">
- <td width="22%" valign="top" class="vncellreq"><?=gettext("Relay Protocol"); ?></td>
- <td width="78%" class="vtable" colspan="2">
- <select id="relay_protocol" name="relay_protocol">
- <?php
- $lb_def_protos = array("tcp", "dns");
- foreach ($lb_def_protos as $lb_proto) {
- $selected = "";
- if ($pconfig['relay_protocol'] == $lb_proto) {
- $selected = " selected=\"selected\"";
- }
- echo "<option value=\"{$lb_proto}\"{$selected}>{$lb_proto}</option>";
- }
- ?>
- </select>
- <br />
- </td>
- </tr>
- <tr align="left">
- <td width="22%" valign="top">&nbsp;</td>
- <td align="left" valign="bottom" width="78%">
- <input name="Submit" type="submit" class="formbtn" value="<?=gettext("Submit"); ?>" />
- <input type="button" class="formbtn" value="<?=gettext("Cancel");?>" onclick="window.location.href='<?=$referer;?>'" />
- <input name="referer" type="hidden" value="<?=$referer;?>" />
- <?php if (isset($id) && $a_vs[$id] && $_GET['act'] != 'dup'): ?>
- <input name="id" type="hidden" value="<?=htmlspecialchars($id);?>" />
- <?php endif; ?>
- </td>
- </tr>
- </table>
-</form>
-<br />
-<span class="red"><strong><?=gettext("Note:"); ?></strong></span> <?=gettext("Don't forget to add a firewall rule for the virtual server/pool after you're finished setting it up."); ?>
-<?php include("fend.inc"); ?>
-</body>
-</html>
+if ($input_errors)
+ print_input_errors($input_errors);
+
+require_once('classes/Form.class.php');
+
+$form = new Form();
+
+$section = new Form_Section('Edit Load Balancer - Virtual Server entry');
+
+$section->addInput(new Form_Input(
+ 'name',
+ 'Name',
+ 'text',
+ $pconfig['name']
+));
+
+$section->addInput(new Form_Input(
+ 'descr',
+ 'Description',
+ 'text',
+ $pconfig['descr']
+));
+
+
+$section->addInput(new Form_IpAddress(
+ 'ipaddr',
+ 'IP Address',
+ $pconfig['ipaddr']
+))->setHelp('This is normally the WAN IP address that you would like the server to listen on. ' .
+ 'All connections to this IP and port will be forwarded to the pool cluster. ' .
+ 'You may also specify a host alias listed in Firewall -&gt; Aliases here.');
+
+$section->addInput(new Form_Input(
+ 'port',
+ 'Port',
+ 'number',
+ $pconfig['port']
+))->setHelp('Port that the clients will connect to. All connections to this port will be forwarded to the pool cluster. ' .
+ 'If left blank listening ports from the pool will be used.' .
+ 'You may also specify a port alias listed in Firewall -&gt; Aliases here.');
+
+if (count($config['load_balancer']['lbpool']) == 0) {
+ $section->addInput(new Form_StaticText(
+ 'Virtual Server Pool',
+ 'Please add a pool on the "Pools" tab to use this feature. '
+ ));
+} else {
+
+ $list = array();
+ for ($i = 0; isset($config['load_balancer']['lbpool'][$i]); $i++) {
+ $list[$config['load_balancer']['lbpool'][$i]['name']] = $config['load_balancer']['lbpool'][$i]['name'];
+ }
+
+ $section->addInput(new Form_Select(
+ 'poolname',
+ 'Virtual Server Pool',
+ $pconfig['poolname'],
+ $list
+ ));
+}
+
+if (count($config['load_balancer']['lbpool']) == 0) {
+ $section->addInput(new Form_StaticText(
+ 'Fall-back Pool',
+ 'Please add a pool on the "Pools" tab to use this feature. '
+ ));
+} else {
+
+ $list = array();
+ for ($i = 0; isset($config['load_balancer']['lbpool'][$i]); $i++) {
+ $list[$config['load_balancer']['lbpool'][$i]['name']] = $config['load_balancer']['lbpool'][$i]['name'];
+ }
+
+ $section->addInput(new Form_Select(
+ 'sitedown',
+ 'Fall-back Pool',
+ $pconfig['sitedown'],
+ $list
+ ));
+}
+
+$section->addInput(new Form_Input(
+ 'mode',
+ null,
+ 'hidden',
+ 'redirect_mode'
+));
+
+$section->addInput(new Form_Select(
+ 'relay_protocol',
+ 'Fall-back Pool',
+ $pconfig['relay_protocol'],
+ ['tcp' => 'TCP', 'dns' => 'DNS']
+));
+
+if (isset($id) && $a_vs[$id] && $_GET['act'] != 'dup') {
+ $section->addInput(new Form_Input(
+ 'id',
+ null,
+ 'hidden',
+ $id
+ ));
+}
+
+$form->add($section);
+print($form);
+
+print_info_box(gettext('Don\'t forget to add a firewall rule for the virtual server/pool after you have finished setting it up.'));
+
+include("foot.inc"); \ No newline at end of file
OpenPOWER on IntegriCloud