servers.inc.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * Server create and edit view
  5. *
  6. * @package PhpMyAdmin-Setup
  7. */
  8. use PhpMyAdmin\Config\ConfigFile;
  9. use PhpMyAdmin\Config\Forms\Setup\ServersForm;
  10. use PhpMyAdmin\Core;
  11. use PhpMyAdmin\Setup\FormProcessing;
  12. use PhpMyAdmin\Url;
  13. if (!defined('PHPMYADMIN')) {
  14. exit;
  15. }
  16. $mode = isset($_GET['mode']) ? $_GET['mode'] : null;
  17. $id = Core::isValid($_GET['id'], 'numeric') ? intval($_GET['id']) : null;
  18. /** @var ConfigFile $cf */
  19. $cf = $GLOBALS['ConfigFile'];
  20. $server_exists = !empty($id) && $cf->get("Servers/$id") !== null;
  21. if ($mode == 'edit' && $server_exists) {
  22. $page_title = __('Edit server')
  23. . ' ' . $id
  24. . ' <small>(' . htmlspecialchars($cf->getServerDSN($id)) . ')</small>';
  25. } elseif ($mode == 'remove' && $server_exists && $_SERVER['REQUEST_METHOD'] == 'POST') {
  26. $cf->removeServer($id);
  27. header('Location: index.php' . Url::getCommonRaw());
  28. exit;
  29. } elseif ($mode == 'revert' && $server_exists) {
  30. // handled by process_formset()
  31. } else {
  32. $page_title = __('Add a new server');
  33. $id = 0;
  34. }
  35. if (isset($page_title)) {
  36. echo '<h2>' , $page_title . '</h2>';
  37. }
  38. $form_display = new ServersForm($cf, $id);
  39. FormProcessing::process($form_display);