diff options
author | Hugues Peccatte <hugues.peccatte@gmail.com> | 2013-12-27 17:33:10 +0400 |
---|---|---|
committer | Hugues Peccatte <hugues.peccatte@gmail.com> | 2013-12-27 17:33:10 +0400 |
commit | 4f05a8abfafdc1f2c46c39b56128e11ebdcdd427 (patch) | |
tree | c760f105175f285c80bc8578d9acfa461e5b4077 /setup | |
parent | 8b8b2cf302821b7c70197927cc1492d08f859191 (diff) | |
parent | ef49eff205f45e78323edfd5b46dcdae82166e57 (diff) |
Merge pull request #808 from Tithugues/nestedLevels
Nested levels
Diffstat (limited to 'setup')
-rw-r--r-- | setup/frames/form.inc.php | 2 | ||||
-rw-r--r-- | setup/frames/servers.inc.php | 2 | ||||
-rw-r--r-- | setup/lib/form_processing.lib.php | 94 |
3 files changed, 55 insertions, 43 deletions
diff --git a/setup/frames/form.inc.php b/setup/frames/form.inc.php index c747e06ef3..ac9d00b395 100644 --- a/setup/frames/form.inc.php +++ b/setup/frames/form.inc.php @@ -32,5 +32,5 @@ $form_display = new FormDisplay($GLOBALS['ConfigFile']); foreach ($forms[$formset_id] as $form_name => $form) { $form_display->registerForm($form_name, $form); } -process_formset($form_display); +PMA_process_formset($form_display); ?> diff --git a/setup/frames/servers.inc.php b/setup/frames/servers.inc.php index 10c02ac9cd..133f87a0a3 100644 --- a/setup/frames/servers.inc.php +++ b/setup/frames/servers.inc.php @@ -46,5 +46,5 @@ $form_display = new FormDisplay($cf); foreach ($forms['Servers'] as $form_name => $form) { $form_display->registerForm($form_name, $form, $id); } -process_formset($form_display); +PMA_process_formset($form_display); ?> diff --git a/setup/lib/form_processing.lib.php b/setup/lib/form_processing.lib.php index 9ca3b5317a..8b9e825722 100644 --- a/setup/lib/form_processing.lib.php +++ b/setup/lib/form_processing.lib.php @@ -9,59 +9,71 @@ /** * Processes forms registered in $form_display, handles error correction * - * @param FormDisplay $form_display + * @param FormDisplay $form_display Form to display * * @return void */ -function process_formset(FormDisplay $form_display) +function PMA_process_formset(FormDisplay $form_display) { if (filter_input(INPUT_GET, 'mode') == 'revert') { // revert erroneous fields to their default values $form_display->fixErrors(); - // drop post data - header('HTTP/1.1 303 See Other'); - header('Location: index.php'); - - if (!defined('TESTSUITE')) { - exit; - } + PMA_generateHeader303(); } + 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_URL_getArgSeparator('html'); - $page = filter_input(INPUT_GET, 'page'); - $formset = filter_input(INPUT_GET, 'formset'); - $formset = $formset ? "{$separator}formset=$formset" : ''; - $id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT); - if ($id === null && $page == 'servers') { - // we've just added a new server, get it's id - $id = $form_display->getConfigFile()->getServerCount(); - } - $id = $id ? "{$separator}id=$id" : ''; + return; + } + + // check for form errors + if (!$form_display->hasErrors()) { + PMA_generateHeader303(); + return; + } + + // form has errors, show warning + $separator = PMA_URL_getArgSeparator('html'); + $page = filter_input(INPUT_GET, 'page'); + $formset = filter_input(INPUT_GET, 'formset'); + $formset = $formset ? "{$separator}formset=$formset" : ''; + $id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT); + if ($id === null && $page == 'servers') { + // we've just added a new server, get it's id + $id = $form_display->getConfigFile()->getServerCount(); + } + $id = $id ? "{$separator}id=$id" : ''; + ?> + <div class="error"> + <h4><?php echo __('Warning') ?></h4> + <?php echo __('Submitted form contains errors') ?><br /> + <a href="?page=<?php echo $page . $formset . $id . $separator ?>mode=revert"> + <?php echo __('Try to revert erroneous fields to their default values') ?> - <div class="error"> - <h4><?php echo __('Warning') ?></h4> - <?php echo __('Submitted form contains errors') ?><br /> - <a href="?page=<?php echo $page . $formset . $id . $separator ?>mode=revert"><?php echo __('Try to revert erroneous fields to their default values') ?></a> - </div> - <?php $form_display->displayErrors() ?> - <a class="btn" href="index.php"><?php echo __('Ignore errors') ?></a> - - <a class="btn" href="?page=<?php echo $page . $formset . $id . $separator ?>mode=edit"><?php echo __('Show form') ?></a> - <?php - } else { - // drop post data - header('HTTP/1.1 303 See Other'); - header('Location: index.php'); - if (!defined('TESTSUITE')) { - exit; - } - } + </a> + </div> + <?php $form_display->displayErrors() ?> + <a class="btn" href="index.php"><?php echo __('Ignore errors') ?></a> + + <a class="btn" href="?page=<?php echo $page . $formset . $id + . $separator ?>mode=edit"><?php echo __('Show form') ?></a> + <?php +} + +/** + * Generate header for 303 + * + * @return void + */ +function PMA_generateHeader303() +{ + // drop post data + header('HTTP/1.1 303 See Other'); + header('Location: index.php'); + + if (!defined('TESTSUITE')) { + exit; } } ?> |