index.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * Front controller for setup script
  5. *
  6. * @package PhpMyAdmin-Setup
  7. * @license https://www.gnu.org/licenses/gpl.html GNU GPL 2.0
  8. */
  9. declare(strict_types=1);
  10. use PhpMyAdmin\Controllers\Setup\ConfigController;
  11. use PhpMyAdmin\Controllers\Setup\FormController;
  12. use PhpMyAdmin\Controllers\Setup\HomeController;
  13. use PhpMyAdmin\Controllers\Setup\ServersController;
  14. use PhpMyAdmin\Core;
  15. use PhpMyAdmin\Template;
  16. use PhpMyAdmin\Url;
  17. if (! defined('ROOT_PATH')) {
  18. define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
  19. }
  20. global $cfg;
  21. require ROOT_PATH . 'setup/lib/common.inc.php';
  22. if (@file_exists(CONFIG_FILE) && ! $cfg['DBG']['demo']) {
  23. Core::fatalError(__('Configuration already exists, setup is disabled!'));
  24. }
  25. $page = Core::isValid($_GET['page'], 'scalar') ? (string) $_GET['page'] : null;
  26. $page = preg_replace('/[^a-z]/', '', $page);
  27. if ($page === '') {
  28. $page = 'index';
  29. }
  30. Core::noCacheHeader();
  31. if ($page === 'form') {
  32. $controller = new FormController($GLOBALS['ConfigFile'], new Template());
  33. echo $controller->index([
  34. 'formset' => $_GET['formset'] ?? null,
  35. ]);
  36. } elseif ($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. } elseif ($page === 'servers') {
  43. $controller = new ServersController($GLOBALS['ConfigFile'], new Template());
  44. if (isset($_GET['mode']) && $_GET['mode'] === 'remove' && $_SERVER['REQUEST_METHOD'] == 'POST') {
  45. $controller->destroy([
  46. 'id' => $_GET['id'] ?? null,
  47. ]);
  48. header('Location: index.php' . Url::getCommonRaw());
  49. } else {
  50. echo $controller->index([
  51. 'formset' => $_GET['formset'] ?? null,
  52. 'mode' => $_GET['mode'] ?? null,
  53. 'id' => $_GET['id'] ?? null,
  54. ]);
  55. }
  56. } else {
  57. $controller = new HomeController($GLOBALS['ConfigFile'], new Template());
  58. echo $controller->index([
  59. 'formset' => $_GET['formset'] ?? null,
  60. 'action_done' => $_GET['action_done'] ?? null,
  61. 'version_check' => $_GET['version_check'] ?? null,
  62. ]);
  63. }