Commit d86e7683 authored by Ad Schellevis's avatar Ad Schellevis

(legacy) refactor load_balancer_setting.php

parent e2cb7045
<?php <?php
/* /*
Copyright (C) 2014-2015 Deciso B.V. Copyright (C) 2014-2016 Deciso B.V.
Copyright (C) 2008 Bill Marquette <bill.marquette@gmail.com>. Copyright (C) 2008 Bill Marquette <bill.marquette@gmail.com>.
Copyright (C) 2012 Pierre POMES <pierre.pomes@gmail.com>. Copyright (C) 2012 Pierre POMES <pierre.pomes@gmail.com>.
All rights reserved. All rights reserved.
...@@ -34,111 +34,117 @@ require_once("services.inc"); ...@@ -34,111 +34,117 @@ require_once("services.inc");
require_once("vslb.inc"); require_once("vslb.inc");
require_once("interfaces.inc"); require_once("interfaces.inc");
if (!is_array($config['load_balancer']['setting'])) { if (empty($config['load_balancer']) || !is_array($config['load_balancer'])) {
$config['load_balancer'] = array();
}
if (empty($config['load_balancer']['setting']) || !is_array($config['load_balancer']['setting'])) {
$config['load_balancer']['setting'] = array(); $config['load_balancer']['setting'] = array();
} }
$lbsetting = &$config['load_balancer']['setting'];
if ($_POST) {
if ($_POST['apply']) { if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$pconfig = array();
$pconfig['timeout'] = !empty($config['load_balancer']['setting']['timeout']) ? $config['load_balancer']['setting']['timeout'] : null;
$pconfig['interval'] = !empty($config['load_balancer']['setting']['interval']) ? $config['load_balancer']['setting']['interval'] : null;
$pconfig['prefork'] = !empty($config['load_balancer']['setting']['prefork']) ? $config['load_balancer']['setting']['prefork'] : null;
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
$pconfig = $_POST;
$input_errors = array();
if (!empty($pconfig['apply'])) {
relayd_configure(); relayd_configure();
filter_configure(); filter_configure();
$savemsg = get_std_save_message();
clear_subsystem_dirty('loadbalancer'); clear_subsystem_dirty('loadbalancer');
header("Location: load_balancer_setting.php");
exit;
} else { } else {
unset($input_errors);
$pconfig = $_POST;
/* input validation */ /* input validation */
if ($_POST['timeout'] && !is_numeric($_POST['timeout'])) { if (!empty($pconfig['timeout']) && !is_numeric($pconfig['timeout'])) {
$input_errors[] = gettext("Timeout must be a numeric value"); $input_errors[] = gettext("Timeout must be a numeric value");
} }
if ($_POST['interval'] && !is_numeric($_POST['interval'])) { if (!empty($pconfig['interval']) && !is_numeric($pconfig['interval'])) {
$input_errors[] = gettext("Interval must be a numeric value"); $input_errors[] = gettext("Interval must be a numeric value");
} }
if ($_POST['prefork']) { if (!empty($pconfig['prefork'])) {
if (!is_numeric($_POST['prefork'])) { if (!is_numeric($pconfig['prefork'])) {
$input_errors[] = gettext("Prefork must be a numeric value"); $input_errors[] = gettext("Prefork must be a numeric value");
} else { } elseif ($pconfig['prefork']<=0 || $pconfig['prefork']>32) {
if (($_POST['prefork']<=0) || ($_POST['prefork']>32)) {
$input_errors[] = gettext("Prefork value must be between 1 and 32"); $input_errors[] = gettext("Prefork value must be between 1 and 32");
} }
} }
} if (count($input_errors) == 0) {
$config['load_balancer']['setting']['timeout'] = $pconfig['timeout'];
/* update config if user entry is valid */ $config['load_balancer']['setting']['interval'] = $pconfig['interval'];
if (!$input_errors) { $config['load_balancer']['setting']['prefork'] = $pconfig['prefork'];
$lbsetting['timeout'] = $_POST['timeout'];
$lbsetting['interval'] = $_POST['interval'];
$lbsetting['prefork'] = $_POST['prefork'];
write_config(); write_config();
mark_subsystem_dirty('loadbalancer'); mark_subsystem_dirty('loadbalancer');
header("Location: load_balancer_setting.php");
exit;
} }
} }
} }
$service_hook = 'relayd';
$service_hook = 'relayd';
legacy_html_escape_form_data($pconfig);
include("head.inc"); include("head.inc");
?> ?>
<body> <body>
<?php include("fbegin.inc"); ?> <?php include("fbegin.inc"); ?>
<section class="page-content-main"> <section class="page-content-main">
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<?php if (isset($input_errors) && count($input_errors) > 0) print_input_errors($input_errors); ?> <?php if (isset($input_errors) && count($input_errors) > 0) print_input_errors($input_errors); ?>
<?php if (isset($savemsg)) print_info_box($savemsg); ?>
<?php if (is_subsystem_dirty('loadbalancer')): ?><br/> <?php if (is_subsystem_dirty('loadbalancer')): ?><br/>
<?php print_info_box_apply(gettext("The load balancer configuration has been changed") . ".<br />" . gettext("You must apply the changes in order for them to take effect."));?><br /> <?php print_info_box_apply(gettext("The load balancer configuration has been changed") . ".<br />" . gettext("You must apply the changes in order for them to take effect."));?><br />
<?php endif; ?> <?php endif; ?>
<section class="col-xs-12"> <section class="col-xs-12">
<div class="tab-content content-box col-xs-12"> <div class="tab-content content-box col-xs-12">
<form method="post" name="iform" id="iform">
<form action="load_balancer_setting.php" method="post" name="iform" id="iform">
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-striped">
<table class="table table-striped table-sort">
<tr> <tr>
<td colspan="2" valign="top" class="listtopic"><?=gettext("Global settings"); ?></td> <td width="22%">
<strong><?=gettext("Global settings"); ?></strong>
</td>
<td width="78%" align="right">
<small><?=gettext("full help"); ?> </small>
<i class="fa fa-toggle-off text-danger" style="cursor: pointer;" id="show_all_help_page" type="button"></i>
</td>
</tr> </tr>
<tr> <tr>
<td width="22%" valign="top" class="vncell"><?=gettext("timeout") ; ?></td> <td><a id="help_for_timeout" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("timeout") ; ?></td>
<td width="78%" class="vtable"> <td>
<input name="timeout" id="timeout" value="<?php if ($lbsetting['timeout'] <> "") echo $lbsetting['timeout']; ?>" class="formfld unknown" /> <input type="text" name="timeout" id="timeout" value="<?=$pconfig['timeout'];?>" />
<br /> <div class="hidden" for="help_for_timeout">
<?=gettext("Set the global timeout in milliseconds for checks. Leave blank to use the default value of 1000 ms "); ?> <?=gettext("Set the global timeout in milliseconds for checks. Leave blank to use the default value of 1000 ms "); ?>
</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="22%" valign="top" class="vncell"><?=gettext("interval") ; ?></td> <td><a id="help_for_interval" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("interval") ; ?></td>
<td width="78%" class="vtable"> <td>
<input name="interval" id="interval" value="<?php if ($lbsetting['interval'] <> "") echo $lbsetting['interval']; ?>" class="formfld unknown" /> <input type="text" name="interval" id="interval" value="<?=$pconfig['interval']; ?>"/>
<br /> <div class="hidden" for="help_for_interval">
<?=gettext("Set the interval in seconds at which the member of a pool will be checked. Leave blank to use the default interval of 10 seconds"); ?> <?=gettext("Set the interval in seconds at which the member of a pool will be checked. Leave blank to use the default interval of 10 seconds"); ?>
</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="22%" valign="top" class="vncell"><?=gettext("prefork") ; ?></td> <td><a id="help_for_prefork" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("prefork") ; ?></td>
<td width="78%" class="vtable"> <td>
<input name="prefork" id="prefork" value="<?php if ($lbsetting['prefork'] <> "") echo $lbsetting['prefork']; ?>" class="formfld unknown" /> <input type="text" name="prefork" id="prefork" value="<?=$pconfig['prefork']; ?>"/>
<br /> <div class="hidden" for="help_for_prefork">
<?=gettext("Number of processes used by relayd for dns protocol. Leave blank to use the default value of 5 processes"); ?> <?=gettext("Number of processes used by relayd for dns protocol. Leave blank to use the default value of 5 processes"); ?>
</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="22%" valign="top">&nbsp;</td> <td>&nbsp;</td>
<td width="78%"> <td>
<input name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" /> <input name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" />
</td> </td>
</tr> </tr>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment