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

Version 0.9.6
Copyright (C) 2006  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
****************************************************************************************/

include ("../inc/config.inc.php");
?>
<?php require ("../inc/func.inc.php") ?>
<?php require ("../inc/func_date.inc.php") ?>
<?php require ("../inc/func_log.inc.php") ?>
<?php include ("../inc/func_txt.inc.php") ?>
<?php require ("../inc/fic.inc.php") ?>
<?php require_once ("../classes/xpm/smtp.php"); ?>
<?php require ("../inc/mail.inc.php") ?>
<?php require ("../classes/dirtool/class_dirtool.php") ?>
<?PHP
	Archivelog(@$HTTP_SESSION_VARS["code_log"]);
?>
<?php
	 	// Variables Formulaire
		$titre = strip_tags(trim(@$_POST["titre"]));
		$typdde = strip_tags(trim(@$_POST["td"]));

		$type = str_majuscules(strip_tags(trim(@$_POST["typ"])));
		$cat = str_majuscules(strip_tags(trim(@$_POST["cat"])));
		$code = strip_tags(trim(@$_POST["codecli"]));
		$ste = str_majuscules(strip_tags(trim(@$_POST["ste"])));
		$rcs = str_majuscules(strip_tags(trim(@$_POST["rcs"])));
		$civil = str_majuscules(strip_tags(trim(@$_POST["civil"])));
		$prenom = ucwords(strtolower(strip_tags(trim(@$_POST["prenom"]))));
		$nom = str_majuscules(strip_tags(trim(@$_POST["nom"])));
		$adr1 = str_majuscules(strip_tags(trim(@$_POST["adr1"])));
		$adr2 = str_majuscules(strip_tags(trim(@$_POST["adr2"])));
		$dep = str_majuscules(strip_tags(trim(@$_POST["dep"])));
		$ville = str_majuscules(strip_tags(trim(@$_POST["ville"])));
		$pays = str_majuscules(strip_tags(trim(@$_POST["pays"])));
		$telf = strip_tags(trim(@$_POST["telf"]));
		$fax = strip_tags(trim(@$_POST["fax"]));
		$telp = strip_tags(trim(@$_POST["telp"]));
		$email = strtolower(strip_tags(trim(@$_POST["email"])));
		$mess = strtolower(strip_tags(trim(@$_POST["mess"])));
		$notaa = strip_tags(trim(@$_POST["notaa"]));
		$notat = strip_tags(trim(@$_POST["notat"]));
		$cpta = strip_tags(trim(@$_POST["cpta"]));
		
		$codeuser = @$HTTP_SESSION_VARS["code_log"];

		$pass = cremdp(FALSE);
		$passcrypt = md5($pass);
		$msg="";

		$retourliste = TRUE;

		if ($typdde == "add")
		{
			if (@$HTTP_SESSION_VARS["niv_log"] >=2)
			{
				$codec = crecode("C");
				
				// Ajout de la fiche client
				$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
				mysql_select_db(DBNAME);
	
				$rech = "SELECT * FROM " .TBCLI. " WHERE cli_code = '$codec'";
				$rs = mysql_query($rech) or die(mysql_error());
				if (mysql_num_rows($rs) == 0)
				{
					$rech2="";
					
					switch (@$HTTP_SESSION_VARS["niv_log"])
					{
						// Si le créateur est un technicien ou une agence, il est immédiatement déclaré "propriétaire" du client
						case 4 :
						case 3 :
							$prop=@$HTTP_SESSION_VARS["code_age"];
							$rech2 = "INSERT INTO " .TBCLI;
							$rech2 .= " (cli_cat,cli_datecrea,cli_codecrea,cli_datemod,cli_prop,cli_codemod,cli_code,cli_pass,cli_type,cli_ste,cli_rcs,cli_civilite,cli_prenom,cli_nom,cli_adr1,cli_adr2,cli_dep,cli_ville,cli_pays,cli_telf,cli_fax,cli_telp,cli_email,cli_mess,cli_notaa,cli_notat,cli_cpta) VALUES ";
							$rech2 .= "('$cat','$datea','$codeuser','$datea','$prop','$codeuser','$codec','$passcrypt','$type','$ste','$rcs','$civil','$prenom','$nom','$adr1','$adr2','$dep','$ville','$pays','$telf','$fax','$telp','$email','$mess','$notaa','$notat','$cpta')";
							break;
						case 2 :
						case 5 :
						case 9 :
							$rech2 = "INSERT INTO " .TBCLI;
							$rech2 .= " (cli_cat,cli_datecrea,cli_codecrea,cli_datemod,cli_codemod,cli_code,cli_pass,cli_type,cli_ste,cli_rcs,cli_civilite,cli_prenom,cli_nom,cli_adr1,cli_adr2,cli_dep,cli_ville,cli_pays,cli_telf,cli_fax,cli_telp,cli_email,cli_mess,cli_notaa,cli_notat,cli_cpta) VALUES ";
							$rech2 .= "('$cat','$datea','$codeuser','$datea','$codeuser','$codec','$passcrypt','$type','$ste','$rcs','$civil','$prenom','$nom','$adr1','$adr2','$dep','$ville','$pays','$telf','$fax','$telp','$email','$mess','$notaa','$notat','$cpta')";
							break;
					}
					$rs2 = mysql_query($rech2) or die(mysql_error());

					// Ajout du compte pour connexion
					// Niveau par défaut : 1
					// Actif par défaut
						
					$log_ip = $_SERVER['REMOTE_ADDR']; // Récupération adresse IP
					$rech = "INSERT INTO " .TBPW. "(pw_code,pw_pass,pw_level,pw_lastsuccess,pw_lastip,pw_actif) VALUES ('$codec','$passcrypt','1','$dateheurea','$log_ip','1')";
					$rs2 = mysql_query($rech) or die(mysql_error());
				
					// Création du répertoire de stockage spécifique au client
	
					$rep_clients = $url_gfc."/clients";
					$desc_rep_clients = "Répertoire spécifique aux clients";
					$rep_ce_client = $rep_clients."/".strtolower($codec);
					if ($ste <> "")
						$desc_rep_ce_client = "Répertoire client ".$ste." (".$codec.")";
					else
						$desc_rep_ce_client = "Répertoire client ".$nom." ".$prenom." (".$codec.")";
					
					if (!is_dir($rep_clients)) // Si le sous-répertoire spécifique aux clients n'existe pas, on le crée
					{
						if (mkdir($rep_clients))
						{
							$rech = "INSERT INTO " .TBFIC;
							$rech .= " (fic_nom,fic_type,fic_desc,fic_datecrea,fic_codecrea,fic_nbtel) VALUES";
							$rech .= " ('$rep_clients','1','$desc_rep_clients','$datea','$admin_code','')";
							$rs = mysql_query($rech) or die(mysql_error());
						}
					}
					if (mkdir($rep_ce_client)) // On crée sous-répertoire spécifique à ce client
					{
						// On ajoute le détail dans le fichier MySQL
						$rech = "INSERT INTO " .TBFIC;
						$rech .= " (fic_nom,fic_type,fic_desc,fic_datecrea,fic_codecrea,fic_nbtel) VALUES";
						$rech .= " ('$rep_ce_client','1','$desc_rep_ce_client','$datea','$admin_code','')";
						$rs = mysql_query($rech) or die(mysql_error());
	
						$msg = "Compte client créé.";
					}
					else
					{
						$msg = "Problème de création de répertoire pour ce client.";
						$retourliste = FALSE;
					}
				}
				else
				{
					$msg = "Ce code existe déjà !";
					$retourliste = FALSE;
				}
				mysql_close($conn);
			}
			else
			{
				$msg = "Vous n'avez pas le droit d'ajouter un compte client!";
				$retourliste = FALSE;
			}

			if ($retourliste == TRUE)
			{
				// Envoi d'email vers le client
				envoi_mail("Ouverture de votre compte client","cli","cre","xxx","cli",$codec,$pass,"",TRUE);
				// Envoi d'email vers le centre de gestion
				envoi_mail("Création de client","cli","cre","xxx","cdg",$codec,"","",FALSE);

				// Envoi d'email vers l'administrateur pour la création du répertoire
				envoi_mail("Création de répertoire","dir","cre","xxx","wm",$rep_ce_client,"","",FALSE);
			}
		}
	
		if ($typdde == "edit")
		{
			$existescliint = FALSE;
			$existesclicocl = FALSE;
		
			// Si on n'est plus une société (champ vide), on doit vérifier que les sites ne sont pas utilisés
			if ($ste=="")
			{
				// Vérifie si utilisé dans une fiche intervention
				if (exist_scli_in_int_cc($code) == TRUE)
				{
					$existescliint = TRUE;
					$msg = "Un des sites de ce client est déjà utilisé dans une fiche intervention.<br>Vous devez donc saisir un nom de société.";
					$retourliste = FALSE;
				}

				// Vérifie si utilisé dans un contrat
				if (exist_scli_in_cocl_cc($code) == TRUE)
				{
					$existesclicocl = TRUE;
					if ($msg<>"")
						$msg.="<br><br>";
					$msg = "Un des sites de ce client est déjà utilisé dans un contrat.<br>Vous devez donc saisir un nom de société.";
					$retourliste = FALSE;
				}
			}
			
			if  (($existescliint == FALSE) AND ($existesclicocl == FALSE))
			{
				// Si le modificateur est un technicien ou une agence, il est imémdiatement déclaré "propriétaire" du client
				$prop=NULL;
				if ((@$HTTP_SESSION_VARS["niv_log"] == 4) OR (@$HTTP_SESSION_VARS["niv_log"] == 3))
				{
					$prop = $HTTP_SESSION_VARS["code_age"];
				}
				
				// MAJ de la fiche Client
			
				$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
				mysql_select_db(DBNAME);
				
				$rech="";
				
				switch (@$HTTP_SESSION_VARS["niv_log"])
				{
					case 9 :
					case 5 :
						$rech = "UPDATE `" .TBCLI. "` SET `cli_datemod`='".$datea."', `cli_codemod`='".$codeuser."', `cli_cat`='".$cat."', `cli_type`='".$type."', `cli_ste`='".$ste."', `cli_rcs`='".$rcs."', `cli_civilite`='".$civil."', `cli_prenom`='".$prenom."', `cli_nom`='".$nom."', `cli_adr1`='".$adr1."', `cli_adr2`='".$adr2."', `cli_ville`='".$ville."', `cli_pays`='".$pays."', `cli_telf`='".$telf."', `cli_fax`='".$fax."', `cli_telp`='".$telp."', `cli_email`='".$email."', `cli_mess`='".$mess."', `cli_notaa`='".$notaa."', `cli_notat`='".$notat."', `cli_cpta`='".$cpta."'  WHERE `cli_code` = '".$code."'";
						break;
					case 4 :
					case 3 :
						$rech = "UPDATE `" .TBCLI. "` SET `cli_datemod`='".$datea."', `cli_prop`='".$prop."', `cli_codemod`='".$codeuser."', `cli_cat`='".$cat."', `cli_type`='".$type."', `cli_ste`='".$ste."', `cli_rcs`='".$rcs."', `cli_civilite`='".$civil."', `cli_prenom`='".$prenom."', `cli_nom`='".$nom."', `cli_adr1`='".$adr1."', `cli_adr2`='".$adr2."', `cli_ville`='".$ville."', `cli_pays`='".$pays."', `cli_telf`='".$telf."', `cli_fax`='".$fax."', `cli_telp`='".$telp."', `cli_email`='".$email."', `cli_mess`='".$mess."', `cli_notat`='".$notat."', `cli_cpta`='".$cpta."'  WHERE `cli_code` = '".$code."'";
						break;
					case 2 :
						$rech = "UPDATE `" .TBCLI. "` SET `cli_datemod`='".$datea."', `cli_codemod`='".$codeuser."', `cli_cat`='".$cat."', `cli_type`='".$type."', `cli_ste`='".$ste."', `cli_rcs`='".$rcs."', `cli_civilite`='".$civil."', `cli_prenom`='".$prenom."', `cli_nom`='".$nom."', `cli_adr1`='".$adr1."', `cli_adr2`='".$adr2."', `cli_ville`='".$ville."', `cli_pays`='".$pays."', `cli_telf`='".$telf."', `cli_fax`='".$fax."', `cli_telp`='".$telp."', `cli_email`='".$email."', `cli_mess`='".$mess."', `cli_cpta`='".$cpta."'  WHERE `cli_code` = '".$code."'";
						break;
					case 1 :
						$rech = "UPDATE `" .TBCLI. "` SET `cli_datemod`='".$datea."', `cli_codemod`='".$codeuser."', `cli_ste`='".$ste."', `cli_rcs`='".$rcs."', `cli_civilite`='".$civil."', `cli_prenom`='".$prenom."', `cli_nom`='".$nom."', `cli_adr1`='".$adr1."', `cli_adr2`='".$adr2."', `cli_ville`='".$ville."', `cli_pays`='".$pays."', `cli_telf`='".$telf."', `cli_fax`='".$fax."', `cli_telp`='".$telp."', `cli_email`='".$email."', `cli_mess`='".$mess."' WHERE `cli_code` = '".$code."'";
						break;
				}
				if ($rech<>"")
					$rs = mysql_query($rech) or die(mysql_error());
				mysql_close($conn);
	
				// Si pas professionnel, suppressions diverses
				if ($ste == "")
				{
					// Suppression des contacts
					del_ccli_in_cli($code);

					// Suppression des sites
					del_scli_in_cli($code);
				}
	
				$msg = "Compte client modifié.";
	
				// Envoi d'email vers le centre de gestion
				envoi_mail("Modification de client","cli","mod","xxx","cdg",$code,"","",TRUE);
			}
		}
		
		if ($typdde == "del")
		{
			if (@$HTTP_SESSION_VARS["niv_log"]>=3)
			{
				$existeint = FALSE;
				$existecocl = FALSE;
	
				// Vérifie si utilisé dans une fiche intervention
				
				if (exist_cli_in_int($code) == TRUE)
				{
					$existeint = TRUE;
					$msg = "Ce client est déjà utilisé dans une fiche intervention.<br>Vous ne pouvez donc pas le supprimer.";			
					$retourliste = FALSE;
				}
	
				// Vérifie si utilisé dans un contrat
				
				if (exist_cli_in_cocl_signe($code) == TRUE)
				{
					$existecocl = TRUE;
					if ($msg<>"")
						$msg.="<br><br>";
					$msg = "Ce client est déjà utilisé dans un contrat signé.<br>Vous ne pouvez donc pas le supprimer.";			
					$retourliste = FALSE;
				}
	
				if  (($existeint == FALSE) AND ($existecocl == FALSE))
				{
					$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
					mysql_select_db(DBNAME);
		
					// SUPPRESSION des contrats non signés rattachés
	
					$rech = "DELETE FROM `" .TBCOCL. "` WHERE `cocl_codecli` = '$code' AND `cocl_signe` IS NULL";
					$rs = mysql_query($rech) or die(mysql_error());
				
					// SUPPRESSION de la fiche Client
	
					$rech = "DELETE FROM `" .TBCLI. "` WHERE `cli_code` = '$code'";
					$rs = mysql_query($rech) or die(mysql_error());
				
					// Suppression du mot de passe rattaché
		
					$rech = "DELETE FROM `" .TBPW. "` WHERE `pw_code` = '$code'";
					$rs = mysql_query($rech) or die(mysql_error());
	
					mysql_close($conn);
	
					// Suppression des contacts
	
					del_ccli_in_cli($code);
	
					// Suppression des sites
	
					del_scli_in_cli($code);
	
					// Suppression du répertoire de stockage spécifique au client
	
					if (is_dir($url_gfc."/clients/".strtolower($code)))
					{
						$rep_cli = $url_gfc."/clients/".strtolower($code);
						$dir = new dirtool($rep_cli);
						$dir->delete();
	
						// Envoi d'email vers l'administrateur pour la suppression du répertoire
						envoi_mail("Suppression de répertoire","dir","del","xxx","wm",$rep_cli,"","",FALSE);
	
						$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
						mysql_select_db(DBNAME);
			
						$rech = "DELETE FROM `" .TBFIC. "` WHERE `fic_nom` LIKE '%$rep_cli%'";
						$rs = mysql_query($rech) or die(mysql_error());
			
						mysql_close($conn);
		
						$msg = "Compte supprimé.";
					}
					else
					{
						$msg = "Compte supprimé.<br>Le répertoire personnel de ce client n'existe pas !";
						$retourliste = FALSE;
					}
				}
			}
			else
			{
				$msg = "Vous n'avez pas le droit de supprimer un client !";			
				$retourliste = FALSE;
			}
		}
?>

<!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 - ESPACE PRIVE : Fiche Client</title>

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

<!-- Feuille de style & Script pour le menu -->
<link href="../inc/menu.css" rel="stylesheet" type="text/css">
<script language="JavaScript" src="../coolmenus/coolmenus4.js"></script>

</head>
<body>

<?php 
	include_once ("../inc/entete.php"); 
?>

<p align="center"><span class="titrepage"><?PHP echo $titre ?></span></p>
<p align="center">&nbsp;</p>
<p align="center" class="annot_gras_it"><?PHP echo $msg ?></p>
<?PHP 
if ($retourliste == FALSE) 
{ 
	if (($typdde == "add") OR ($typdde == "edit"))
	{
?>
		<p align="center">
		<a href="javascript:history.back();">
		Retour &agrave; la saisie
		</a>
<?PHP
	}
?>
	<table width="100%"  border="0">
	  <tr>
		<td width="3%">&nbsp;</td>
		<td width="44%"><div align="right"><a href="cli_lst.php"><img src="../img/liste.gif" width="33" height="34" border="0" align="absmiddle"></a> <a href="cli_lst.php" class="annot_gras_it">Retour &agrave; la liste</a></div></td>
		<td width="7%">&nbsp;</td>
		<td width="43%"><a href="index.php"><em><img src="../img/index.gif" width="48" height="48" border="0" align="absmiddle"> </em><span class="annot_gras_it">Revenir &agrave; l'accueil</span> </a></td>
		<td width="3%">&nbsp;</td>
	  </tr>
	</table>
<?PHP } 
else 
{
	if (strip_tags(trim(@$_POST["int"])) == "Enregistrer & Saisir Intervention")
	{
		if ($typdde == "add")
			$urlint = "int_maj.php?td=add&ci=&cc=".$codec."&ct=&cte=&cx=";	
		else
			$urlint = "int_maj.php?td=add&ci=&cc=".$code."&ct=&cte=&cx=";	
		if ($cpta <> 3) // Pas d'intervention si compte bloqué
		{
?>
		<script type="text/javascript">
		window.setTimeout("location=('<?PHP echo $urlint; ?>');",2000)
		</script>
		<p align="center" class="annot_std_it">Passage en saisie d'intervention dans 2 secondes...</p>
<?PHP
		}
		else
		{
?>
		<script type="text/javascript">
		window.setTimeout("location=('cli_lst.php');",2000)
		</script>
		<p align="center" class="annot_std_it">Compte bloqué, retour à la liste dans 2 secondes...</p>
<?PHP
		}
	}
	else
	{
		if (($typdde == "add") OR ($typdde == "edit"))
		{
			if (@$HTTP_SESSION_VARS["niv_log"] >= 3)
			{
				if ($typdde == "add")
				{
?>
					<script type="text/javascript">
					window.setTimeout("location=('cli_maj.php?td=edit&cc=<?PHP echo $codec; ?>&dep=<?PHP echo $dep; ?>');",2000)
					</script>
					<p align="center" class="annot_std_it">Retour à la fiche dans 2 secondes...</p>
<?PHP
				}
				else
				{
?>
					<script type="text/javascript">
					window.setTimeout("location=('cli_maj.php?td=edit&cc=<?PHP echo $code; ?>&dep=<?PHP echo $dep; ?>');",2000)
					</script>
					<p align="center" class="annot_std_it">Retour à la fiche dans 2 secondes...</p>
<?PHP
				}
			}
			else
			{
?>
				<script type="text/javascript">
				window.setTimeout("location=('index.php');",2000)
				</script>
<?PHP
			}
		}
		else
		{
?>
			<script type="text/javascript">
			window.setTimeout("location=('cli_lst.php?ct=&ci=');",2000)
			</script>
			<p align="center" class="annot_std_it">Retour à la liste dans 2 secondes...</p>
<?PHP
		}
 	} 
}
?>

<?php 
	include_once ("pied.php")
?>
