From d5e9e0ea064a275e421b18a47700848a3df59fe2 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Tue, 8 Dec 2015 17:23:45 +0100 Subject: [PATCH] (legacy) refactor system_usermanager_settings.php --- src/www/system_usermanager_settings.php | 232 +++++++++++------------- 1 file changed, 102 insertions(+), 130 deletions(-) diff --git a/src/www/system_usermanager_settings.php b/src/www/system_usermanager_settings.php index 463427662..43b91f211 100644 --- a/src/www/system_usermanager_settings.php +++ b/src/www/system_usermanager_settings.php @@ -1,168 +1,140 @@ - Copyright (C) 2007 Bill Marquette - All rights reserved. + Copyright (C) 2014-2015 Deciso B.V. + Copyright (C) 2007 Scott Ullrich + Copyright (C) 2007 Bill Marquette + All rights reserved. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: + 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. + 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. + 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. + 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. */ 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[] = gettext("Session timeout must be an integer value."); - } + $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 ($authsrv['type'] == "ldap") { - $save_and_test = true; - } + 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"); ?> \n"; - echo "//\n"; - echo "\n"; -} -?> - +if ($save_and_test):?> +; + - -
-
-
- - 0) { - print_input_errors($input_errors); -}?> - - -
- - -
- -
- - - - - - - - - - - - - -
- -
-
-
-
- -
  - " /> - " /> -
-
-
-
-
-
-
- +
+
+
+ 0) { + print_input_errors($input_errors); + } + if (isset($savemsg)) { + print_info_box($savemsg); + } +?> +
+
+
+ + + + + + + + + + + + + +
+ + +
+ +
+ " /> + " /> +
+
+
+
+
+
+