Blame view

pma/setup/config.php 2.14 KB
a1684257   Administrator   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  <?php
  /* vim: set expandtab sw=4 ts=4 sts=4: */
  /**
   * Front controller for config view / download and clear
   *
   * @package PhpMyAdmin-setup
   */
  
  /**
   * Core libraries.
   */
  require './lib/common.inc.php';
  require_once './libraries/config/Form.class.php';
  require_once './libraries/config/FormDisplay.class.php';
  require_once './setup/lib/ConfigGenerator.class.php';
  
  require './libraries/config/setup.forms.php';
  
  $form_display = new FormDisplay();
  $form_display->registerForm('_config.php', $forms['_config.php']);
  $form_display->save('_config.php');
  $config_file_path = ConfigFile::getInstance()->getFilePath();
  
  if (isset($_POST['eol'])) {
      $_SESSION['eol'] = ($_POST['eol'] == 'unix') ? 'unix' : 'win';
  }
  
  if (PMA_ifSetOr($_POST['submit_clear'], '')) {
      //
      // Clear current config and return to main page
      //
      ConfigFile::getInstance()->resetConfigData();
      // drop post data
      header('HTTP/1.1 303 See Other');
      header('Location: index.php');
      exit;
  } elseif (PMA_ifSetOr($_POST['submit_download'], '')) {
      //
      // Output generated config file
      //
      PMA_download_header('config.inc.php', 'text/plain');
      echo ConfigGenerator::getConfigFile();
      exit;
  } elseif (PMA_ifSetOr($_POST['submit_save'], '')) {
      //
      // Save generated config file on the server
      //
      file_put_contents($config_file_path, ConfigGenerator::getConfigFile());
      header('HTTP/1.1 303 See Other');
      header('Location: index.php?action_done=config_saved');
      exit;
  } elseif (PMA_ifSetOr($_POST['submit_load'], '')) {
      //
      // Load config file from the server
      //
      $cfg = array();
      include_once $config_file_path;
      ConfigFile::getInstance()->setConfigData($cfg);
      header('HTTP/1.1 303 See Other');
      header('Location: index.php');
      exit;
  } elseif (PMA_ifSetOr($_POST['submit_delete'], '')) {
      //
      // Delete config file on the server
      //
      @unlink($config_file_path);
      header('HTTP/1.1 303 See Other');
      header('Location: index.php');
      exit;
  } else {
      //
      // Show generated config file in a <textarea>
      //
      header('HTTP/1.1 303 See Other');
      header('Location: index.php?page=config');
      exit;
  }
  ?>