<?php
/****************************************************************************************
SMI (Services Maintenance Interventions) est une gestion libre de maintenance et de SAV

Version 0.9.7

Copyright (C) 2006-2007  Sylvain FATOME
This program is free software; you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program
(in the directory docs); 
if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
Boston, MA  02110-1301, USA.

Contact : galawa@free.fr

Web : http://smitst.homelinux.com
****************************************************************************************/

session_start(); 
// Gestion des rapports d'erreurs
error_reporting(E_ALL ^ E_NOTICE);

require_once ("../classes/phpmailer/class.phpmailer.php");

// Protection du lancement
$protect='SMI098';

if (array_key_exists('MDP',$_POST))
	$pwd=$_POST['MDP'];
else 
	$pwd='';

if ($pwd===$protect)
{
   setcookie('pwd',$pwd);
   header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
}

// MDP déjà enregistré ?
if (array_key_exists('pwd',$_COOKIE))
	$pwd=$_COOKIE['pwd'];
else
	$pwd='';

if ($pwd!==$protect)
	$pass=false; 
else
	$pass=true;


if ($pass==TRUE)
{
	// Détection de l'OS du serveur
	$windows = 0;
	$unix = 0;
	$os = getenv('OS');
	if (empty($os))
	{ 
		$os = php_uname();
	}
	if(empty($os))
	{
		$os ="-"; $unix=1;
	}
	else
	{
		if (@eregi("^win",$os))
			$windows = 1; 
		else
			$unix = 1;
	}
	
	// Caractères pour commentaires 
	$comment[]='#';
	$comment[]='-- ';
	$comment[]='---';      // Pour ancienne versions de mysqldump

	// Fichier de configuration
	$fic_prm  = "../inc/prm.inc.php";
	
	// Dernier code et numéro de version de SMI
	$last_ver="0.9.8";
	$no_ver="98";

	$etape1=FALSE;
	$etape2=FALSE;
	$etape3=FALSE;
	$etape4=FALSE;
	$etape5=FALSE;
	$etape6=FALSE;
	$etape7=FALSE;
	$etape8=FALSE;

	if (strip_tags(trim(@$_POST["val"])) != "Valider") // On a pas validé
	{
		if (!@include($fic_prm))
		{
			$update=FALSE;

			// Calcul du nom du répertoire où est installé SMI
			$racine_srv = $_SERVER['DOCUMENT_ROOT'];
			$tab_racine_srv=explode("/",$racine_srv);
			$nb_seq_racine_srv=count($tab_racine_srv);
			$chemin_install=$_SERVER['PATH_TRANSLATED'];
			$tab_chemin_install=explode("/",$chemin_install);
			
			$rep_smi="";
			$i=count($tab_racine_srv);
			while ($i<count($tab_chemin_install)-2) // "-2" pour ne pas compter le nom du fichier et le nom du répertoire d'installation
			{
				$rep_smi.=$tab_chemin_install[$i]."/";
				$i++;
			}
			$rep_smi=substr($rep_smi,0,strlen($rep_smi)-1);

			$mysql_dbname = "smi";
			$mysql_dbsrv = "localhost";
			$admin_login = "Administrateur";
			$tel_dirfic="telechgt/fictec";
			$tel_ext=".png,.zip,.pdf,.7z,.txt,.csv,.rtf,.wk1,.wks,.123,.iso,.xls,.doc,.ods,.odt,.odg,.odp,.odb,.sxw,.sxi,.sti,.sxd,.gz,.tar,.gif,.rar,.arj,.jpg,.ppt,.exe,.jpg,.gif,.bmp";
			$tel_sadmin=1024*6000;
			$tel_scge=1024*6000;
			$tel_sage=1024*3000;
			$tel_stec=1024*2000;
			$mail_port=25;
			$rep_ico="icones";
			$rep_logos="logos";
		}
		else
		{
			include($fic_prm);
			
			$update=TRUE;

			$rep_smi = REP;
			$mysql_dbname = DBNAME;
			$mysql_dbuser = DBUSER;
			$mysql_dbpass = DBPASS;
			$mysql_dbsrv = DBHOST;

			$currver=95; // Au minimum possible, version 0.9.5
			
			// Récupération du numéro de version courant
			$conn=mysql_connect($mysql_dbsrv, $mysql_dbuser, $mysql_dbpass);
			mysql_select_db($mysql_dbname,$conn);
			$rcons = "SELECT * FROM " .$mysql_dbname."_cons";
			$rscons = mysql_query($rcons) or die(mysql_error());
			if (mysql_num_rows($rscons) == 1) // Uniquement UN SEUL enregistrement !
			{
				if ($rowcons = mysql_fetch_array($rscons)) 
					extract ($rowcons);
			}
			mysql_close($conn);
			if ((isset($cons_codever)==FALSE) OR ($cons_codever==0))
				$cons_codever=$currver;
			else
				$currver=$cons_codever;
			$str_cons_codever=$cons_codever;
			settype($str_cons_codever,"string");
			$ver="";
			switch (strlen($str_cons_codever))
			{
				case 1 :
					$ver="0.0.".$str_cons_codever[0];
					break;
				case 2 :
					$ver="0.".$str_cons_codever[0].".".$str_cons_codever[1];
					break;
				default :
					$ver=$str_cons_codever[0].".".$str_cons_codever[1].".".$str_cons_codever[2];
					break;
			}

			$ex_admin_login = $admin_code;
			$admin_login = $admin_code;
			$admin_pass = $admin_mdp;
	
			$tel_dirfic=substr($url_tfc,0,strlen($url_tfc)-1);
	
			$tel_ext="";
			for ($i=0 ; $i<count($extensions_ok); $i++)
			{
				$tel_ext.=$extensions_ok[$i].",";
			}
			$tel_ext=substr($tel_ext,0,strlen($tel_ext)-1);
			$tel_sadmin=$taille_maxi_admin;
			$tel_scge=$taille_maxi_cge;
			$tel_sage=$taille_maxi_age;
			$tel_stec=$taille_maxi_tec;
			$tab_smtp=explode(";",$smtp_nom);
			$mail_smtp="";
			for ($i=0 ; $i<count($tab_smtp); $i++)
			{
				$mail_smtp.=$tab_smtp[$i].",";
			}
			$mail_smtp=substr($mail_smtp,0,strlen($mail_smtp)-1);
			$mail_port=$smtp_port;
			$mail_login=$smtp_login;
			$mail_mdp=$smtp_mdp;
			$mail_mdp2=$smtp_mdp;
			$rep_ico=substr($chemin_icones,3,strlen($chemin_icones));
			$rep_logos=substr($chemin_logos,3,strlen($chemin_logos));
			$app_cal=$url_cal;
			$app_fact=$url_fac;
			$app_factcli=$url_facc;
		}
	}
	else // On a validé
	{
		$update=htmlspecialchars(stripslashes(trim($_POST["update"])));
		$currver=intval(htmlspecialchars(stripslashes(trim($_POST["currver"]))));
		$ver=htmlspecialchars(stripslashes(trim($_POST["version"])));
		$rep_smi=htmlspecialchars(stripslashes(trim($_POST["rep_smi"])));
		
		// Etape 1 : Contrôle de la connexion MySQL
		$mysql_dbname=htmlspecialchars(stripslashes(trim($_POST["mysql_dbname"])));
		$mysql_dbuser=htmlspecialchars(stripslashes(trim($_POST["mysql_dbuser"])));
		$mysql_dbpass=htmlspecialchars(stripslashes(trim($_POST["mysql_dbpass"])));
		$mysql_dbsrv=htmlspecialchars(stripslashes(trim($_POST["mysql_dbsrv"])));
		
		($conn = @mysql_connect($mysql_dbsrv, $mysql_dbuser, $mysql_dbpass)) or die("Impossible de se connecter au serveur");
		@mysql_select_db($mysql_dbname,$conn) or die("Impossible de se connecter &agrave; la base de donn&eacute;es");
		@mysql_close($conn);
		
		$etape1=TRUE;

		// Etape 2 : Contrôle du nom administrateur
		$ex_admin_login=htmlspecialchars(stripslashes(trim($_POST["ex_admin_login"])));
		$admin_login=htmlspecialchars(stripslashes(trim($_POST["admin_login"])));
		$admin_pass=htmlspecialchars(stripslashes(trim($_POST["admin_pass"])));

		if ($etape1==TRUE)
		{
			// Pas de contrôle si installation
			if ($update==TRUE)
			{
				// On ne contrôle que si on a changé de login
				if ($ex_admin_login!=$admin_login)
				{
					// Vérification que le code n'est pas déjà utilisé ailleurs
					$conn = @mysql_connect($mysql_dbsrv, $mysql_dbuser, $mysql_dbpass);
					mysql_select_db($mysql_dbname,$conn);
					$rech = "SELECT * FROM `" .$mysql_dbname. "_pw` WHERE `pw_code` = '" .$admin_login. "'";
					echo $rech."<br>";
					$rs = mysql_query($rech) or die("Mise &agrave; jour sur une table non existante !");
					if (mysql_num_rows($rs) == 0)
						$etape2=TRUE;
					else
						$etape2=FALSE;
					mysql_close($conn);
				}
					$etape2=TRUE;
			}
			else
				$etape2=TRUE;
		}

		// Etape 3 : Vérification des dossiers fichiers techniques et logs en lecture
		
		// Récupération données avec nettoyage
		$tel_dirfic=htmlspecialchars(stripslashes(trim($_POST["tel_dirfic"])));
		if ($tel_dirfic[0]=="/")
			$tel_dirfic=substr($tel_dirfic,1,strlen($tel_dirfic)-1);
		if ($tel_dirfic[strlen($tel_dirfic)-1]=="/")
			$tel_dirfic=substr($tel_dirfic,0,strlen($tel_dirfic)-1);

		// Tests
		if (($etape1==TRUE) AND ($etape2==TRUE))
		{
			$tel_repfic=$_SERVER['DOCUMENT_ROOT']."/".$tel_dirfic;
			if (is_dir($tel_repfic))
			{
				if (is_readable($tel_repfic))
				{
					$etape3=TRUE;
				}
			}
		}

		// Etape 4 : Vérification des dossiers en écriture
		if (($etape1==TRUE) AND ($etape2==TRUE) AND ($etape3==TRUE))
		{
			if (is_writable($tel_repfic))
			{
				$etape4=TRUE;
			}
		}
		
		// Liste des extensions autorisées
		// Avec contrôle des doublons
		$lst_ext='';
		$tel_ext=htmlspecialchars(stripslashes(trim($_POST["tel_ext"])));
		$tab_ext=explode(',',$tel_ext);
		for ($i=0 ; $i<count($tab_ext) ; $i++)
		{
			if(stristr($lst_ext,trim($tab_ext[$i]))==FALSE)
				$lst_ext.="\"".trim($tab_ext[$i])."\",";
		}
		$lst_ext=substr($lst_ext,0,strlen($lst_ext)-1);
		
		// Etape 5 :Tailles des téléchargements
		$tel_sadmin=htmlspecialchars(stripslashes(trim($_POST["tel_sadmin"])));
		$tel_scge=htmlspecialchars(stripslashes(trim($_POST["tel_scge"])));
		$tel_sage=htmlspecialchars(stripslashes(trim($_POST["tel_sage"])));
		$tel_stec=htmlspecialchars(stripslashes(trim($_POST["tel_stec"])));
		if (($etape1==TRUE) AND ($etape2==TRUE) AND ($etape3==TRUE) AND ($etape4==TRUE))
		{		
			$err_taille=FALSE;
			
			if (($tel_sadmin%1024)!=0)
				$err_taille=TRUE;
			if (($tel_scge%1024)!=0)
				$err_taille=TRUE;
			if (($tel_sage%1024)!=0)
				$err_taille=TRUE;
			if (($tel_stec%1024)!=0)
				$err_taille=TRUE;
				
			if ($err_taille==FALSE)
				$etape5=TRUE;
		}

		// Etape 6 : Vérification du dossier icônes en lecture

		// Récupération données avec nettoyage
		$rep_ico=htmlspecialchars(stripslashes(trim($_POST["rep_ico"])));
		if ($rep_ico[0]=="/")
			$rep_ico=substr($rep_ico,1,strlen($rep_ico)-1);
		if ($rep_ico[strlen($rep_ico)-1]=="/")
			$rep_ico=substr($rep_ico,0,strlen($rep_ico)-1);

		// Tests
		if (($etape1==TRUE) AND ($etape2==TRUE) AND ($etape3==TRUE) AND ($etape4==TRUE) AND ($etape5==TRUE))
		{
			$dir_ico="../".$rep_ico;
			if (is_dir($dir_ico))
			{
				if (is_readable($dir_ico))
				{
					$etape6=TRUE;
				}
			}
		}

		// Etape 7 : Vérification du dossier logos en lecture

		// Récupération données avec nettoyage
		$rep_logos=htmlspecialchars(stripslashes(trim($_POST["rep_logo"])));
		if ($rep_logos[0]=="/")
			$rep_logos=substr($rep_logo,1,strlen($rep_logos)-1);
		if ($rep_logos[strlen($rep_logos)-1]=="/")
			$rep_logos=substr($rep_logos,0,strlen($rep_logos)-1);

		// Tests
		if (($etape1==TRUE) AND ($etape2==TRUE) AND ($etape3==TRUE) AND ($etape4==TRUE) AND ($etape5==TRUE) AND ($etape6==TRUE))
		{
			$dir_logos="../".$rep_logos;
			if (is_dir($dir_logos))
			{
				if (is_readable($dir_logos))
				{
					if (is_writable($dir_logos))
					{
						$etape7=TRUE;
					}
				}
			}
		}

		// Etape 8 : Vérification de l'envoi des emails
		$admin_name=htmlspecialchars(stripslashes(trim($_POST["admin_name"])));
		$admin_mail=htmlspecialchars(stripslashes(trim($_POST["admin_mail"])));
		$mail_smtp=htmlspecialchars(stripslashes(trim($_POST["mail_smtp"])));
		$mail_port=htmlspecialchars(stripslashes(trim($_POST["mail_port"])));

		if (($etape1==TRUE) AND ($etape2==TRUE) AND ($etape3==TRUE) AND ($etape4==TRUE) AND ($etape5==TRUE) AND ($etape6==TRUE) AND ($etape7==TRUE))
		{
			// Création de la liste des serveurs SMTP avec contrôle des doublons
			$lst_smtp_name="";
			$tab_smtp_name=explode(",",$mail_smtp);
			for ($i=0 ; $i<count($tab_smtp_name) ; $i++)
			{
				if(stristr($lst_smtp_name,trim($tab_smtp_name[$i]))==FALSE)
					$lst_smtp_name.=trim($tab_smtp_name[$i]).";";
			}
			$lst_smtp_name=substr($lst_smtp_name,0,strlen($lst_smtp_name)-1);
			
			// Envoi de l'email de test
			$mail = new PHPMailer();
			$mail->Host = $lst_smtp_name;
			$mail->Port = $mail_port;
			$mail->Helo = "localhost.localdomain";
			$mail->SMTPAuth = false;
			$mail->Username = "";
			$mail->Password = "";
			$mail->IsHTML(TRUE);
			$mail->Mailer = "smtp";
			$mail->Priority = 1;
			$mail->From = $admin_mail;
			$mail->FromName = $admin_name;
			$mail->Sender = $admin_mail;
			$mail->AddReplyTo($admin_mail, $admin_name);
			$mail->AddAddress($admin_mail);
			$mail->Subject = "Test email d'installation SMI";
			$corps="Bonjour,<br><br>";
			$corps.="Si vous recevez cet email, c'est que le test d'envoi d'email s'est bien d&eacute;roul&eacute;.<br><br>";
			$corps.="Merci d'utiliser SMI.<br><br>";
			$corps.="Bonne fin de journ&eacute;e.";
			$mail->Body = $corps;
			$sent = $mail->Send();
			$etape8=$sent;
		}

		$app_cal=htmlspecialchars(stripslashes(trim($_POST["app_cal"])));
		$app_fact=htmlspecialchars(stripslashes(trim($_POST["app_fact"])));
		$app_factcli=htmlspecialchars(stripslashes(trim($_POST["app_factcli"])));
	}


	// Lit un fichier SQL et exécute les commandes SQL
	function execute_fic_sql($nom_fic,$init_total)
	{
		global
			$comment,
			$mysql_dbname;
			
		$first=TRUE;
		$table_courante="";
	
		$handle=fopen($nom_fic, 'r');
		while (!feof($handle))
		{
			if ($first==TRUE)
				$rech="";
			$Ligne=fgets($handle,65535);
			if (trim($Ligne)!="")
			{
				$ligne_commentaire=FALSE;
				reset($comment);
				foreach ($comment as $comment_val)
				{ 
					$pos=strpos(trim($Ligne),$comment_val);
					if ($pos===0)
					{
						$ligne_commentaire=TRUE;
						break;
					}
				}
				
				if ($ligne_commentaire==FALSE)
				{
					$exec_ligne=TRUE;
					
					// On n'exécute pas si réinitialisation pas demandée
					$pos=strpos(trim($Ligne),"DROP TABLE IF EXISTS");
					if ($init_total==FALSE)
					{
						if ($pos===0)
						{
							$exec_ligne=FALSE;
						}
					}
						
					if ($exec_ligne==TRUE)
					{
						// On vérifie si le nom de la table a changé
						// Si oui, on l'affiche
						$analyse="";
	
						$pos=strpos(trim($Ligne),"ALTER TABLE");
						if ($pos===0)
						{
							$analyse = trim(ereg_replace("ALTER TABLE","",$Ligne));
						}
	
						$pos=strpos(trim($Ligne),"CREATE TABLE");
						if ($pos===0)
						{
							$analyse = trim(ereg_replace("CREATE TABLE","",$Ligne));
						}
	
						$pos=strpos(trim($Ligne),"INSERT INTO");
						if ($pos===0)
						{
							$analyse = trim(ereg_replace("INSERT INTO","",$Ligne));
						}
	
						$txt_comment="";
						if ($analyse!="")
						{
							$tab_analyse=explode(" ",$analyse);
							$nom_table=trim(ereg_replace("`","",$tab_analyse[0]));
							$nom_table=trim(ereg_replace(";","",$nom_table));
							if ($nom_table!=$table_courante)
							{
								if ($table_courante!="")
									echo "<span class=\"annot_std_gras\">OK</span> </div>";
								echo "<div align=\"center\">Table ".ereg_replace("smi_",$mysql_dbname."_",$nom_table)."  --> ";
								$table_courante=$nom_table;
							}
						}
	
						$Ligne = ereg_replace("smi_",$mysql_dbname."_",$Ligne);
						$rech.=rtrim($Ligne);
						$Ligne=trim($Ligne);
						if ($Ligne{strlen($Ligne)-1}==';') // On est arrivé en bout de commande SQL
						{
							$rech=substr($rech,0,strlen($rech)-1);
							$rs = mysql_query($rech) or die("<span class=\"titre_std_gras_jaune_frouge\">PAS OK</span><br>Erreur MySQL : ".mysql_error()."</body></html>");
							
							$first=TRUE;
						}
						else // On continue la commande
							$first=FALSE;
					}
				}
			}
		}
		fclose($handle);
		if ($table_courante!="")
			echo "<span class=\"annot_std_gras\">OK</span> </div>";
	}
}
?>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>SMI : Installation</title>

<!-- Feuille de style pour les affichages '" -->
<link href="../css/smi.css" rel="stylesheet" type="text/css">

<!-- Scripts Javascript pour contrôle de formulaire -->
<script	type="text/javascript" src="../jscript/vform/vform.js"></script>

<script language="javascript">
<?PHP
if ($pass==FALSE)
{
?>
var tab1_champ=new Array(
	"nom:MDP ; format:alphanum ; req:Y ; txt:Mot de passe; stok:frmok ; stbad:frmbad");
<?PHP 
}
else
{
?>
var tab2_champ=new Array(
<?PHP if ($update==FALSE) { ?>
	"nom:razc; format:liste ; req:Y ; txt:Remise à zéro complète ; vmn:1 ; stok:frmok ; stbad:frmbad",
<?PHP } ?>
<?PHP if ($update==TRUE) { ?>
	"nom:razctt; format:liste ; req:Y ; txt:Remise à niveau complète des textes types ; vmn:1 ; stok:frmok ; stbad:frmbad",
<?PHP } ?>
	"nom:rep_smi ; format:alphanum ; req:Y ; txt:Répertoire SMI; lmn:2 ; stok:frmok ; stbad:frmbad",
	"nom:mysql_dbname ; format:alphanum ; req:Y ; txt:Nom base de données; stok:frmok ; stbad:frmbad",
	"nom:mysql_dbuser ; format:alphanum ; req:Y ; txt:Utilisateur MySQL; stok:frmok ; stbad:frmbad",
	"nom:mysql_dbpass ; format:alphanum ; req:Y ; txt:Mot de passe MySQL; stok:frmok ; stbad:frmbad",
	"nom:mysql_dbpass2 ; format:alphanum ; req:Y ; txt:Mot de passe MySQL (confirmation); comp:mysql_dbpass ; stok:frmok ; stbad:frmbad",
	"nom:mysql_dbsrv ; format:txt ; req:Y ; txt:Serveur MySQL; stok:frmok ; stbad:frmbad",
	"nom:admin_name ; format:alphanum ; req:Y ; txt:Nom administrateur; stok:frmok ; stbad:frmbad",
	"nom:admin_mail ; format:mail ; req:Y ; txt:Email administrateur; stok:frmok ; stbad:frmbad",
	"nom:admin_login ; format:alphanum ; req:Y ; txt:Login administrateur; stok:frmok ; stbad:frmbad",
	"nom:admin_pass ; format:alphanum ; req:Y ; txt:Mot de passe administrateur; lmn:8 ; stok:frmok ; stbad:frmbad",
	"nom:admin_pass2 ; format:alphanum ; req:Y ; txt:Mot de passe administrateur (confirmation); comp:admin_pass ; lmn:8 ; stok:frmok ; stbad:frmbad",
	"nom:tel_dirfic ; format:chemin ; req:Y ; txt:Dossier des fichiers techniques; stok:frmok ; stbad:frmbad",
	"nom:tel_ext ; format:extens ; req:Y ; txt:Extensions autorisées; carenum:, ; lmn:3 ; lmx:4 ; stok:frmok ; stbad:frmbad",
	"nom:tel_sadmin ; format:unsigned ; req:Y ; txt:Taille maximum administrateurs; stok:frmok ; stbad:frmbad",
	"nom:tel_scge ; format:unsigned ; req:Y ; txt:Taille maximum centre de gestion; stok:frmok ; stbad:frmbad",
	"nom:tel_sage ; format:unsigned ; req:Y ; txt:Taille maximum agences; stok:frmok ; stbad:frmbad",
	"nom:tel_stec ; format:unsigned ; req:Y ; txt:Taille maximum techniciens; stok:frmok ; stbad:frmbad",
	"nom:mail_smtp ; format:txt ; req:Y ; txt:Nom serveur SMTP; carenum:, ;stok:frmok ; stbad:frmbad",
	"nom:mail_port ; format:unsigned ; req:Y ; txt:Port serveur SMTP; stok:frmok ; stbad:frmbad",
	"nom:mail_login ; format:txt ; req:N ; txt:Login SMTP; stok:frmok ; stbad:frmbad",
	"nom:mail_mdp ; format:txt ; req:N ; txt:Mot de Passe SMTP; stok:frmok ; stbad:frmbad",
	"nom:mail_mdp2 ; format:txt ; req:N ; txt:Mot de Passe SMTP (confirmation); comp:mail_mdp ; stok:frmok ; stbad:frmbad",
	"nom:rep_ico ; format:alphanum ; req:Y ; txt:Répertoire des icônes; stok:frmok ; stbad:frmbad",
	"nom:rep_logo ; format:alphanum ; req:Y ; txt:Répertoire des logos; stok:frmok ; stbad:frmbad",
	"nom:app_cal ; format:url_pref ; req:N ; txt:Lien application calendrier; stok:frmok ; stbad:frmbad",
	"nom:app_fact ; format:url_pref ; req:N ; txt:Lien application facturation; stok:frmok ; stbad:frmbad",
	"nom:app_factcli ; format:url_pref ; req:N ; txt:Lien application facturation clients; stok:frmok ; stbad:frmbad");
<?PHP } ?>
</script>

</head>

<body>

<?PHP
if ($pass==FALSE)
{
?>
<div align="center">
	<p><img src="../img/logo.gif" alt="logo" width="195" height="36"></p>
	<p>Saisir le mot de passe pour lancer l'installation :</p>
	<form name="passwd" action="install.php" method="post"  onSubmit="javascript:; return (VForm(this,tab1_champ,''));">
		<input type="password" name="MDP">
		<input type="submit" value="Confirmer">
	</form>
</div>
<?PHP
}
else
{
	if ($etape7==FALSE)  // On est pas arrivé au bout des tests...on réaffiche le formulaire
	{
?>
<form name="install" action="install.php" method="post"  onSubmit="javascript:; return (VForm(this,tab2_champ,''));">
<input name="update" type="hidden" id="update" value="<?PHP echo $update ?>">
<input name="currver" type="hidden" id="currver" value="<?PHP echo $currver ?>">
<input name="version" type="hidden" id="version" value="<?PHP echo $ver ?>">
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0">
<tr>
	<td valign="top">
		  <div align="center">
			<p><img src="../img/logo.gif" alt="logo" width="195" height="36"></p>
		  </div>
			<table width="900" border="0" align="center">
			<tr bgcolor="#FF0000">
				<td colspan="2">
				<div align="center" class="titre_std_gras_jaune_frouge"><strong>
				<?PHP if ($update==TRUE) { ?>
				Mise &agrave; jour de la version <?PHP echo $ver; ?> vers la version <?PHP echo $last_ver; ?>
				<?PHP } else { ?>
				Installation version <?PHP echo $last_ver; ?>
				<?PHP } ?>
				</strong></div>
				</td>
			</tr>
			<tr>
				<td colspan="2">
				<div align="center" class="annot_gras_it">
				Faites toujours une sauvegarde avant vos mises à jour !
				</div>
				</td>
			</tr>
			<tr>
				<td colspan="2">
				<div align="center">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				Saisie obligatoire
				</div>
				</td>
			</tr>
			<?PHP if ($update==FALSE) { ?>
			<tr>
				<td><div align="right" class="rubfrm">Remise &agrave; z&eacute;ro compl&egrave;te ?</div></td>
				<td>
				  <select name="razc">
					<option value="" selected>--- Merci de confirmer ---</option>
					<option value="N">Non</option>
					<option value="O">Oui</option>
				  </select>
				<div class="annot_petit_it">(Si 'oui', les tables seront enti&egrave;rement effac&eacute;es et recr&eacute;&eacute;es)</div>
				</td>
			</tr>
			<?PHP } ?>
			<?PHP if ($update==TRUE) { ?>
			<tr>
				<td><div align="right" class="rubfrm">Mise &agrave; niveau compl&egrave;te des textes types ?</div></td>
				<td>
				  <select name="razctt">
					<option value="" selected>--- Merci de confirmer ---</option>
					<option value="N">Non</option>
					<option value="O">Oui</option>
				  </select>
				  <br>
				<div class="annot_petit_it">(Si 'oui', les textes types que vous avez d&eacute;j&agrave; modif&eacute; seront enti&egrave;rement effac&eacute;es et recr&eacute;&eacute;s)</div>
				</td>
			</tr>
			<?PHP } ?>
			<tr>
				<td>&nbsp;</td>
				<td>&nbsp;</td>
			</tr>
			<tr>
				<td width="50%"><div align="right" class="rubfrm">R&eacute;pertoire o&ugrave; est install&eacute; SMI </div></td>
				<td>
				<input name="rep_smi" type="text" id="rep_smi" value="<?PHP echo $rep_smi; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire"><br>
				<span class="annot_petit_it">(Sous répertoire obligatoire, à partir de la racine du serveur web)</span>
				</td>
			</tr>
			<tr>
				<td colspan="2">&nbsp;</td>
			</tr>
			<tr bgcolor="#00CC00">
				<td colspan="2"><div align="center"><strong>Param&egrave;tres MySQL </strong></div></td>
			</tr>
			<tr>
				<td colspan="2"><div align="center">Saisissez les param&egrave;tres de connexion &agrave; MySQL. </div></td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Nom de la base de donn&eacute;es </div></td>
				<td>
				<input name="mysql_dbname" type="text" id="mysql_dbname" value="<?PHP echo $mysql_dbname; ?>" size="26" <?PHP if ($update==TRUE) echo "readonly=\"1\"" ?>>
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Utilisateur MySQL </div></td>
				<td>
				<input name="mysql_dbuser" type="text" id="mysql_dbuser" <?PHP if (isset($mysql_dbuser)) echo "value=\"".$mysql_dbuser."\""; ?> size="26" <?PHP if ($update==TRUE) echo "readonly=\"1\"" ?>>
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				<br>
				<span class="annot_petit_it">(Doit poss&eacute;der les droits 'SELECT', 'INSERT', 'UPDATE', DELETE', 'FILE', 'CREATE ', 'ALTER', 'INDEX', et 'DROP')</span>
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Mot de passe MySQL  </div></td>
				<td>
				<input name="mysql_dbpass" type="text" id="mysql_dbpass" <?PHP if (isset($mysql_dbpass)) echo "value=\"".$mysql_dbpass."\""; ?>size="26" <?PHP if ($update==TRUE) echo "readonly=\"1\"" ?>>
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Mot de passe MySQL (confirmer)</div></td>
				<td>
				<input name="mysql_dbpass2" type="text" id="mysql_dbpass2" <?PHP if (isset($mysql_dbpass)) echo "value=\"".$mysql_dbpass."\""; ?> size="26" <?PHP if ($update==TRUE) echo "readonly=\"1\"" ?>>
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Serveur MySQL  </div></td>
				<td>
				<input name="mysql_dbsrv" type="text" id="mysql_dbsrv" value="<?PHP echo $mysql_dbsrv; ?>" size="26" <?PHP if ($update==TRUE) echo "readonly=\"1\"" ?>>
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<?PHP if ($etape1==TRUE) { ?>
			<tr>
				<td colspan="2"><div align="center">Connexion MySQL --> <span class="annot_std_gras">OK</span> </div></td>
			</tr>
			<?PHP } ?>
			<tr>
				<td colspan="2">&nbsp;</td>
			</tr>
			<tr bgcolor="#00CC00">
				<td colspan="2"><div align="center"><strong>Param&egrave;tres administrateur et emails</strong></div></td>
			</tr>
			<tr>
				<td colspan="2"><div align="center">Saisissez les param&egrave;tres d&eacute;finissant l'administrateur de SMI et l'envoi des emails. </div></td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Nom de l'administrateur</div></td>
				<td><input name="admin_name" type="text" id="admin_name" <?PHP if (isset($admin_name)) echo "value=\"".$admin_name."\""; ?> size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				<span class="annot_petit_it">(Nom d'exp&eacute;dition pour les emails)</span>
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Email de l'administrateur </div></td>
				<td>
				<input name="admin_mail" type="text" id="admin_mail" <?PHP if (isset($admin_mail)) echo "value=\"".$admin_mail."\""; ?> size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Nom  du serveur SMTP</div></td>
				<td>
				<input name="mail_smtp" type="text" id="mail_smtp" <?PHP if (isset($mail_smtp)) echo "value=\"".$mail_smtp."\""; ?> size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				<br>
				<span class="annot_petit_it">(Vous pouvez &eacute;galement saisir une IP. Pour plusieurs, s&eacute;parez par des ',') </span>
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Port du serveur SMTP</div></td>
				<td>
				<input name="mail_port" type="text" id="mail_port" value="<?PHP echo $mail_port; ?>" size="10">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Login SMTP</div></td>
				<td>
				<input name="mail_login" type="text" id="mail_login" <?PHP if (isset($mail_login)) echo "value=\"".$mail_login."\""; ?> size="26">
				<br>
				<span class="annot_petit_it">(Uniquement si serveur SMTP avec authentification)</span>
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Mot de Passe SMTP</div></td>
				<td>
				<input name="mail_mdp" type="text" id="mail_mdp" <?PHP if (isset($mail_mdp)) echo "value=\"".$mail_mdp."\""; ?> size="26">
				<br>
				<span class="annot_petit_it">(Uniquement si serveur SMTP avec authentification)</span>
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Mot de Passe SMTP (confirmation)</div></td>
				<td>
				<input name="mail_mdp2" type="text" id="mail_mdp2" <?PHP if (isset($mail_mdp2)) echo "value=\"".$mail_mdp2."\""; ?> size="26">
				<br>
				<span class="annot_petit_it">(Uniquement si serveur SMTP avec authentification)</span>
				</td>
			</tr>
			<?PHP if ($etape8==TRUE) { ?>
			<tr>
				<td colspan="2"><div align="center">Test envoi email  --> <span class="annot_std_gras">OK</span> </div></td>
			</tr>
			<?PHP } else { if (strip_tags(trim(@$_POST["val"])) == "Valider") {?>
			<tr>
				<td colspan="2"><div align="center">Test envoi email  --> <span class="titre_std_gras_jaune_frouge">PAS OK</span> </div></td>
			</tr>
			<?PHP } } ?>
			<tr>
				<td><div align="right" class="rubfrm">Code &quot;Administrateur&quot;  </div></td>
				<td>
				<input name="ex_admin_login" type="hidden" id="ex_admin_login" value="<?PHP echo $ex_admin_login; ?>" size="26">
				<input name="admin_login" type="text" id="admin_login" value="<?PHP echo $admin_login; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Mot de passe &quot;Administrateur&quot;  </div></td>
			  <td>
				<input name="admin_pass" type="text" id="admin_pass" <?PHP if (isset($admin_pass)) echo "value=\"".$admin_pass."\""; ?> size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				<span class="annot_petit_it">(8 caract&egrave;res minimum)</span> </td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Mot de passe &quot;Administrateur&quot; (confirmer) </div></td>
				<td>
				<input name="admin_pass2" type="text" id="admin_pass2" <?PHP if (isset($admin_pass)) echo "value=\"".$admin_pass."\""; ?> size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<?PHP if ($etape2==TRUE) { ?>
			<tr>
				<td colspan="2"><div align="center">Code Administrateur --> <span class="annot_std_gras">OK</span> </div></td>
			</tr>
			<?PHP } else { if (strip_tags(trim(@$_POST["val"])) == "Valider") {?>
			<tr>
				<td colspan="2"><div align="center">Code Administrateur  --> <span class="titre_std_gras_jaune_frouge">PAS OK</span> </div></td>
			</tr>
			<?PHP } } ?>
			<tr>
				<td colspan="2">&nbsp;</td>
			</tr>
			<tr bgcolor="#00CC00">
				<td colspan="2"><div align="center"><strong>Param&egrave;tres t&eacute;l&eacute;chargements </strong></div></td>
			</tr>
			<tr>
				<td colspan="2"><div align="center">
				  Saisissez les param&egrave;tres permettant de t&eacute;l&eacute;charger des fichiers dans SMI. <br>
				  <span class="annot_petit_it">(Les dossiers doivent pr&eacute;alablement avoir &eacute;t&eacute; cr&eacute;&eacute;s et poss&eacute;der des droits de lecture et d'&eacute;criture)</span>
				  </div></td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Dossier des fichiers techniques </div></td>
				<td>
				<input name="tel_dirfic" type="text" id="tel_dirfic" value="<?PHP echo $tel_dirfic; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				<span class="annot_petit_it">(Dans le r&eacute;pertoire t&eacute;l&eacute;chargements)</span>
				</td>
			</tr>
			<?PHP if ($etape3==TRUE) { ?>
			<tr>
				<td colspan="2"><div align="center">Droits de lecture  --> <span class="annot_std_gras">OK</span> </div></td>
			</tr>
			<?PHP } else { if (strip_tags(trim(@$_POST["val"])) == "Valider") {?>
			<tr>
				<td colspan="2"><div align="center">Droits de lecture  --> <span class="titre_std_gras_jaune_frouge">PAS OK</span> </div></td>
			</tr>
			<?PHP } } ?>
			<?PHP if ($etape4==TRUE) { ?>
			<tr>
				<td colspan="2"><div align="center">Droits d'&eacute;criture  --> <span class="annot_std_gras">OK</span> </div></td>
			</tr>
			<?PHP } else { if (strip_tags(trim(@$_POST["val"])) == "Valider") {?>
			<tr>
				<td colspan="2"><div align="center">Droits d'&eacute;criture  --> <span class="titre_std_gras_jaune_frouge">PAS OK</span> </div></td>
			</tr>
			<?PHP } } ?>
			<tr>
				<td><div align="right" class="rubfrm">Extensions autoris&eacute;es   </div></td>
				<td>
				<input name="tel_ext" type="text" id="tel_ext" value="<?PHP echo $tel_ext; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				<span class="annot_petit_it">(S&eacute;par&eacute;es par des ',') </span>
				</td>
			</tr>
			<tr>
				<td colspan="2">&nbsp;</td>
			</tr>
			<tr>
				<td colspan="2">
				<?PHP
					$upload_max_filesize=ini_get("upload_max_filesize");
					if (eregi("([0-9]+)K",$upload_max_filesize,$tempregs)) $upload_max_filesize_octets=$tempregs[1]*1024;
					if (eregi("([0-9]+)M",$upload_max_filesize,$tempregs)) $upload_max_filesize_octets=$tempregs[1]*1024*1024;
					if (eregi("([0-9]+)G",$upload_max_filesize,$tempregs)) $upload_max_filesize_octets=$tempregs[1]*1024*1024*1024;
				?>
					<div align="center">Les tailles s'entendent en octets, multiples de 1024.<br>  
					Pour information, le param&egrave;tre PHP.INI &quot;<span class="annot_std_it">upload_max_filesize</span>&quot; est &agrave; <span class="annot_std_gras">
					<?PHP	echo $upload_max_filesize; ?></span> <span class="annot_petit_it">(<?PHP echo $upload_max_filesize_octets; ?> octets)</span>.<br>
					<span class="annot_std_it">(Si besoin modifiez votre PHP.INI car SMI ne le fait pas)</span>
				</div>
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Taille maximum pour t&eacute;l&eacute;chargements administrateurs</div></td>
				<td>
				<input name="tel_sadmin" type="text" id="tel_sadmin" value="<?PHP echo $tel_sadmin; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Taille maximum pour t&eacute;l&eacute;chargements centre de gestion </div></td>
				<td>
				<input name="tel_scge" type="text" id="tel_scge" value="<?PHP echo $tel_scge; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Taille maximum pour t&eacute;l&eacute;chargements agences</div></td>
				<td>
				<input name="tel_sage" type="text" id="tel_sage" value="<?PHP echo $tel_sage; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Taille maximum pour t&eacute;l&eacute;chargements techniciens</div></td>
				<td>
				<input name="tel_stec" type="text" id="tel_stec" value="<?PHP echo $tel_stec; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire">
				</td>
			</tr>
			<?PHP if ($etape5==TRUE) { ?>
			<tr>
				<td colspan="2"><div align="center">Taille des t&eacute;l&eacute;chargements --> <span class="annot_std_gras">OK</span> </div></td>
			</tr>
			<?PHP } else { if (strip_tags(trim(@$_POST["val"])) == "Valider") {?>
			<tr>
				<td colspan="2"><div align="center">Taille des t&eacute;l&eacute;chargements  --> <span class="titre_std_gras_jaune_frouge">PAS OK</span> </div></td>
			</tr>
			<?PHP } } ?>
			<tr>
				<td colspan="2">&nbsp;</td>
			</tr>
			<tr bgcolor="#00CC00">
				<td colspan="2"><div align="center"><strong>R&eacute;pertoires divers </strong></div></td>
			</tr>
			<tr>
				<td colspan="2"><div align="center">R&eacute;pertoires de stockage de fichiers variables pour SMI<br>
				<span class="annot_petit_it">(Les dossiers doivent pr&eacute;alablement avoir &eacute;t&eacute; cr&eacute;&eacute;s et poss&eacute;der des droits de lecture)</span></p>
				</div></td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">R&eacute;pertoire des ic&ocirc;nes</div></td>
				<td>
				<input name="rep_ico" type="text" id="rep_ico" value="<?PHP echo $rep_ico; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire"> <span class="annot_petit_it">(Dans le r&eacute;pertoire principal de SMI))</span>
				</td>
			</tr>
			<?PHP if ($etape6==TRUE) { ?>
			<tr>
				<td colspan="2"><div align="center">Droits de lecture  --> <span class="annot_std_gras">OK</span> </div></td>
			</tr>
			<?PHP } else { if (strip_tags(trim(@$_POST["val"])) == "Valider") {?>
			<tr>
				<td colspan="2"><div align="center">Droits de lecture  --> <span class="titre_std_gras_jaune_frouge">PAS OK</span> </div></td>
			</tr>
			<?PHP } } ?>
			<tr>
				<td colspan="2">&nbsp;</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">R&eacute;pertoire des logos</div></td>
				<td>
				<input name="rep_logo" type="text" id="rep_logo" value="<?PHP echo $rep_logos; ?>" size="26">
				<img src="../img/oblig.gif" width="10" height="11" alt="Champ obligatoire"> <span class="annot_petit_it">(Dans le r&eacute;pertoire principal de SMI))</span>
				</td>
			</tr>
			<?PHP if ($etape7==TRUE) { ?>
			<tr>
				<td colspan="2"><div align="center">Droits de lecture/écriture sur dossier logos --> <span class="annot_std_gras">OK</span> </div></td>
			</tr>
			<?PHP } else { if (strip_tags(trim(@$_POST["val"])) == "Valider") {?>
			<tr>
				<td colspan="2"><div align="center">Droits de lecture/écriture sur dossier logos --> <span class="titre_std_gras_jaune_frouge">PAS OK</span> </div></td>
			</tr>
			<?PHP } } ?>
			<tr bgcolor="#00CC00">
				<td colspan="2"><div align="center"><strong>Applications compl&eacute;mentaires </strong></div></td>
			</tr>
			<tr>
				<td colspan="2"><div align="center">Ces applications pourront &ecirc;tre lanc&eacute;es depuis SMI par des liens apparaissant en bas de page. <br>
				  <span class="annot_std_it">(Saisir le chemin complet avec le pr&eacute;fixe &quot;http&quot;. Ces liens ne sont pas contr&ocirc;l&eacute;s)</span></div></td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Lien application calendrier/agenda</div></td>
				<td>
				<input name="app_cal" type="text" id="app_cal" <?PHP if (isset($app_cal)) echo "value=\"".$app_cal."\""; ?> size="26">
				<span class="annot_petit_it">(A partir de la racine du serveur web)</span>
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Lien application facturation</div></td>
				<td>
				<input name="app_fact" type="text" id="app_fact" <?PHP if (isset($app_fact)) echo "value=\"".$app_fact."\""; ?> size="26">
				<span class="annot_petit_it">(A partir de la racine du serveur web)</span>
				</td>
			</tr>
			<tr>
				<td><div align="right" class="rubfrm">Lien application facturation clients </div></td>
				<td>
				<input name="app_factcli" type="text" id="app_factcli" <?PHP if (isset($app_factcli)) echo "value=\"".$app_factcli."\""; ?> size="26">
				<span class="annot_petit_it">(A partir de la racine du serveur web)</span>
				</td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td>&nbsp;</td>
			</tr>
			</table>
			<p align="center">
			<input name="RAZ" type="reset" id="RAZ" value="R&eacute;initialiser">
			<input type="submit" name="val" value="Valider">
			</p>
	</td>
</tr>
</table>
</form>
<?PHP
	} 
	else 
	{ 
?>
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0">
<tr>
  <td valign="top">
	  <div align="center">
		<p><img src="../img/logo.gif" alt="logo" width="195" height="36"></p>
	  </div>
		<table width="900" border="0" align="center">
		<tr bgcolor="#FF0000">
			<td colspan="2">
			<div align="center" class="titre_std_gras_jaune_frouge"><strong>
			<?PHP if ($update==TRUE) { ?>
			Mise &agrave; jour sur version <?PHP echo $ver; ?>
			<?PHP } else { ?>
			Installation
			<?PHP } ?>
			</strong></div>
			</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
		<tr bgcolor="#00CC00">
			<td colspan="2"><div align="center"><strong>Cr&eacute;ation fichier de configuration </strong></div></td>
		</tr>
		<tr>
			<td colspan="2">
			<div align="center">
			<?PHP
				// Création du fichier de configuration
				($fc=fopen($fic_prm,"w")) or die ("Impossible d'ouvrir le fichier ".$fic_prm." en &eacute;criture. V&eacute;rifiez les droits de ce fichier (chmod 744, 774 ou 777)");
				fputs($fc,"<?php\n");
				fputs($fc,"  /****************************************************************************************\n");
				fputs($fc,"  SMI (Services Maintenance Interventions) est une gestion libre de maintenance et de SAV\n\n");
				fputs($fc,"  Version ".$last_ver."\n");
				fputs($fc,"  Copyright (C) 2006-2007  Sylvain FATOME
\n\n");
				fputs($fc,"  This program is free software; you can redistribute it and/or modify it under the terms\n");
				fputs($fc,"  of the GNU General Public License as published by the Free Software Foundation;\n");
				fputs($fc,"  either version 2 of the License, or (at your option) any later version.\n\n");
				fputs($fc,"  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n");
				fputs($fc,"  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
				fputs($fc,"  See the GNU General Public License for more details.\n\n");
				fputs($fc,"  You should have received a copy of the GNU General Public License along with this program\n");
				fputs($fc,"  (in the directory docs);\n");
				fputs($fc,"  if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, \n");
				fputs($fc,"  Boston, MA  02110-1301, USA.\n\n");
				fputs($fc,"  Contact : galawa@free.fr

Web : http://smitst.homelinux.com\n");
				fputs($fc,"  ****************************************************************************************/\n\n");
				fputs($fc,"  // Vérification des tentatives de hacks\n");
				fputs($fc,"  \$pos=strpos(\$_SERVER['PHP_SELF'],\"inc.php\");\n");
				fputs($fc,"  if (\$pos===FALSE)\n");
				fputs($fc,"  	\$ok_inc=TRUE;\n");
				fputs($fc,"  else\n");
				fputs($fc,"  	\$ok_inc=FALSE;\n");
				fputs($fc,"  if (\$ok_inc==FALSE) header(\"Location: ../index.php\");\n\n");
				fputs($fc,"  //////////////////////////////////////////////////////////////////////////////////\n");
				fputs($fc,"  /// Vous pouvez modifier ces variables en fonction de votre configuration      ///\n");
				fputs($fc,"  //////////////////////////////////////////////////////////////////////////////////\n\n");
				fputs($fc,"  /**************************************************/\n");
				fputs($fc,"  /**        Répertoire de l'application           **/\n");
				fputs($fc,"  /**************************************************/\n\n");
				fputs($fc,"  define (\"REP\",\"".$rep_smi."\");	// Répertoire de l'application\n\n");
				fputs($fc,"  // Chemin web absolu vers l'application\n");
				fputs($fc,"  \$rep_appli = \$racine_web.\"/\".REP;\n\n");
				fputs($fc,"  /*******************************************/\n");
				fputs($fc,"  /**        Nom de la base MySQL           **/\n");
				fputs($fc,"  /*******************************************/\n\n");
				fputs($fc,"  define (\"DBNAME\",\"".$mysql_dbname."\");     			// Nom de la base de données\n\n");
				fputs($fc,"  /*************************************************************/\n");
				fputs($fc,"  /**               Constantes des bases MySQL                **/\n");
				fputs($fc,"  /*************************************************************/\n\n");
				fputs($fc,"  // login/mot de passe Administrateur par défaut (créé la 1ère fois)\n\n");
				fputs($fc,"  \$admin_code = \"".$admin_login."\";			// Code \"Administrateur\"\n");
				fputs($fc,"  \$admin_mdp = \"".$admin_pass."\";			// Mot de passe \"Administrateur\"\n\n");
				fputs($fc,"  // Constantes de connexion à la base MySQL\n\n");
				fputs($fc,"  define (\"DBUSER\",\"".$mysql_dbuser."\");       			// Utilisateur MySQL\n");
				fputs($fc,"  define (\"DBPASS\",\"".$mysql_dbpass."\");       			// Mot de Passe pour MySQL\n");
				fputs($fc,"  define (\"DBHOST\",\"".$mysql_dbsrv."\");       			// Serveur MySQL\n\n");
				fputs($fc,"  /****************************************************/\n");
				fputs($fc,"  /**        Variables des téléchargements           **/\n");
				fputs($fc,"  /****************************************************/\n\n");
				fputs($fc,"  /*************************************************************/\n");
				fputs($fc,"  /** Constantes et variables pour la gestion des icônes      **/\n");
				fputs($fc,"  /** pour les statuts et des logos pour les agences,         **/\n");
				fputs($fc,"  /** et les applications complémentaires                     **/\n");
				fputs($fc,"  /*************************************************************/\n\n");
				fputs($fc,"  // Constantes & Variables des répertoires pour les fichiers internes et téléchargés\n\n");
				fputs($fc,"  \$url_gfc = \$root.\"".$tel_dirfic."\";				// Chemin REEL complet pour la gestion des fichiers techniques\n");
				fputs($fc,"  \$url_tfc = \"".$tel_dirfic."/\";				// Chemin REEL depuis la racine pour le téléchargement des\n");
				fputs($fc,"  												// fichiers techniques\n\n");
				fputs($fc,"  // Extensions autorisées\n");
				fputs($fc,"  \$extensions_ok = array(".$lst_ext.");\n\n");
				fputs($fc,"  // Tailles maximum (en octets) des fichiers pouvant être téléchargés\n");
				fputs($fc,"  // (Pensez à contrôler votre PHP.INI)\n\n");
				fputs($fc,"  \$taille_maxi_admin = ".$tel_sadmin.";\n");
				fputs($fc,"  \$taille_maxi_cge = ".$tel_scge.";\n");
				fputs($fc,"  \$taille_maxi_age = ".$tel_sage.";\n");
				fputs($fc,"  \$taille_maxi_tec = ".$tel_stec.";\n\n");
				fputs($fc,"  /*******************************************/\n");
				fputs($fc,"  /**        Variables des icônes           **/\n");
				fputs($fc,"  /*******************************************/\n\n");
				fputs($fc,"  // Constantes & Variables des répertoires icônes\n\n");
				fputs($fc,"  /***********[ TRES TRES IMPORTANT SOUS LINUX !!! ]***************/\n");
				fputs($fc,"  /**                                                            **/\n");
				fputs($fc,"  /** pensez à changer le propriétaire du répertoire des icônes  **/\n");
				fputs($fc,"  /** en le passant sous le même propriétaire que celui qui      **/\n");
				fputs($fc,"  /** exécute les scripts, sinon, rien ne s'affichera.           **/\n");
				fputs($fc,"  /** Par exemple \"chown wwwrun /srv/www/htdocs/maint/icones\"    **/\n");
				fputs($fc,"  /**                                                            **/\n");
				fputs($fc,"  /****************************************************************/\n\n");
				fputs($fc,"  \$chemin_icones = \"../".htmlspecialchars(stripslashes($_POST["rep_ico"]))."\";					// Chemin relatif vers les icônes\n");
				fputs($fc,"  \$chemin_logos = \"../".htmlspecialchars(stripslashes($_POST["rep_logo"]))."\";					// Chemin relatif vers les logos\n");
				fputs($fc,"  \$chemin_images = \"../img\";					// Chemin relatif vers les images\n\n");
				fputs($fc,"  /*************************************************************/\n");
				fputs($fc,"  /**        Constantes & Variables pour les emails           **/\n");
				fputs($fc,"  /*************************************************************/\n\n");
				fputs($fc,"  \$admin_name = \"".$admin_name."\";				// Nom de l'Administrateur\n");
				fputs($fc,"  \$admin_mail = \"".$admin_mail."\";				// Email de l'Administrateur\n\n");
				fputs($fc,"  // Coordonnées du serveur smtp de votre FAI\n\n");
				fputs($fc,"  \$smtp_nom = \"".$lst_smtp_name."\";			// Nom du serveur SMTP\n");
				fputs($fc,"  										// Vous pouvez en donner plusieurs (séparez-les avec des ';')\n");
				fputs($fc,"  \$smtp_port = ".$mail_port.";						// Port du serveur SMTP\n\n");
				fputs($fc,"  \$smtp_login = \"".$mail_login."\";						// Login du serveur SMTP (si serveur avec authentification...laisser vide si pas d'authentification)\n\n");
				fputs($fc,"  \$smtp_mdp = \"".$mail_mdp."\";						// Mot de passe du serveur SMTP (si serveur avec authentification...laisser vide si pas d'authentification)\n\n");
				fputs($fc,"  /**************************************************/\n");
				fputs($fc,"  /**        Applications complémentaires          **/\n");
				fputs($fc,"  /**************************************************/\n\n");
				fputs($fc,"  \$url_cal = \"".$app_cal."\";									// Racine de l'application calendrier / agenda\n");
				fputs($fc,"  \$url_fac = \"".$app_fact."\";									// Racine de l'application facturation\n");
				fputs($fc,"  \$url_facc = \"".$app_factcli."\";									// Racine de l'application facturation client\n");
				fputs($fc,"?>");
				fclose($fc);
				echo "<span class=\"annot_std_gras\">OK</span><br>";
				echo "<span class=\"annot_std_it\">Sous LINUX, pensez aux droits d'acc&egrave;s &agrave; ce fichier.</span><br>";
				echo "<span class=\"annot_std_it\">Contr&ocirc;lez &eacute;galement le fichier PHP.INI.</span><br>";
			?>
			</div>
			</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
		<tr bgcolor="#00CC00">
			<td colspan="2"><div align="center"><strong>
			<?PHP if ($update==TRUE) { ?>
			Mise &agrave; jour 
			<?PHP } else { ?>
			Cr&eacute;ation 
			<?PHP } ?>
			bases MySQL </strong></div></td>
		</tr>
		<tr>
			<td colspan="2">
			<?PHP
				$conn=mysql_connect($mysql_dbsrv, $mysql_dbuser, $mysql_dbpass);
				mysql_select_db($mysql_dbname,$conn);

				$maj_ok=FALSE;
				
				if ($update==FALSE) // On crée
				{
					$init_total=FALSE;
					
					if (htmlspecialchars(stripslashes($_POST["razc"]))=="O")
						$init_total=TRUE;
				
					// Fabrication du nom de fichier SQL
					$nom_fic="sql/smi_".$last_ver.".sql";

					execute_fic_sql($nom_fic,$init_total);

					echo "<div align=\"center\" class=\"annot_std_gras\">Tables cr&eacute;&eacute;es</div>";

					$maj_ok=TRUE;
				}
				else // On met à jour
				{
				
					if ($currver<96)
					{
						// Fabrication du nom de fichier SQL
						$nom_fic="sql/smi_0.9.5_to_0.9.6.sql";

						echo "<div align=\"center\" class=\"annot_gras_it\">Mise &agrave; jour vers ".$last_ver."</div>";
	
						execute_fic_sql($nom_fic,FALSE);
					}
					
					if ($currver<97)
					{
						// Fabrication du nom de fichier SQL
						$nom_fic="sql/smi_0.9.6_to_0.9.7.sql";

						echo "<div align=\"center\" class=\"annot_gras_it\">Mise &agrave; jour vers version 0.9.7</div>";
	
						execute_fic_sql($nom_fic,FALSE);

						$maj_ok=TRUE;
					}
					else
					{
						echo "<div align=\"center\" class=\"annot_std_gras\">D&eacute;j&agrave; &agrave; jour. Aucune modification effectu&eacute;e.</div>";
					}

					if ($currver<98)
					{
						// Fabrication du nom de fichier SQL
						$nom_fic="sql/smi_0.9.7_to_0.9.8.sql";
						echo "<div align=\"center\" class=\"annot_gras_it\">Mise &agrave; jour vers version 0.9.8</div>";
	
						execute_fic_sql($nom_fic,FALSE);
						
						// Mise à jour du fichier des départements
						// (On force les codes pays car les versions précédentes ne comprenaient que les départements français)
						echo "<div align=\"center\">Patch Table D&eacute;partements  --> ";

						// 
						$rech = "SELECT dep_id FROM ".$mysql_dbname."_dep";
						$rs = mysql_query($rech) or die("Mise &agrave; jour fichier des d&eacute;partements impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							$rech2="UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'FR' WHERE `dep_id` =".$dep_id." LIMIT 1";
							$rs2 = mysql_query($rech2) or die("Mise &agrave; jour fichier des d&eacute;partements impossible.");
						}
						// Mise à jour Guadeloupe
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'GP' WHERE `dep_code` = '971' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						// Mise à jour Martinique
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'GP' WHERE `dep_code` = '972' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						// Mise à jour Guyane
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'GF' WHERE `dep_code` = '973' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						// Mise à jour La Réunion
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'RE' WHERE `dep_code` = '974' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						// Mise à jour St Pierre Et Miquelon
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'PM' WHERE `dep_code` = '975' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						// Mise à jour Mayotte
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'YT' WHERE `dep_code` = '976' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						// Mise à jour Terres Autrales
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'TF' WHERE `dep_code` = '984' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						// Mise à jour Wallis et Futuna
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'WF' WHERE `dep_code` = '986' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						// Mise à jour Polynésie
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'PF' WHERE `dep_code` = '987' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						// Mise à jour Nouvelle-Calédonie
						$rech2 = "UPDATE `".$mysql_dbname."_dep` SET `dep_codepays` = 'NC' WHERE `dep_code` = '988' LIMIT 1";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des d&eacute;partements impossible.");
						echo "<span class=\"annot_std_gras\">OK</span> </div>";


						// Mise à jour du fichier des villes
						echo "<div align=\"center\">Patch Table Villes  --> ";

						// 1.(On force les codes pays car les versions précédentes ne comprenaient que les villes françaises)
						// Mise à jour France
						$rech = "SELECT villes_id FROM ".$mysql_dbname."_villes";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des villes impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							$rech2="UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'FR' WHERE `villes_id` =".$dep_id." LIMIT 1";
							$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						}
						// Mise à jour Guadeloupe
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'GP' WHERE `villes_cp` LIKE '971%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						// Mise à jour Martinique
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'MQ' WHERE `villes_cp` LIKE '972%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						// Mise à jour Guyane
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'GF' WHERE `villes_cp` LIKE '973%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						// Mise à jour La Réunion
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'RE' WHERE `villes_cp` LIKE '974%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						// Mise à jour St Pierre Et Miquelon
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'PM' WHERE `villes_cp` LIKE '975%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						// Mise à jour Mayotte
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'YT' WHERE `villes_cp` LIKE '976%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						// Mise à jour Terres Australes
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'TF' WHERE `villes_cp` LIKE '984%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						// Mise à jour Wallis et Futuna
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'WF' WHERE `villes_cp` LIKE '986%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						// Mise à jour Polynésie
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'PF' WHERE `villes_cp` LIKE '987%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						// Mise à jour Nouvelle-Calédonie
						$rech2 = "UPDATE `".$mysql_dbname."_villes` SET `villes_codepays` = 'NC' WHERE `villes_cp` LIKE '988%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");

						// 2.(On injecte les codes de départements)
						$rech = "ALTER TABLE `".$mysql_dbname."_villes` ADD `villes_dep` VARCHAR(30) NOT NULL AFTER `villes_nom`";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des villes impossible.");
						$rech = "SELECT dep_code FROM ".$mysql_dbname."_dep";
						$rs = mysql_query($rech) or die("Lecture fichier des d&eacute;partements impossible.");
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							$rech2="UPDATE `".$mysql_dbname."_villes` SET `villes_dep` = '".$dep_code."' WHERE `villes_cp` LIKE '".$dep_code."%'";
							$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						}
						$rech2="UPDATE `".$mysql_dbname."_villes` SET `villes_dep` = '20' WHERE `villes_cp` LIKE '20%'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						$rech2="UPDATE `".$mysql_dbname."_villes` SET `villes_dep` = '984' WHERE `villes_cp` = '00984'";
						$rs2 = mysql_query($rech2) or die("Mise &agrave; jour du fichier des villes impossible.");
						echo "<span class=\"annot_std_gras\">OK</span> </div>";

						// Mise à jour du fichier des opérateurs
						// (On transforme le nom stocké en code pays et le code insee ville en id enregistrement villes)
						echo "<div align=\"center\">Patch Table Op&eacute;rateurs  --> ";
						$rech = "ALTER TABLE `".$mysql_dbname."_ope` CHANGE `ope_ville` `ope_ville` VARCHAR(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des op&eacute;rateurs impossible.");
						$rech = "SELECT ope_id,ope_pays,ope_ville FROM ".$mysql_dbname."_ope";
						$rs = mysql_query($rech) or die("Mise &agrave; jour fichier des op&eacute;rateurs impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							
							$rech2= "SELECT * FROM ".$mysql_dbname."_pays WHERE pays_nom='".$ope_pays."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des pays impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_ope` SET `ope_pays` = '".$pays_code."' WHERE `ope_id` =".$ope_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des op&earateurs impossible.");
							}
							$rech2= "SELECT * FROM ".$mysql_dbname."_villes WHERE villes_insee='".$ope_ville."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des villes impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_ope` SET `ope_ville` = '".$villes_id."' WHERE `ope_id` =".$ope_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des op&earateurs impossible.");
							}
						}
						$rech = "ALTER TABLE `".$mysql_dbname."_ope` CHANGE `ope_pays` `ope_codepays` CHAR(3) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des op&earateurs impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_ope` CHANGE `ope_ville` `ope_ville` INT(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des op&earateurs impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_ope` CHANGE `ope_dep` `ope_dep` VARCHAR(30) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des op&earateurs impossible.");
						echo "<span class=\"annot_std_gras\">OK</span> </div>";

						// Mise à jour de la fiche centre de gestion
						// (On transforme le nom stocké en code pays et le code insee ville en id enregistrement villes)
						echo "<div align=\"center\">Patch Table Centre de gestion  --> ";
						$rech = "ALTER TABLE `".$mysql_dbname."_cge` CHANGE `cge_ville` `cge_ville` VARCHAR(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour fiche du centre de gestion impossible.");
						$rech = "SELECT cge_id,cge_pays,cge_ville FROM ".$mysql_dbname."_cge";
						$rs = mysql_query($rech) or die("Mise &agrave; jour fiche du centre de gestion impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							
							$rech2= "SELECT * FROM ".$mysql_dbname."_pays WHERE pays_nom='".$cge_pays."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des pays impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_cge` SET `cge_pays` = '".$pays_code."' WHERE `cge_id` =".$cge_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour de la fiche centre de gestion impossible.");
							}
							$rech2= "SELECT * FROM ".$mysql_dbname."_villes WHERE villes_insee='".$cge_ville."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des villes impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_cge` SET `cge_ville` = '".$villes_id."' WHERE `cge_id` =".$cge_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour de la fiche centre de gestion impossible.");
							}
						}
						$rech = "ALTER TABLE `".$mysql_dbname."_cge` CHANGE `cge_pays` `cge_codepays` CHAR(3) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour fiche du centre de gestion impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_cge` CHANGE `cge_ville` `cge_ville` INT(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour fiche du centre de gestion impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_cge` CHANGE `cge_dep` `cge_dep` VARCHAR(30) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour fiche du centre de gestion impossible.");
						echo "<span class=\"annot_std_gras\">OK</span> </div>";

						// Mise à jour du fichier des agences
						echo "<div align=\"center\">Patch Table Agences  --> ";
						// (On transforme le nom stocké en code pays et le code insee ville en id enregistrement villes)
						$rech = "ALTER TABLE `".$mysql_dbname."_age` CHANGE `age_ville` `age_ville` VARCHAR(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des agences impossible.");
						$rech = "SELECT age_id,age_pays,age_ville FROM ".$mysql_dbname."_age";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des agences impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							
							$rech2= "SELECT * FROM ".$mysql_dbname."_pays WHERE pays_nom='".$age_pays."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des pays impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_age` SET `age_pays` = '".$pays_code."' WHERE `age_id` =".$tec_id." LIMIT 1 ;";
								$rs = mysql_query($rech3) or die("Mise &agrave; jour du fichier des agences impossible.");
							}
							$rech2= "SELECT * FROM ".$mysql_dbname."_villes WHERE villes_insee='".$age_ville."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des villes impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_age` SET `age_ville` = '".$villes_id."' WHERE `age_id` =".$age_id." LIMIT 1 ;";
								$rs = mysql_query($rech3) or die("Mise &agrave; jour du fichier des agences impossible.");
							}
						}
						$rech = "ALTER TABLE `".$mysql_dbname."_age` CHANGE `age_pays` `age_codepays` CHAR(3) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des agences impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_age` CHANGE `age_ville` `age_ville` INT(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des agences impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_age` CHANGE `age_dep` `age_dep` VARCHAR(30) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des agences impossible.");
						// (Transfert de la zone de chalandise à la table ZCC)
						$rech = "SELECT age_code, age_codepays, age_zone FROM ".$mysql_dbname."_age";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des agences impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							
							$tab_zone=explode("-",$age_zone);
							
							foreach($tab_zone as $idx=>$value)
							{
								$rech2 = "INSERT INTO `".$mysql_dbname."_zcc`";
								$rech2 .= " (zcc_code,zcc_codepays,zcc_codedep) VALUES";
								$rech2 .= " ('$age_code','$age_codepays','$value')";
								$rs2 = mysql_query($rech2) or die(mysql_error());
							}
						}
						$rech = 'ALTER TABLE `".$mysql_dbname."_age` DROP `age_zone`';
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des agences impossible.");
						echo "<span class=\"annot_std_gras\">OK</span> </div>";

						// Mise à jour du fichier des techniciens
						// (On transforme le nom stocké en code pays et le code insee ville en id enregistrement villes)
						echo "<div align=\"center\">Patch Table Techniciens  --> ";
						$rech = "ALTER TABLE `".$mysql_dbname."_tec` CHANGE `tec_ville` `tec_ville` VARCHAR(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des techniciens impossible.");
						$rech = "SELECT tec_id,tec_pays,tec_ville FROM ".$mysql_dbname."_tec";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des techniciens impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							
							$rech2= "SELECT * FROM ".$mysql_dbname."_pays WHERE pays_nom='".$tec_pays."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des pays impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_tec` SET `tec_pays` = '".$pays_code."' WHERE `tec_id` =".$tec_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des techniciens impossible.");
							}
							$rech2= "SELECT * FROM ".$mysql_dbname."_villes WHERE villes_insee='".$tec_ville."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des villes impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_tec` SET `tec_ville` = '".$villes_id."' WHERE `tec_id` =".$tec_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des techniciens impossible.");
							}
						}
						$rech = "ALTER TABLE `".$mysql_dbname."_tec` CHANGE `tec_pays` `tec_codepays` CHAR(3) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des techniciens impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_tec` CHANGE `tec_ville` `tec_ville` INT(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des techniciens impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_tec` CHANGE `tec_dep` `tec_dep` VARCHAR(30) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des techniciens impossible.");
						echo "<span class=\"annot_std_gras\">OK</span> </div>";

						// Mise à jour du fichier des clients
						// (On transforme le nom stocké en code pays et le code insee ville en id enregistrement villes)
						echo "<div align=\"center\">Patch Table Clients  --> ";
						$rech = "ALTER TABLE `".$mysql_dbname."_cli` CHANGE `cli_ville` `cli_ville` VARCHAR(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des clients impossible.");
						$rech = "SELECT cli_id,cli_pays,cli_ville FROM ".$mysql_dbname."_cli";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des clients impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							
							$rech2= "SELECT * FROM ".$mysql_dbname."_pays WHERE pays_nom='".$cli_pays."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des pays impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_cli` SET `cli_pays` = '".$pays_code."' WHERE `cli_id` =".$cli_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des clients impossible.");
							}
							$rech2= "SELECT * FROM ".$mysql_dbname."_villes WHERE villes_insee='".$cli_ville."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des villes impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_cli` SET `cli_ville` = '".$villes_id."' WHERE `cli_id` =".$cli_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des clients impossible.");
							}
						}
						$rech = "ALTER TABLE `".$mysql_dbname."_cli` CHANGE `cli_pays` `cli_codepays` CHAR(3) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des clients impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_cli` CHANGE `cli_ville` `cli_ville` INT(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des clients impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_cli` CHANGE `cli_dep` `cli_dep` VARCHAR(30) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des clients impossible.");
						echo "<span class=\"annot_std_gras\">OK</span> </div>";
	
						// Mise à jour du fichier des sites clients
						// (On transforme le nom stocké en code pays et le code insee ville en id enregistrement villes)
						echo "<div align=\"center\">Patch Table Sites Clients  --> ";
						$rech = "ALTER TABLE `".$mysql_dbname."_scli` CHANGE `scli_ville` `scli_ville` VARCHAR(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des sites clients impossible.");
						$rech = "SELECT scli_id,scli_pays,scli_ville FROM ".$mysql_dbname."_scli";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des sites clients impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							
							$rech2= "SELECT * FROM ".$mysql_dbname."_pays WHERE pays_nom='".$scli_pays."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des pays impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_scli` SET `scli_pays` = '".$pays_code."' WHERE `scli_id` =".$scli_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des sites clients impossible.");
							}
							$rech2= "SELECT * FROM ".$mysql_dbname."_villes WHERE villes_insee='".$scli_ville."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des villes impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_scli` SET `scli_ville` = '".$villes_id."' WHERE `scli_id` =".$scli_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des sites clients impossible.");
							}
						}
						$rech = "ALTER TABLE `".$mysql_dbname."_scli` CHANGE `scli_pays` `scli_codepays` CHAR(3) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des sites clients impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_scli` CHANGE `scli_ville` `scli_ville` INT(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des sites clients impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_scli` CHANGE `scli_dep` `scli_dep` VARCHAR(30) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des sites clients impossible.");
						echo "<span class=\"annot_std_gras\">OK</span> </div>";
						
						// Mise à jour du fichier des demandes
						// (On transforme le nom stocké en code pays et le code insee ville en id enregistrement villes)
						echo "<div align=\"center\">Patch Table Demandes --> ";
						$rech = "ALTER TABLE `".$mysql_dbname."_dde` CHANGE `dde_ville` `dde_ville` VARCHAR(10) NOT NULL";
						$rech = "SELECT dde_id,dde_pays,dde_ville FROM ".$mysql_dbname."_dde";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des demandes impossible.");
						
						while ($resultat = mysql_fetch_array($rs)) 
						{
							extract($resultat);
							
							$rech2= "SELECT * FROM ".$mysql_dbname."_pays WHERE pays_nom='".$dde_pays."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des pays impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_dde` SET `dde_pays` = '".$pays_code."' WHERE `dde_id` =".$dde_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des demandes impossible.");
							}
							$rech2= "SELECT * FROM ".$mysql_dbname."_villes WHERE villes_insee='".$dde_ville."'";
							$rs2 = mysql_query($rech2) or die("Lecture du fichier des villes impossible.");
							if ($resultat2 = mysql_fetch_array($rs2)) 
							{
								extract($resultat2);
								$rech3="UPDATE `".$mysql_dbname."_dde` SET `dde_ville` = '".$villes_id."' WHERE `dde_id` =".$dde_id." LIMIT 1 ;";
								$rs3 = mysql_query($rech3) or die("Mise &agrave; jour du fichier des demandes impossible.");
							}
						}
						$rech = "ALTER TABLE `".$mysql_dbname."_dde` CHANGE `dde_pays` `dde_codepays` CHAR(3) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des demandes impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_dde` CHANGE `dde_ville` `dde_ville` INT(10) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des demandes impossible.");
						$rech = "ALTER TABLE `".$mysql_dbname."_dde` CHANGE `dde_dep` `dde_dep` VARCHAR(30) NOT NULL";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des demandes impossible.");
						echo "<span class=\"annot_std_gras\">OK</span> </div>";
						
						// On supprime le code INSEE (plus nécessaire)
						$rech = "ALTER TABLE `".$mysql_dbname."_villes` DROP `villes_insee`";
						$rs = mysql_query($rech) or die("Mise &agrave; jour du fichier des villes impossible.");
						   
						$maj_ok=TRUE;
					}
					else
					{
						echo "<div align=\"center\" class=\"annot_std_gras\">D&eacute;j&agrave; &agrave; jour. Aucune modification effectu&eacute;e.</div>";
					}
				}
				
				if ($maj_ok==TRUE)
				{
					if ($update==TRUE)
					{
						// Mise à niveau des textes types ?
						if (htmlspecialchars(stripslashes($_POST["razctt"]))=="O")
							execute_fic_sql("smi_majtxt.sql",TRUE);
					}
						
					// MAJ code version
					$rech="UPDATE `". $mysql_dbname."_cons` SET `cons_codever` = '". $no_ver."' WHERE `cons_id` =1 LIMIT 1 ;";
					$rs = mysql_query($rech) or die("Mise &agrave; jour code version impossible.");

					// MAJ code connexion administrateur (si nécessaire)
					// On ne fait rien en mode création car SMI crée automatiquement le compte admin au démarrage
					if ($update==TRUE)
					{
						// On peut supprimer car SMI crée automatiquement le compte admin au démarrage
						$rech = "DELETE FROM `". $mysql_dbname."_pw ` WHERE `pw_code` = '$ex_admin_login'";
					}
				}
				
				mysql_close($conn);
			?>
			</td>
		</tr>
		</table>
		<br>
		<div align="center" class="annot_gras_it">
		<?PHP if ($update==TRUE) { ?>
		Mise &agrave; jour 
		<?PHP } else { ?>
		Installation 
		<?PHP } ?>
		termin&eacute;e.<br>
		Merci de renommer ou de supprimer le r&eacute;pertoire install si cela n'a pas d&eacute;j&agrave; &eacute;t&eacute; effectu&eacute; et de remettre le fichier prm.inc.php en droits '0644' (si vous aviez mis le r&eacute;pertoire inc en &eacute;criture autoris&eacute;e, remettez-le en un autre mode que '0775', '0757', ou '0777').
		<br>
		Ne PAS changer la structure interne du r&eacute;pertoire install. </div>
		<p align="center">
		  <input name="again" type="button" id="again" value="Recommencer" onClick="javascript:; window.location=('install.php');">
		  <input name="launch" type="button" id="launch" value="Lancer SMI" onClick="javascript:; window.location=('../index.php');">
	</p>
  </td>
</tr>
</table>
<?PHP 
	}
}
?>
</body>
</html>