<?php
// Fonctions d'installation de l'application
/* ces fonctions ne servent normalement qu'une seule fois.
Elles permettent aussi de réinstaller la base de données afin de changer de contexte.

attention, pour que la base puisee être chargée, il faut que les fichiers suivants existent :
./scriptDB/createDB.sql = fichier des requêtes de création de la base de données.
./scriptDB/insertDB_X.sql = fichier des requêtes d'insertion des données, avec X le nom du contexte.

il existe actuellement 2 contextes (sans accent ou caractère spécial) : 
	velo 	: atelier de cyclisme, vente de vélo et accessoires, assemblage de roues
	ski		: fabrication et vente de skis, vente d'accessoires (ski nus et fixations, bâtons, gants, ...) 

*/
function chk_install(){
include ("config/dbCfg.inc.php");
	$connexion=mysql_connect($hote,$login,$mdp);
	
	// contrôle de la connextion et renvoi de l'identifiant (pointeur) de la connexion
	$install=0;
	if ($connexion)  {
		$requete="SHOW databases ;";
		// modification du jeu de caractÃ¨res de la connexion
		$requete_id = mysql_query($requete, $connexion);
		while (	$enreg = mysql_fetch_array($requete_id)){
			if ($enreg[0]==$bd) $install=1;
		}
		//echo "<br>DBG - $bd install=$install";
		if ($install==1){
			$requete="SHOW tables from $bd ;";
			// modification du jeu de caractÃ¨res de la connexion
			$requete_id = mysql_query($requete, $connexion);
			$i=0;
			while (	$enreg = mysql_fetch_array($requete_id)){
				$i++;
			}
			if ($i>0) $install=2; // on va dire qu'à priori c'est bon ...
			//echo "<br>DBG - $bd install=$install";
		}
	}
	return $install;
}
function do_install(){
include ("config/dbCfg.inc.php");
global $_REQUEST;
$createDB="createDB.sql";
$dirLocal="./scriptDB/";
$IDBfile="";
$IDBfile_prefix="insertBD_";
$IDBfile_suffix=".inc.php";

	// contrôle de la base de données
	$db_installed=chk_install();
	if (isset($_REQUEST['do_Install'])){
		if ($db_installed<1){
			$connexion=mysql_connect($hote,$login,$mdp);
			echo mysql_error();
			if ($connexion)  {
				echo "<br><font color=blue>Installation de la base de données en cours</font>";
				$requete="CREATE DATABASE `$bd` ;";
				$requete_id = mysql_query($requete, $connexion);
				if (mysql_errnum())
					echo "<br><font color=red>".mysql_error()."</font>";
				else echo "<br><font color=blue>Base de donnée créée</font>";
			}else echo "erreur de connexion, création de la table impossible. 
				<br>vérifier le fonctionnement du serveur ou les paramètres de connexion dans le fichier de configuration.";
		}
	}
	// vérif
	if ($db_installed<1){
		echo "<h2><font color=orange>Actuellement, la base $bd n'est pas installée</font></h2>";
	}else {
		echo "<h2><font color=green>La base $bd est installée.</font></h2>";
	}

	// contrôle du contexte
	if (isset($_REQUEST['do_Install'])){
		(isset($_REQUEST['context']))?$context=$_REQUEST['context']:$context=false;
		if ($db_installed<2 && $context) {
			$IDBfile=$IDBfile_prefix.$context.$IDBfile_suffix;
			echo "<br><font color=blue>Installation du contexte $context en cours (fichier $IDBfile)</font>";
		}
	}
	// vérif
	$db_installed=chk_install();
	if ($db_installed<2){
		echo "<h2><font color=orange>Actuellement, aucun contexte n'est installé</font></h2>";
		if(!is_dir($dirLocal)) {
			echo "Attention, aucune donnée d'installation existante, installation impossible.
				<br>Vérifier que le fichier d'origine soit correct.";
			exit();
		}
		$dirId=opendir($dirLocal);
		while ($fileName = readdir($dirId)) { // revoir la procédure d'identification des fichiers de contexte, plutot les dentifier selon le préfixe & suffixe
			if ($fileName!=$createDB){
				$t_name=explode(".", $fileName);
				$t_name2=explode("_", $t_name[0]);
				//echo "<br>DBG - $fileName = ".(sizeof($t_name2))." $IDBfile_prefix";
				if (sizeof($t_name2)==2 )
					$t_insertData[]=$t_name2[1];
			}
		}
		
		if (isset($t_insertData)){
			//echo "<br>DBG - il y a des contextes";
			echo "<form>";
				echo "<h3>Choisir le contexte à charger</h3>";
				foreach ($t_insertData as $key=>$val){
					echo "<br><input type=radio name=context value=$val /> $val";
				}
				echo "<br><input type=submit name='do_Install' value='Installer maintenant' /><br>";
			echo "</form>";
		}else
			echo "Aucun contexte à charger, vérifier le fichier source de l'application.";
	}
}
?>