3 * Front controller for setup script
6 declare(strict_types
=1);
8 use PhpMyAdmin\Controllers\Setup\ConfigController
;
9 use PhpMyAdmin\Controllers\Setup\FormController
;
10 use PhpMyAdmin\Controllers\Setup\HomeController
;
11 use PhpMyAdmin\Controllers\Setup\ServersController
;
13 use PhpMyAdmin\Template
;
16 if (! defined('ROOT_PATH')) {
17 // phpcs:disable PSR1.Files.SideEffects
18 define('ROOT_PATH', dirname(__DIR__
) . DIRECTORY_SEPARATOR
);
24 require ROOT_PATH
. 'setup/lib/common.inc.php';
26 if (@file_exists
(CONFIG_FILE
) && ! $cfg['DBG']['demo']) {
27 Core
::fatalError(__('Configuration already exists, setup is disabled!'));
30 $page = Core
::isValid($_GET['page'], 'scalar') ?
(string) $_GET['page'] : null;
31 $page = preg_replace('/[^a-z]/', '', $page);
36 Core
::noCacheHeader();
38 if ($page === 'form') {
39 $controller = new FormController($GLOBALS['ConfigFile'], new Template());
40 echo $controller->index([
41 'formset' => $_GET['formset'] ??
null,
47 if ($page === 'config') {
48 $controller = new ConfigController($GLOBALS['ConfigFile'], new Template());
49 echo $controller->index([
50 'formset' => $_GET['formset'] ??
null,
51 'eol' => $_GET['eol'] ??
null,
57 if ($page === 'servers') {
58 $controller = new ServersController($GLOBALS['ConfigFile'], new Template());
59 if (isset($_GET['mode']) && $_GET['mode'] === 'remove' && $_SERVER['REQUEST_METHOD'] === 'POST') {
60 $controller->destroy([
61 'id' => $_GET['id'] ??
null,
63 header('Location: index.php' . Url
::getCommonRaw());
68 echo $controller->index([
69 'formset' => $_GET['formset'] ??
null,
70 'mode' => $_GET['mode'] ??
null,
71 'id' => $_GET['id'] ??
null,
77 $controller = new HomeController($GLOBALS['ConfigFile'], new Template());
78 echo $controller->index([
79 'formset' => $_GET['formset'] ??
null,
80 'action_done' => $_GET['action_done'] ??
null,
81 'version_check' => $_GET['version_check'] ??
null,