setup/index.php
author Markus Bröker<broeker.markus@googlemail.com>
Fri, 15 Sep 2017 09:58:42 +0200
changeset 49 611d4fe474d3
parent 39 8b4f9c6136f4
permissions -rw-r--r--
Document Root nach public verschoben
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
     1
<?php
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
     2
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
     3
header('Content-Type: text/plain');
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
     4
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
     5
$cfg = array(
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
     6
    'dsn' => 'mysql:host=localhost;',
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
     7
    'config' => array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'),
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
     8
    'username' => 'root',
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
     9
    'password' => '',
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    10
);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    11
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    12
require_once '../config/config.php';
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    13
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    14
use bfw\database\Database;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    15
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    16
$db = Database::getInstance($cfg);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    17
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    18
$dropSQLStatements = array(
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    19
    "DROP USER 'bfw'@'localhost'",
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    20
    "DROP DATABASE IF EXISTS bfw;",
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    21
);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    22
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    23
$createSQLStatements = array(
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    24
    "CREATE DATABASE bfw CHARACTER SET utf8 COLLATE utf8_unicode_ci;",
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    25
    "CREATE USER 'bfw'@'localhost' IDENTIFIED BY 'bfw';",
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    26
    "GRANT ALL PRIVILEGES ON bfw.* TO 'bfw'@'localhost' WITH GRANT OPTION;",
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    27
);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    28
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    29
foreach ($dropSQLStatements as $statement) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    30
    $status = $db->execute($statement);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    31
    echo sprintf("%s\n", $statement);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    32
}
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    33
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    34
foreach ($createSQLStatements as $statement) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    35
    $status = $db->execute($statement);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    36
    echo sprintf("%s\n", $statement);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    37
}
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    38
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    39
$handle = fopen(BFW_PATH . '/sql/init.sql', 'r');
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    40
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    41
$sql = "USE bfw;\n\n";
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    42
while (!feof($handle)) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    43
    $sql .= fgets($handle);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    44
}
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    45
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    46
fclose($handle);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    47
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    48
if ($db->execute($sql) == 0) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    49
    echo sprintf("%s", $sql);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    50
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    51
    header('Location: /');
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 19
diff changeset
    52
}