Projet

Général

Profil

Paste
Statistiques
| Branche: | Révision:

root / _scripts / install.php @ 232b0a2c

Historique | Voir | Annoter | Télécharger (4,01 ko)

1
<?php
2
//debug($_POST);
3

    
4
if (count($_POST)>0) {
5
  // installation de la BDD
6
  echo "<h2>Installation de la base de données</h2>";
7

    
8
  // Contact avec la base de donnée
9
  echo "<p>Tentative de connexion à la base de données ..........";
10
  try {
11
    $db = "mysql:host=".$_POST["dbHost"].";dbname=".$_POST["dbName"];
12
    $dbh = new PDO($db, $_POST["dbUsername"], $_POST["dbPassword"]);
13
  } catch (PDOException $e) {
14
      print "Erreur !: " . $e->getMessage();
15
      die();
16
  }
17
  echo "<b>Connexion réussie</b></p>";
18

    
19
  echo "<p>Création des tables dans la base de données.........";
20
  $fileRequete = "sqlInstall.txt";
21
  $handle = fopen("sqlInstall.txt", "r");
22
  $data = fread($handle, filesize("sqlInstall.txt"));
23
  fclose($handle);
24
  $requetes = explode("{{**********}}",$data);
25
  foreach($requetes as $sql) {
26
    $query = $dbh->query($sql);
27
    if ($query === false) {
28
      die ("Erreur<br />requete : $sql");
29
    }
30
  }
31
  echo "<b>OK</b></p>";
32

    
33

    
34
  // Création du fichier de configuration
35
  echo "<p>Création du fichier de configuration...............";
36

    
37
  $filename = "../_config/config_template.php";
38
  $dest = "../_config/config.php";
39

    
40
  $handle = fopen($filename, "r");
41
  if ($handle === false) {
42
    die("Erreur lors de la l'ouverture du temmplate de configuration");
43
  }
44
  $data = fread($handle, filesize($filename));
45
  if ($data  === false) {
46
    die("Erreur lors de la lecture du template de configuration");
47
  }
48
  fclose($handle);
49

    
50
  $data = str_replace("{{dbhost}}", $_POST['dbHost'],$data);
51
  $data = str_replace("{{dbname}}", $_POST['dbName'],$data);
52
  $data = str_replace("{{dbusername}}", $_POST['dbUsername'],$data);
53
  $data = str_replace("{{dbpassword}}", $_POST['dbPassword'],$data);
54

    
55
  $fp = fopen($dest, 'w');
56
  if ($fp  === false) {
57
    die("Erreur lors de la création du fichier de configuration");
58
  }
59
  if (fwrite($fp,$data) === false) {
60
    die("Erreur lors de l'écriture du fichier de configuration");
61
  }
62
  fclose($fp);
63

    
64
  // TOut s'est bien passé....
65
  echo "<b>OK</b></p>";
66

    
67
  echo "<h2>INSTALLATION TERMINÉE</h2>";
68

    
69

    
70

    
71

    
72
} else {
73
  afficheFormulaire();
74
}
75

    
76
function afficheFormulaire() {
77
  ?>
78
  <!doctype html>
79
  <html>
80
  <head>
81
    <link rel="stylesheet" href="../assets/styles/css/bootstrap.min.css"/>
82
    <link rel="stylesheet" href="../assets/styles/css/all.min.css"/> <!-- fontawesome -->
83
    <script src="../assets/js/jquery-3.5.0.min.js"></script>
84
    <script src="../assets/js/bootstrap.min.js"></script>
85
    <title>Installation</title>
86
  </head>
87

    
88
  <body>
89
    <div class="container">
90
      <h1>INSTALLATION</h1>
91
      <form method="post" action="">
92
        <div class="form-group">
93
          <label for="dbHost">Database host</label>
94
          <input type="text" class="form-control" id="dbHost" name="dbHost" aria-describedby="dbHostHelp" required>
95
          <small id="dbHostHelp" class="form-text text-muted">Serveur d'hébergement de la BDD</small>
96
        </div>
97

    
98
        <div class="form-group">
99
          <label for="dbName">Database host</label>
100
          <input type="text" class="form-control" id="dbName" name="dbName" aria-describedby="dbNameHelp" required>
101
          <small id="dbNameHelp" class="form-text text-muted">nom de la BDD</small>
102
        </div>
103

    
104
        <div class="form-group">
105
          <label for="dbHost">Database username</label>
106
          <input type="text" class="form-control" id="dbUsername" name="dbUsername" aria-describedby="dbUsernameHelp" required>
107
          <small id="dbUsername" class="form-text text-muted">Identifiant de connexion à la BDD</small>
108
        </div>
109

    
110
        <div class="form-group">
111
          <label for="dbHost">Password</label>
112
          <input type="password" class="form-control" id="dbPassword" name="dbPassword" aria-describedby="dbPasswordHelp" required>
113
          <small id="dePasswordHelp" class="form-text text-muted">nom de la BDD</small>
114
        </div>
115

    
116
        <button type="submit" class="btn btn-primary">Démarrer l'installation</button>
117

    
118
      </form>
119
    </div>
120
  </body>
121
  </html>
122
  <?php
123
}
124

    
125

    
126
 function debug($var) {
127
   echo '<pre>';
128
   var_dump($var);
129
   echo '</pre>';
130
 }
131

    
132
 ?>
Redmine Appliance - Powered by TurnKey Linux