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!'));
31 if (isset($_GET['page']) && in_array($_GET['page'], ['form', 'config', 'servers'], true)) {
32 $page = $_GET['page'];
35 Core
::noCacheHeader();
37 if ($page === 'form') {
38 $controller = new FormController($GLOBALS['ConfigFile'], new Template());
39 echo $controller->index([
40 'formset' => $_GET['formset'] ??
null,
46 if ($page === 'config') {
47 $controller = new ConfigController($GLOBALS['ConfigFile'], new Template());
48 echo $controller->index([
49 'formset' => $_GET['formset'] ??
null,
50 'eol' => $_GET['eol'] ??
null,
56 if ($page === 'servers') {
57 $controller = new ServersController($GLOBALS['ConfigFile'], new Template());
58 if (isset($_GET['mode']) && $_GET['mode'] === 'remove' && ($_SERVER['REQUEST_METHOD'] ??
'GET') === 'POST') {
59 $controller->destroy([
60 'id' => $_GET['id'] ??
null,
62 header('Location: index.php' . Url
::getCommonRaw());
67 echo $controller->index([
68 'formset' => $_GET['formset'] ??
null,
69 'mode' => $_GET['mode'] ??
null,
70 'id' => $_GET['id'] ??
null,
76 $controller = new HomeController($GLOBALS['ConfigFile'], new Template());
77 echo $controller->index([
78 'formset' => $_GET['formset'] ??
null,
79 'version_check' => $_GET['version_check'] ??
null,