From 03e66cd0d419947f3fcd617e4412e2e53179472b Mon Sep 17 00:00:00 2001 From: Crack Date: Fri, 11 Jun 2010 17:11:15 +0200 Subject: [PATCH] Display forms --- user_preferences.php | 52 +++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 45 insertions(+), 7 deletions(-) diff --git a/user_preferences.php b/user_preferences.php index 82ad5bccdc..3021a74ca6 100644 --- a/user_preferences.php +++ b/user_preferences.php @@ -11,7 +11,10 @@ */ require_once './libraries/common.inc.php'; require_once './libraries/user_preferences.lib.php'; +require_once './libraries/config/config_functions.lib.php'; require_once './libraries/config/messages.inc.php'; +require_once './libraries/config/ConfigFile.class.php'; +require_once './libraries/config/Form.class.php'; require_once './libraries/config/FormDisplay.class.php'; $GLOBALS['js_include'][] = 'js/settings_forms.js'; @@ -24,18 +27,16 @@ if (! empty($message)) { unset($message); } -$common_url_query = PMA_generate_common_url('', ''); - $tabs = array(); -$active_formset = filter_input(INPUT_GET, 'form'); -if (!isset($forms[$active_formset])) { - $active_formset = array_shift(array_keys($forms)); +$form_param = filter_input(INPUT_GET, 'form'); +if (!isset($forms[$form_param])) { + $form_param = array_shift(array_keys($forms)); } foreach (array_keys($forms) as $form) { $tabs[] = array( 'link' => 'user_preferences.php', 'text' => PMA_ifSetOr($GLOBALS['strSetupForm_' . $form], $form), // TODO: remove ifSetOr - 'active' => $form == $active_formset, + 'active' => $form == $form_param, 'url_params' => array('form' => $form) ); } @@ -43,10 +44,47 @@ foreach (array_keys($forms) as $form) { echo PMA_generate_html_tabs($tabs, array()); $form_display = new FormDisplay(); -foreach ($forms[$active_formset] as $form_name => $form) { +foreach ($forms[$form_param] as $form_name => $form) { $form_display->registerForm($form_name, $form); } +if (filter_input(INPUT_GET, 'mode') == 'revert') { + // revert erroneous fields to their default values + $form_display->fixErrors(); + // redirect + $url_params = array('form' => $form_param); + PMA_sendHeaderLocation($cfg['PmaAbsoluteUri'] . 'user_preferences.php' + . PMA_generate_common_url($url_params, '&')); + exit; +} +if (!$form_display->process(false)) { + // handle form view and failed POST + $form_display->display(true, true); +} else { + // check for form errors + if ($form_display->hasErrors()) { + // form has errors, show warning + $separator = PMA_get_arg_separator('html'); + ?> +
+

+
+ +
+ displayErrors() ?> + +   + + $form_param); + PMA_sendHeaderLocation($cfg['PmaAbsoluteUri'] . 'user_preferences.php' + . PMA_generate_common_url($url_params, '&')); + exit; + } +} + /** * Displays the footer */ -- 2.11.4.GIT