mirror of
https://github.com/ZeJMaN/LBCAlerte_ynh.git
synced 2025-07-06 20:00:48 +02:00
Initial commit
Functional, without SSO
This commit is contained in:
83
sources/app/install/scripts/index.php
Normal file
83
sources/app/install/scripts/index.php
Normal file
@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
$errors = array();
|
||||
$formErrors = array();
|
||||
$messages = array();
|
||||
|
||||
if (!is_writable(DOCUMENT_ROOT."/var")) {
|
||||
$errors[] = "Il est nécessaire de pouvoir écrire dans le dossier 'var' (".DOCUMENT_ROOT."/var".").";
|
||||
}
|
||||
|
||||
if (!$errors && $_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
if (empty($_POST["password"])) {
|
||||
$formErrors["password"] = "Ce champ est obligatoire";
|
||||
} elseif (empty($_POST["confirmPassword"]) || $_POST["confirmPassword"] != $_POST["password"]) {
|
||||
$formErrors["confirmPassword"] = "Les mots de passe ne sont pas identiques.";
|
||||
}
|
||||
|
||||
if (!empty($_POST["db"]["user"]) || !empty($_POST["db"]["dbname"])) {
|
||||
if (empty($_POST["db"]["host"])) {
|
||||
$formErrors["db"]["host"] = "Nom d'hôte invalide.";
|
||||
}
|
||||
if (empty($_POST["db"]["user"])) {
|
||||
$formErrors["db"]["user"] = "Spécifiez un nom d'utilisateur.";
|
||||
}
|
||||
if (empty($_POST["db"]["dbname"])) {
|
||||
$formErrors["db"]["dbname"] = "Spécifiez une base de données.";
|
||||
}
|
||||
if (!empty($_POST["db"]["user"]) && !empty($_POST["db"]["dbname"])) {
|
||||
// test de connexion
|
||||
$dbConnection = new mysqli(
|
||||
$_POST["db"]["host"], $_POST["db"]["user"],
|
||||
$_POST["db"]["password"], $_POST["db"]["dbname"]);
|
||||
if ($dbConnection->connect_error) {
|
||||
$formErrors["db"]["host"] = "Connexion impossible à la base de données.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$formErrors) {
|
||||
if (!is_dir(DOCUMENT_ROOT."/var/configs")) {
|
||||
mkdir(DOCUMENT_ROOT."/var/configs");
|
||||
}
|
||||
if (!is_dir(DOCUMENT_ROOT."/var/feeds")) {
|
||||
mkdir(DOCUMENT_ROOT."/var/feeds");
|
||||
}
|
||||
if (!is_dir(DOCUMENT_ROOT."/var/log")) {
|
||||
mkdir(DOCUMENT_ROOT."/var/log");
|
||||
}
|
||||
$config->set("general", "version", APPLICATION_VERSION);
|
||||
if (isset($dbConnection)) {
|
||||
$config->set("storage", "type", "db");
|
||||
$config->set("storage", "options", array(
|
||||
"host" => $_POST["db"]["host"],
|
||||
"user" => $_POST["db"]["user"],
|
||||
"password" => $_POST["db"]["password"],
|
||||
"dbname" => $_POST["db"]["dbname"],
|
||||
));
|
||||
} else {
|
||||
$config->set("storage", "type", "files");
|
||||
}
|
||||
$config->save();
|
||||
|
||||
$storageType = $config->get("storage", "type", "files");
|
||||
if ($storageType == "db") {
|
||||
// installation de la base
|
||||
require DOCUMENT_ROOT."/others/install/schema.php";
|
||||
|
||||
$userStorage = new \App\Storage\Db\User($dbConnection);
|
||||
} else {
|
||||
$userStorage = new \App\Storage\File\User(DOCUMENT_ROOT."/var/users.db");
|
||||
}
|
||||
|
||||
// table utilisateurs
|
||||
$user = new \App\User\User(array(
|
||||
"username" => "admin",
|
||||
"password" => sha1($_POST["password"])
|
||||
));
|
||||
$userStorage->save($user);
|
||||
|
||||
header("LOCATION: ?mod=install&success=true");
|
||||
exit;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user