servers.inc.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. if (!defined('PHPMYADMIN')) {
  9. exit;
  10. }
  11. /**
  12. * Core libraries.
  13. */
  14. require_once './libraries/config/Form.class.php';
  15. require_once './libraries/config/FormDisplay.class.php';
  16. require_once './setup/lib/form_processing.lib.php';
  17. require './libraries/config/setup.forms.php';
  18. $mode = isset($_GET['mode']) ? $_GET['mode'] : null;
  19. $id = PMA_isValid($_GET['id'], 'numeric') ? $_GET['id'] : null;
  20. $cf = ConfigFile::getInstance();
  21. $server_exists = !empty($id) && $cf->get("Servers/$id") !== null;
  22. if ($mode == 'edit' && $server_exists) {
  23. $page_title = __('Edit server')
  24. . ' ' . $id . ' <small>(' . htmlspecialchars($cf->getServerDSN($id)) . ')</small>';
  25. } elseif ($mode == 'remove' && $server_exists) {
  26. $cf->removeServer($id);
  27. header('Location: index.php');
  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 FormDisplay();
  39. foreach ($forms['Servers'] as $form_name => $form) {
  40. $form_display->registerForm($form_name, $form, $id);
  41. }
  42. process_formset($form_display);
  43. ?>