summaryrefslogtreecommitdiffstats
path: root/src/usr/local/www/system_usermanager_settings.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/local/www/system_usermanager_settings.php')
-rw-r--r--src/usr/local/www/system_usermanager_settings.php30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/usr/local/www/system_usermanager_settings.php b/src/usr/local/www/system_usermanager_settings.php
index a6df556..501070d 100644
--- a/src/usr/local/www/system_usermanager_settings.php
+++ b/src/usr/local/www/system_usermanager_settings.php
@@ -93,15 +93,17 @@ if ($_REQUEST['ajax']) {
}
}
-$pconfig['session_timeout'] = &$config['system']['webgui']['session_timeout'];
+$pconfig['session_timeout'] = $config['system']['webgui']['session_timeout'];
if (isset($config['system']['webgui']['authmode'])) {
- $pconfig['authmode'] = &$config['system']['webgui']['authmode'];
+ $pconfig['authmode'] = $config['system']['webgui']['authmode'];
} else {
$pconfig['authmode'] = "Local Database";
}
-$pconfig['backend'] = &$config['system']['webgui']['backend'];
+$pconfig['backend'] = $config['system']['webgui']['backend'];
+
+$pconfig['auth_refresh_time'] = $config['system']['webgui']['auth_refresh_time'];
// Page title for main admin
$pgtitle = array(gettext("System"), gettext("User Manager"), gettext("Settings"));
@@ -119,6 +121,13 @@ if ($_POST) {
}
}
+ if (isset($_POST['auth_refresh_time'])) {
+ $timeout = intval($_POST['auth_refresh_time']);
+ if (!is_numeric($timeout) || $timeout < 0 || $timeout > 3600 ) {
+ $input_errors[] = gettext("Authentication refresh time must be an integer between 0 and 3600 (inclusive).");
+ }
+ }
+
if (($_POST['authmode'] == "Local Database") && $_POST['savetest']) {
$savemsg = gettext("Settings have been saved, but the test was not performed because it is not supported for local databases.");
}
@@ -146,6 +155,12 @@ if ($_POST) {
} else {
unset($config['system']['webgui']['authmode']);
}
+
+ if (isset($_POST['auth_refresh_time']) && $_POST['auth_refresh_time'] != "") {
+ $config['system']['webgui']['auth_refresh_time'] = intval($_POST['auth_refresh_time']);
+ } else {
+ unset($config['system']['webgui']['auth_refresh_time']);
+ }
write_config();
@@ -200,6 +215,15 @@ $section->addInput(new Form_Select(
$auth_servers
));
+$section->addInput(new Form_Input(
+ 'auth_refresh_time',
+ 'Auth Refresh Time',
+ 'number',
+ $pconfig['auth_refresh_time'],
+ ['min' => 0, 'max' => 3600]
+))->setHelp('Time in seconds to cache authentication results. The default is 30 seconds, maximum 3600 (one hour). '.
+ 'Shorter times result in more frequent queries to authentication servers.');
+
$form->addGlobal(new Form_Button(
'savetest',
'Save & Test',
OpenPOWER on IntegriCloud