index.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /**
  3. * Front controller for setup script
  4. */
  5. declare(strict_types=1);
  6. use PhpMyAdmin\Controllers\Setup\ConfigController;
  7. use PhpMyAdmin\Controllers\Setup\FormController;
  8. use PhpMyAdmin\Controllers\Setup\HomeController;
  9. use PhpMyAdmin\Controllers\Setup\ServersController;
  10. use PhpMyAdmin\Core;
  11. use PhpMyAdmin\Template;
  12. use PhpMyAdmin\Url;
  13. if (! defined('ROOT_PATH')) {
  14. // phpcs:disable PSR1.Files.SideEffects
  15. define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
  16. // phpcs:enable
  17. }
  18. global $cfg;
  19. require ROOT_PATH . 'setup/lib/common.inc.php';
  20. if (@file_exists(CONFIG_FILE) && ! $cfg['DBG']['demo']) {
  21. Core::fatalError(__('Configuration already exists, setup is disabled!'));
  22. }
  23. $page = Core::isValid($_GET['page'], 'scalar') ? (string) $_GET['page'] : '';
  24. $page = preg_replace('/[^a-z]/', '', $page);
  25. if ($page === '') {
  26. $page = 'index';
  27. }
  28. Core::noCacheHeader();
  29. if ($page === 'form') {
  30. $controller = new FormController($GLOBALS['ConfigFile'], new Template());
  31. echo $controller->index([
  32. 'formset' => $_GET['formset'] ?? null,
  33. ]);
  34. return;
  35. }
  36. if ($page === 'config') {
  37. $controller = new ConfigController($GLOBALS['ConfigFile'], new Template());
  38. echo $controller->index([
  39. 'formset' => $_GET['formset'] ?? null,
  40. 'eol' => $_GET['eol'] ?? null,
  41. ]);
  42. return;
  43. }
  44. if ($page === 'servers') {
  45. $controller = new ServersController($GLOBALS['ConfigFile'], new Template());
  46. if (isset($_GET['mode']) && $_GET['mode'] === 'remove' && $_SERVER['REQUEST_METHOD'] === 'POST') {
  47. $controller->destroy([
  48. 'id' => $_GET['id'] ?? null,
  49. ]);
  50. header('Location: index.php' . Url::getCommonRaw());
  51. return;
  52. }
  53. echo $controller->index([
  54. 'formset' => $_GET['formset'] ?? null,
  55. 'mode' => $_GET['mode'] ?? null,
  56. 'id' => $_GET['id'] ?? null,
  57. ]);
  58. return;
  59. }
  60. $controller = new HomeController($GLOBALS['ConfigFile'], new Template());
  61. echo $controller->index([
  62. 'formset' => $_GET['formset'] ?? null,
  63. 'action_done' => $_GET['action_done'] ?? null,
  64. 'version_check' => $_GET['version_check'] ?? null,
  65. ]);