<?php
if(!isset($_SESSION['lang'])) {
	$_SESSION['lang'] = 'fr';
	if(@$langue['valeur'] != "") {
		$_SESSION['lang'] = @$langue['valeur'];
	}
}
require_once('../include/lang/'.$_SESSION['lang'].'.php');
echo '<p style="text-align:center;font-size:1.4em;padding-top:20px;">'.INSTALLBDD.'</p>'; flush(); ob_flush();
@include('idl_multi.php');
if($_POST['login']==""&&$_POST['mdp']=="") {
	echo '<script language="Javascript">
	<!--
	document.location.replace("../index.php");
	// -->
	</script>';
}
else {
	$server = $_POST['server'];
	$user = $_POST['user'];
	$pwd = $_POST['pwd'];
	$base = $_POST['base'];
	$prefix = $_POST['prefix'];
	echo '<meta charset="utf-8" />';

	if($server == '127.0.0.1') {
		$bdd = @mysqli_connect($server, $user, $pwd); // Connexion à MySQL
			if(!$testbdd = @mysqli_connect($server, $user, $pwd, $base)){
				@mysqli_query($bdd, 'CREATE DATABASE '.$base.' CHARACTER SET = utf8 COLLATE = utf8_unicode_ci') ;
				$bdd = @mysqli_connect($server, $user, $pwd, $base);
			} 
		@mysqli_close($bdd); // Déconnexion de MySQL
		
		// On crée la structure :
		try {
			@$bdd = new mysqli($server, $user, $pwd, $base);
		}
		catch (Exception $e)
		{
			exit('<p style="text-align:center;font-size:1.4em;padding-top:5px;">'.BDDERROR.' <a href="../install.php">'.BACKFORM.'</a></p>');
		}
		// on crée la structure dans la base de données choisie :
		$sql = file_get_contents('idlog.sql');
		if (@$bdd->multi_query($sql)) {
		    do {
		        // Avancer dans les résultats intermédiaires
		    } while ($bdd->more_results() && $bdd->next_result());
		} else {
		    echo "Erreur SQL : " . $bdd->error;
		}
		// On prépare le fichier de connexion :
		$ouverture = opendir("/");
		$lecture = readdir($ouverture);
		if (!file_exists('idl_connect_data.php')) {
			@rename ("_idl_connect_data.php", "idl_connect_data.php");
		}
		if (!file_exists('idl_multi.php')) {
			@rename ("_idl_multi.php", "idl_multi.php");
		}
		require_once('idl_multi.php');
		closedir($ouverture);
		// On modifie les paramètres de connexion à la base de données dans db/idl_connect.php
		if(@$multi=='OFF') {
			include('change_connect.php');
		}
		// On intègre les données initiales dans la base :
		include('install_param.php');	
		include('install_savoirs.php');
		// On crée l'admin :
		if(@$multi=="ON"&&@$multipref=="1") {
			$new_admin = mysqli_real_escape_string($bdd,substr($_POST['login'],5));
		}
		else {
			$new_admin = mysqli_real_escape_string($bdd,$_POST['login']);
		}
		$new_mdp = mysqli_real_escape_string($bdd,$_POST['mdp']);
		do {
		    $sel = bin2hex(random_bytes(16));
		} while ($sel === '0');
		$mdp_avec_sel = $new_mdp.$sel;
		$hashed_password = hash('sha256', $mdp_avec_sel);

		$user = mysqli_query($bdd, "INSERT INTO preidlog_user (login, mdp, sel, droits, accueil, droits_spe, freq_res_dureemax, lang) VALUES ('$new_admin', '$hashed_password', '$sel', '222222', '6', 'def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def', '0', 'fr')");

		include('install_dirs.php');
		// On change le préfixe des tables :
		include('install_prefix.php');
	}

	else {
		// On crée la structure :
		try {
			@$bdd = new PDO('mysql:host='.$server.';dbname='.$base.';charset=utf8', ''.$user.'', ''.$pwd.'');
		}
		catch (Exception $e) {
			exit('<p style="text-align:center;font-size:1.4em;padding-top:5px;">'.BDDERR2.' <a href="../install.php">'.BACKFORM.'</a></p>');
		}
		// on crée la structure dans la base de données choisie :
		$bdd->query(file_get_contents('idlog.sql'));
		// On prépare le fichier de connexion :
		$ouverture = @opendir("/");
		if ($ouverture !== false) {
		    $lecture = readdir($ouverture); // Lecture seulement si le handle est valide
		    @closedir($ouverture); // Fermeture possible puisque le handle est valide
		}
		if (!file_exists('idl_connect_data.php') && file_exists('_idl_connect_data.php')) {
		    rename('_idl_connect_data.php', 'idl_connect_data.php');
		}

		if (!file_exists('idl_multi.php') && file_exists('_idl_multi.php')) {
		    rename('_idl_multi.php', 'idl_multi.php');
		}
		require_once('idl_multi.php');
		// On modifie les paramètres de connexion à la base de données dans db/idl_connect.php
		if(@$multi=='OFF') {
			include('change_connect.php');
		}
		// On intègre les données initiales dans la base :
		include('install_param.php');
		include('install_savoirs.php');
		// On crée l'admin :
		if(@$multi=="ON"&&@$multipref=="1") {
			$new_admin = mysqli_real_escape_string($bdd,substr($_POST['login'],5));
		}
		else {
			$new_admin = mysqli_real_escape_string($bdd,$_POST['login']);
		}
		$new_mdp = mysqli_real_escape_string($bdd,$_POST['mdp']);
		do {
		    $sel = bin2hex(random_bytes(16));
		} while ($sel === '0');
		$mdp_avec_sel = $new_mdp.$sel;
		$hashed_password = hash('sha256', $mdp_avec_sel);

		$user = mysqli_query($bdd, "INSERT INTO preidlog_user (login, mdp, sel, droits, accueil, droits_spe, freq_res_dureemax, lang) VALUES ('$new_admin', '$hashed_password', '$sel', '222222', '6', 'def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def;def', '0', 'fr')");
		if(@$multi=="OFF") {
			include('idl_connect_data.php');
			$bdd = mysqli_connect($server,$user,$pwd,$base);
		}
		include('install_dirs.php');
		// On change le préfixe des tables :
		include('install_prefix.php');
	}
}
?>


 
