Commit d5e9e0ea authored by Ad Schellevis's avatar Ad Schellevis

(legacy) refactor system_usermanager_settings.php

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