Commit d5e9e0ea authored by Ad Schellevis's avatar Ad Schellevis

(legacy) refactor system_usermanager_settings.php

parent 3b8a3826
......@@ -30,131 +30,104 @@
require_once("guiconfig.inc");
$pconfig['session_timeout'] = &$config['system']['webgui']['session_timeout'];
$pconfig['authmode'] = &$config['system']['webgui']['authmode'];
$pconfig['backend'] = &$config['system']['webgui']['backend'];
// Page title for main admin
$pgtitle = array(gettext('System'), gettext('Users'), gettext('Settings'));
$save_and_test = false;
if ($_POST) {
unset($input_errors);
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$pconfig = array();
$pconfig['session_timeout'] = $config['system']['webgui']['session_timeout'];
$pconfig['authmode'] = $config['system']['webgui']['authmode'];
$pconfig['backend'] = $config['system']['webgui']['backend'];
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
$pconfig = $_POST;
if (isset($_POST['session_timeout'])) {
$timeout = intval($_POST['session_timeout']);
if ($timeout != "" && (!is_numeric($timeout) || $timeout <= 0)) {
$input_errors = array();
if (!empty($pconfig['session_timeout']) && (!is_numeric($pconfig['session_timeout']) || $pconfig['session_timeout'] <= 0)) {
$input_errors[] = gettext("Session timeout must be an integer value.");
}
}
if (!$input_errors) {
if ($_POST['authmode'] != "local") {
$authsrv = auth_get_authserver($_POST['authmode']);
if ($_POST['savetest']) {
if (count($input_errors) == 0) {
$authsrv = auth_get_authserver($pconfig['authmode']);
if (!empty($pconfig['savetest'])) {
if ($authsrv['type'] == "ldap") {
$save_and_test = true;
}
} else {
$savemsg = gettext("The test was not performed because it is supported only for ldap based backends.");
}
}
if (isset($_POST['session_timeout']) && $_POST['session_timeout'] != "") {
$config['system']['webgui']['session_timeout'] = intval($_POST['session_timeout']);
} else {
if (!empty($pconfig['session_timeout'])) {
$config['system']['webgui']['session_timeout'] = intval($pconfig['session_timeout']);
} elseif (isset($config['system']['webgui']['session_timeout'])) {
unset($config['system']['webgui']['session_timeout']);
}
if ($_POST['authmode']) {
$config['system']['webgui']['authmode'] = $_POST['authmode'];
} else {
if (!empty($pconfig['authmode'])) {
$config['system']['webgui']['authmode'] = $pconfig['authmode'];
} elseif (isset($config['system']['webgui']['authmode'])) {
unset($config['system']['webgui']['authmode']);
}
write_config();
}
}
legacy_html_escape_form_data($pconfig);
include("head.inc");
?>
<body>
<?php
if ($save_and_test) {
echo "<script type=\"text/javascript\">\n";
echo "//<![CDATA[\n";
echo "myRef = window.open('system_usermanager_settings_test.php?authserver={$pconfig['authmode']}','mywin', ";
echo "'left=20,top=20,width=700,height=550,toolbar=1,resizable=0');\n";
echo "if (myRef==null || typeof(myRef)=='undefined') alert('" . gettext("Popup blocker detected. Action aborted.") ."');\n";
echo "//]]>\n";
echo "</script>\n";
}
?>
if ($save_and_test):?>
<script type="text/javascript">
myRef = window.open('system_usermanager_settings_test.php?authserver=<?=$pconfig['authmode'];?>','mywin','left=20,top=20,width=700,height=550,toolbar=1,resizable=0');
if (myRef==null || typeof(myRef)=='undefined') alert('<?=gettext("Popup blocker detected. Action aborted.");?>');
</script>;
<?php
endif;?>
<?php include("fbegin.inc");?>
<section class="page-content-main">
<div class="container-fluid">
<div class="row">
<?php if (isset($input_errors) && count($input_errors) > 0) {
<?php
if (isset($input_errors) && count($input_errors) > 0) {
print_input_errors($input_errors);
}?>
<?php if (isset($savemsg)) {
}
if (isset($savemsg)) {
print_info_box($savemsg);
}?>
<section class="col-xs-12">
<?php
/* Default to pfsense backend type if none is defined */
if (!$pconfig['backend']) {
$pconfig['backend'] = "pfsense";
}
?>
?>
<section class="col-xs-12">
<div class="tab-content content-box col-xs-12 table-responsive">
<form id="iform" name="iform" action="system_usermanager_settings.php" method="post">
<form action="system_usermanager_settings.php" method="post">
<table class="table table-striped table-sort">
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Session Timeout"); ?></td>
<td width="78%" class="vtable">
<input class="form-control" name="session_timeout" id="session_timeout" type="text" size="8" value="<?=htmlspecialchars($pconfig['session_timeout']);?>" />
<br />
<td width="22%"><a id="help_for_session_timeout" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("Session Timeout"); ?></td>
<td width="78%">
<input class="form-control" name="session_timeout" id="session_timeout" type="text" size="8" value="<?=$pconfig['session_timeout'];?>" />
<div class="hidden" for="help_for_session_timeout">
<?=gettext("Time in minutes to expire idle management sessions. The default is 4 hours (240 minutes).");?><br />
<?=gettext("Enter 0 to never expire sessions. NOTE: This is a security risk!");?><br />
</div>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Authentication Server"); ?></td>
<td width="78%" class="vtable">
<select name='authmode' id='authmode' class="selectpicker" data-style="btn-default" >
<?php
$auth_servers = auth_get_authserver_list();
foreach ($auth_servers as $auth_key => $auth_server) :
$selected = '';
if ($auth_key == $pconfig['authmode']) {
$selected = 'selected="selected"';
}
if (!isset($pconfig['authmode']) && $auth_key == 'Local Database') {
$selected = 'selected="selected"';
}
?>
<option value="<?=$auth_key; ?>" <?=$selected; ?>><?=$auth_server['name'];?></option>
<?php endforeach; ?>
<td><i class="fa fa-info-circle text-muted"></i> <?=gettext("Authentication Server"); ?></td>
<td>
<select name="authmode" class="selectpicker" data-style="btn-default" >
<?php
foreach (auth_get_authserver_list() as $auth_key => $auth_server) :?>
<option value="<?=$auth_key; ?>" <?=$auth_key == $pconfig['authmode'] ? "selected=\"selected\"" : "";?>>
<?=htmlspecialchars($auth_server['name']);?>
</option>
<?php
endforeach; ?>
</select>
</td>
</tr>
<tr>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%">
<input id="save" name="save" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" />
<input id="savetest" name="savetest" type="submit" class="btn btn-default" value="<?=gettext("Save and Test");?>" />
<td></td>
<td>
<input name="save" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" />
<input name="savetest" type="submit" class="btn btn-default" value="<?=gettext("Save and Test");?>" />
</td>
</tr>
</table>
......@@ -164,5 +137,4 @@ if ($save_and_test) {
</div>
</div>
</section>
<?php include("foot.inc");
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