<?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
****************************************************************************************/


// Vérification des tentatives de hack
$pos=strpos($_SERVER['PHP_SELF'],"inc.php");
if ($pos===FALSE)
	$ok_inc=TRUE;
else
	$ok_inc=FALSE;
if ($ok_inc==FALSE) header("Location: ../index.php");

include_once("../inc/config.inc.php");
include_once("../inc/fic_st.inc.php");
include_once("../inc/fic_hum.inc.php");
include_once("../inc/fic_fici.inc.php");
include_once("../inc/fic_int.inc.php");
include_once("../inc/fic_txt.inc.php");
include_once("../inc/func.inc.php");
include_once("../inc/func_date.inc.php");
include_once("../inc/func_log.inc.php");
include_once("../inc/func_geo.inc.php");
include_once("../inc/func_txt.inc.php");
include_once("../inc/func_txtcm.inc.php");
include_once("../inc/func_mail.inc.php");
include_once("../classes/phpmailer/class.phpmailer.php");
include_once("mail.inc.php");
include_once("../classes/dirtool/class_dirtool.php");
Archivelog(@$_SESSION["code_log"]);

// Variables Formulaire
$titre = strip_tags(trim(@$_POST["titre"]));
$td = strip_tags(trim(@$_POST["td"]));

$code = str_majuscules(strip_tags(trim(@$_POST["code"])));
$nom = str_majuscules(str_escape(trim(@$_POST["nom"])));
$rcs = str_majuscules(str_escape(trim(@$_POST["rcs"])));
$tcom = str_majuscules(str_escape(trim(@$_POST["tcom"])));
$adr1 = str_majuscules(str_escape(trim(@$_POST["adr1"])));
$adr2 = str_majuscules(str_escape(trim(@$_POST["adr2"])));
$dep = strip_tags(trim(@$_POST["dep"]));
$ville = str_majuscules(strip_tags(trim(@$_POST["ville"])));
$pays = str_majuscules(strip_tags(trim(@$_POST["pays"])));
$zone = str_majuscules(strip_tags(trim(@$_POST["zonetxt"])));
$telf = strip_tags(trim(@$_POST["telf"]));
$txttelf = strip_tags(str_escape(trim(@$_POST["txttelf"])));
$fax = strip_tags(trim(@$_POST["fax"]));
$txtfax = str_escape(trim(@$_POST["txtfax"]));
$web = strip_tags(trim(@$_POST["web"]));
$heures = strip_tags(str_escape(trim(@$_POST["heures"])));
$txtent = str_escape(trim(@$_POST["txtent"]));
$rcivil = strip_tags(trim(@$_POST["rcivil"]));
$rprenom = str_escape(trim(@$_POST["rprenom"]));
$rnom = str_escape(trim(@$_POST["rnom"]));
$rtelf = strip_tags(trim(@$_POST["rtelf"]));
$email = strtolower(strip_tags(trim(@$_POST["email"])));
$emaild = strtolower(strip_tags(trim(@$_POST["emaild"])));
$emailc = strtolower(strip_tags(trim(@$_POST["emailc"])));
$emailt = strtolower(strip_tags(trim(@$_POST["emailt"])));
$nota = str_escape(trim(@$_POST["nota"]));
$emetf = strip_tags(trim(@$_POST["factures"]));
if ($emetf == "Oui")
	$facture = TRUE;
else
	$facture = FALSE;
$actif = strip_tags(trim(@$_POST["actif"]));
if ($actif == "Oui")
	$ouvert = TRUE;
else
	$ouvert = FALSE;
$spe = str_majuscules(strip_tags(trim(@$_POST["zonetxt2"])));

$codeuser = @$_SESSION["code_log"];
$retourliste = TRUE;

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

$msg = "";

$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
mysql_select_db(DBNAME);

switch ($td)
{
	// Ajout de la fiche Agence
	case "add" :
		$codes ="S".$code;
		$rech = "SELECT * FROM " .TBST. " WHERE st_code = '$codes'";
		$rs = mysql_query($rech) or die(mysql_error());
		if (mysql_num_rows($rs) == 0)
		{
			$rech2 = "INSERT INTO " .TBST;
			$rech2 .= " (st_datecrea,st_codecrea,st_datemod,st_codemod,st_code,st_pass,st_nom,st_rcs,st_tcom,st_adr1,st_adr2,st_dep,st_ville,st_codepays,st_telf,st_txttelf,st_fax,st_txtfax,st_txtent,st_resp_civilite,st_resp_prenom,st_resp_nom,st_resp_telf,st_email,st_emaild,st_emailc,st_emailt,st_heures,st_web,st_nota,st_fact,st_ouvert,st_datec,st_spe) VALUES";
			$rech2 .= " ('$datea','$codeuser','$datea','$codeuser','$codes','$passcrypt','$nom','$rcs','$tcom','$adr1','$adr2','$dep','$ville','$pays','$telf','$txttelf','$fax','$txtfax','$txtent','$rcivil','$rprenom','$rnom','$rtelf','$email','$emaild','$emaild','$emailt','$heures','$web','$nota','$facture','$ouvert','$datea','$spe')";
			$rs2 = mysql_query($rech2) or die(mysql_error());
		
			// Ajout du compte pour connexion
			// Niveau par défaut : 10
			// 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 ('$codes','$passcrypt','10','$dateheurea','$log_ip','1')";
			$rs2 = mysql_query($rech) or die(mysql_error());
		
			// Mise à jour du fichier des zones couvertes
			$tab_zone=explode("_",$zone);
			
			foreach($tab_zone as $idx=>$value)
			{
				$rech = "INSERT INTO " .TBZOC;
				$rech .= " (zoc_code,zoc_codepays,zoc_codedep) VALUES";
				$rech .= " ('$codes','$pays','$value')";
				$rs = mysql_query($rech) or die(mysql_error());
			}

			$msg = "Fiche enregistr&eacute;e";
		}
		else
		{
			$msg = "Ce code existe d&eacute;j&agrave; !";
			$retourliste = FALSE;
		}
		mysql_close($conn);
		
		if ($retourliste == TRUE)
		{
			// Envoi d'email vers l'agence
			envoi_mail("Ouverture de votre compte sous-traitant","st","cre","xxx","st",$codes,$pass,"",TRUE);
			// Envoi d'email vers le centre de gestion
			envoi_mail("Ouverture d'un compte sous-traitant","st","cre","xxx","cdg",$codes,$pass,"",FALSE);
		}
		break;
		
	case "edit" :
		mysql_close($conn);
		$existint = FALSE;
		$existtec = FALSE;
	
		if ((@$_SESSION["niv_log"] == 5) OR (@$_SESSION["niv_log"] == 9))
		{
			if ($ouvert == FALSE) // Si fermeture de sous-traitant, quelques contrôles sont nécessaires
			{
				// Vérifie si utilisé dans une fiche intervention non close
				if (exist_st_in_int_ouv($code) == TRUE)
				{
					$existint = TRUE;
					$msg = "Il faut d'abord clore les interventions en cours pour d&easactiver ce sous-traitant.";
					$retourliste = FALSE;
				}
	
				// Vérifie si utilisé dans une fiche technicien non licencié
				if (exist_st_in_tec_present($code) == TRUE)
				{
					$existtec = TRUE;
					if ($msg <> "")
						$msg .= "<br><br>";			
					$msg .= "Il faut d'abord licencier les techniciens présent dans ce sous-traitant pour le fermer.";
					$retourliste = FALSE;
				}
			}
		}
					
		if (($existint == FALSE) AND ($existtec == FALSE))
		{
			$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
			mysql_select_db(DBNAME);
	
			if ((@$_SESSION["niv_log"] == 5) OR (@$_SESSION["niv_log"] == 9))
			{
				// MAJ de la fiche sous-traitant
				$rech = "UPDATE `" .TBST. "` SET `st_datemod`='".$datea."', `st_codemod`='".$codeuser."', `st_code`='".$code."', `st_nom`='".$nom."', `st_rcs`='".$rcs."', `st_tcom`='".$tcom."', `st_adr1`='".$adr1."', `st_adr2`='".$adr2."', `st_dep`='".$dep."',`st_ville`='".$ville."',`st_codepays`='".$pays."', `st_codepays`='".$pays."', `st_telf`='".$telf."', `st_txttelf`='".$txttelf."', `st_fax`='".$fax."', `st_txtfax`='".$txtfax."', `st_txtent`='".$txtent."', `st_resp_civilite`='".$rcivil."', `st_resp_prenom`='".$rprenom."', `st_resp_nom`='".$rnom."', `st_resp_telf`='".$rtelf."', `st_email`='".$email."', `st_emaild`='".$emaild."', `st_emailc`='".$emailc."', `st_emailt`='".$emailt."', `st_heures`='".$heures."', `st_web`='".$web."', `st_nota`='".$nota."', `st_fact`='".$facture."', `st_ouvert`='".$ouvert."', `st_spe`='".$spe."'   WHERE `st_code` = '".$code."'";
				$rs = mysql_query($rech) or die(mysql_error());
	
			}
						
			if (@$_SESSION["niv_log"] == 10)
			{
				// MAJ de la fiche sous-traitant
				$rech = "UPDATE `" .TBST. "` SET `st_datemod`='".$datea."', `st_codemod`='".$codeuser."', `st_telf`='".$telf."', `st_txttelf`='".$txttelf."', `st_fax`='".$fax."', `st_txtfax`='".$txtfax."', `st_txtent`='".$txtent."', `st_resp_civilite`='".$rcivil."', `st_resp_prenom`='".$rprenom."', `st_resp_nom`='".$rnom."', `st_resp_telf`='".$rtelf."', `st_email`='".$email."', `st_emaild`='".$emaild."', `st_emailc`='".$emailc."', `st_emailt`='".$emailt."', `st_heures`='".$heures."', `st_web`='".$web."'  WHERE `st_code` = '".$code."'";
				$rs = mysql_query($rech) or die(mysql_error());
			}
			
			// Mise à jour du fichier des zones couvertes
			$rech = "DELETE FROM `" .TBZOC. "` WHERE `zoc_code` = '$code'";
			$rs = mysql_query($rech) or die(mysql_error());
			$tab_zone=explode("_",$zone);
			
			foreach($tab_zone as $idx=>$value)
			{
				$rech = "INSERT INTO " .TBZOC;
				$rech .= " (zoc_code,zoc_codepays,zoc_codedep) VALUES";
				$rech .= " ('$code','$pays','$value')";
				$rs = mysql_query($rech) or die(mysql_error());
			}

			$msg = "Fiche modifi&eacute;e";
				
			// mysql_free_result($rs);
			mysql_close($conn);
	
			// Envoi d'email vers le centre de gestion
			envoi_mail("Modification d'un compte sous-traitant","st","mod","xxx","cdg",$code,"","",TRUE);
		}
		break;
		
	// Suppression de la fiche sous-traitant
	case "del" :
		mysql_close($conn);
		$existint = FALSE;
		$existtec = FALSE;
	
		// Vérifie si utilisée dans une fiche intervention
		if (exist_st_in_int($code) == TRUE)
		{
			$existint = TRUE;
			$msg = "Ce sous-traitant est utilis&eacute; dans une fiche intervention.<br>Vous ne pouvez donc pas le supprimer (Il suffit de le passer en mode 'd&eacute;sactiv&eacute;').";
			$retourliste = FALSE;
		}
		
		// Vérifie si utilisé dans une fiche technicien			
		if (exist_st_in_tec($code) == TRUE)
		{
			$existtec = TRUE;
			if ($msg <> "")
				$msg .= "<br><br>";			
			$msg .= "Ce sous-traitant est utilis&eacute;e dans une fiche technicien.<br>Vous ne pouvez donc pas le supprimer (Il suffit de la passer en mode 'ferm&eacute;').";
			$retourliste = FALSE;
		}
					
		if (($existint == FALSE) AND ($existtec == FALSE))
		{
			$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
			mysql_select_db(DBNAME);
	
			// SUPPRESSION de la fiche Sous-traitant
			$rech = "DELETE FROM `" .TBST. "` WHERE `st_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());
	
			// Suppression des zones couvertes
			$rech = "DELETE FROM `" .TBZOC. "` WHERE `zoc_code` = '$code'";
			$rs = mysql_query($rech) or die(mysql_error());

			// mysql_free_result($rs);
			mysql_close($conn);
	
			// Suppression des logos spécifiques au donneur d'ordres
			$nomfic = $root."/".REP."/logos/log".strtolower($code);
			if (is_file($nomfic.".png"))
			{
				if (!unlink($nomfic.".png"))
				{
					if ($msg <> "")
						$msg .= "<br><br>";			
					$msg.= "Probl&egrave;me de suppression du logo png";
					$retourliste = FALSE;
				}
			}
			if (is_file($nomfic.".gif"))
			{
				if (!unlink($nomfic.".gif"))
				{
					if ($msg <> "")
						$msg .= "<br><br>";			
					$msg.= "Probl&egrave;me de suppression du logo gif";
					$retourliste = FALSE;
				}
			}
			$msg = "Fiche supprim&eacute;e";
		}
		break;
		
	default :
		break;
}
?>
<!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 Sous-traitant</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 -->

<script language="JavaScript" src="../jscript/coolmenus/coolmenus4.js"></script>

<!-- Scripts Javascript pour fenêtres -->
<script language="JavaScript" src="../jscript/fen.js"></script>

</head>
<body>

<?php 
include_once("entete.inc.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 ((@$_SESSION["niv_log"] == 5) OR (@$_SESSION["niv_log"] == 9))
{
	$url_retour="st_lst.php";
	if ($td == "add") 
	{ 
		$url_retour="logo_maj.php?td=st";
	?>
	<p align="center" class="annot_gras_it">Merci de t&eacute;l&eacute;charger le logo du sous-traitant</p>
	<?PHP 
	} 
	?>
	<p align="center" class="annot_std_it">Merci de patienter 2 secondes...</p>
	<script type="text/javascript">
	window.setTimeout("location=('<?PHP echo $url_retour; ?>');",2000)
	</script>
<?PHP
}

if (@$_SESSION["niv_log"] == 10)
{
?>
	<script type="text/javascript">
	window.setTimeout("location=('index.php');",2000)
	</script>
	<p align="center" class="annot_std_it">Retour à l'accueil dans 2 secondes...</p>
<?PHP
}
include_once("pied.php");
?>
