diff options
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Controllers/Setup/FormController.php')
| -rw-r--r-- | srcs/phpmyadmin/libraries/classes/Controllers/Setup/FormController.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Controllers/Setup/FormController.php b/srcs/phpmyadmin/libraries/classes/Controllers/Setup/FormController.php new file mode 100644 index 0000000..c2caf01 --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Controllers/Setup/FormController.php @@ -0,0 +1,50 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * Holds the PhpMyAdmin\Controllers\Setup\FormController + * + * @package PhpMyAdmin\Controllers\Setup + */ +declare(strict_types=1); + +namespace PhpMyAdmin\Controllers\Setup; + +use PhpMyAdmin\Config\Forms\BaseForm; +use PhpMyAdmin\Config\Forms\Setup\SetupFormList; +use PhpMyAdmin\Core; +use PhpMyAdmin\Setup\FormProcessing; + +/** + * Class FormController + * @package PhpMyAdmin\Controllers\Setup + */ +class FormController extends AbstractController +{ + /** + * @param array $params Request parameters + * @return string HTML + */ + public function index(array $params): string + { + $pages = $this->getPages(); + + $formset = Core::isValid($params['formset'], 'scalar') ? $params['formset'] : null; + + /** @var BaseForm $formClass */ + $formClass = SetupFormList::get($formset); + if ($formClass === null) { + Core::fatalError(__('Incorrect form specified!')); + } + + ob_start(); + FormProcessing::process(new $formClass($this->config)); + $page = ob_get_clean(); + + return $this->template->render('setup/form/index', [ + 'formset' => $params['formset'] ?? '', + 'pages' => $pages, + 'name' => $formClass::getName(), + 'page' => $page, + ]); + } +} |
