<?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/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/lst.inc.php");
include_once("../inc/fic_age.inc.php");
include_once("../inc/fic_cli.inc.php");
include_once("../inc/fic_cocl.inc.php");
include_once("../inc/fic_int.inc.php");
include_once("../inc/fic_rel.inc.php");
Archivelog(@$_SESSION["code_log"]);

$pbm_site=FALSE;
$pbm_cli=FALSE;
$pbm_int = FALSE;
$pbm_cocl = FALSE;
$sitep=FALSE;
$lstsites = "";

// On a pas validé
if (strip_tags(trim(@$_POST["val"])) <> "Valider")
{
	$cc = strip_tags(trim($_GET['cc'])); // Récupération code Client
	$ci = strip_tags(trim($_GET['ci'])); // Récupération code Intervention
	$co = strip_tags(trim($_GET['co'])); // Récupération code Contrat
	$td = strip_tags(trim($_GET['td'])); // Récupération type demande
	$si = intval(strip_tags(trim($_GET['si']))); // Récupération site Intervention
	
	if (($td<>"edit") AND ($td<>"view") AND ($td<>"add"))
		$pbm_int=TRUE;

	// On contrôle le code site
	if (($si==NULL) OR ($si<0))
		$si=0;
	if ($si==0)
		$sitep = TRUE;
		
	if ($si<>0)
	{
		$row=lit_enr_scli($si,TRUE);
		if (!is_array($row))
			$pbm_site=TRUE;
	}

	if ($cc<>"")
	{
		// Contrôle qu'un client n'essaye pas de "hacker" un contrat
		if ((@$_SESSION["niv_log"] == 1) AND ($cc <> @$_SESSION["code_log"]))
			$pbm_cli = TRUE;

		$row = lit_enr_cli($cc);
		if (is_array($row))
		{
			extract ($row);

			// Contrôle qu'une agence n'essaye pas de "hacker" un contrat
			switch(@$_SESSION["niv_log"])
			{
				case 3 :
				case 4 :
					if (client_age_ok($cli_code,@$_SESSION["code_age"],TRUE)==FALSE)
						$detail_ok = TRUE;
					break;
				default :
					break;
			}
		}
		else
			$pbm_cli = TRUE;
	}
	else
		$pbm_cli = TRUE;

	if ($ci <> "")
	{
		// Récupération des informations intervention client
		$row = lit_enr_int($ci);
		if (is_array($row))
		{
			extract ($row);
			
			// Si contrat terminé, force le mode "view"
			if (formatedate($int_datefin) <> "")
				$td="view";

			if ($td <> "add")
			{
				// Contrôle qu'un client n'essaye pas de "hacker" un contrat
				if ((@$_SESSION["niv_log"] == 1) AND ($int_codecli <> @$_SESSION["code_log"]))
					$pbm_int = TRUE;
				// Contrôle qu'une agence n'essaye pas de "hacker" un contrat
				if (((@$_SESSION["niv_log"] == 4) OR (@$_SESSION["niv_log"] == 3)) AND ($int_codeage <> @$_SESSION["code_age"]))
					$pbm_int = TRUE;
			}
		}
		else
		{
			if (($td=="edit") OR ($td=="view"))
				$pbm_int=TRUE;
		}
	}
	else
	{
		$pbm_int = TRUE;
	}

	if ($co <> "")
	{
		// Récupération des informations contrat client
		$row = lit_enr_cocl($co);
		if (is_array($row))
		{
			extract ($row);
			
			// Construction de la chaîne des sites autorisés
			$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
			mysql_select_db(DBNAME);
			$rech = "SELECT scli_id FROM ".TBSCLI.",".TBSCLIC." WHERE ".TBSCLIC.".sclic_codecocl = '".$co."' AND ".TBSCLI.".scli_id = ".TBSCLIC.".sclic_idscli";
			$rs = mysql_query($rech);
			while ($row = mysql_fetch_assoc($rs)) 
			{
				extract($row);
				$lstsites .= $scli_id."-";
			}
			if ($lstsites!="")
				$lstsites = substr($lstsites,0,strlen($lstsites)-1);
			$rech = "SELECT cocl_sitep FROM ".TBCOCL." WHERE cocl_code = '".$co."' AND cocl_sitep = 1";
			$rs = mysql_query($rech);
			if (mysql_num_rows($rs)>0)
			{
				$sitep = TRUE;
			}
			mysql_free_result($rs);
			mysql_close($conn);
			
			// Si contrat terminé, force le mode "view"
			if (formatedate($cocl_datefin) <> "")
				$td="view";

			if ($td <> "add")
			{
				// Contrôle qu'un client n'essaye pas de "hacker" un contrat
				if ((@$_SESSION["niv_log"] == 1) AND ($cocl_codecli <> @$_SESSION["code_log"]))
					$pbm_cocl = TRUE;
				// Contrôle qu'une agence n'essaye pas de "hacker" un contrat
				if (((@$_SESSION["niv_log"] == 4) OR (@$_SESSION["niv_log"] == 3)) AND ($cocl_codeage <> @$_SESSION["code_age"]))
					$pbm_cocl = TRUE;
			}
		}
		else
		{
			if (($td=="edit") OR ($td=="view"))
				$pbm_cocl=TRUE;
		}
	}
}
$tab_sites = explode("-",substr($lstsites,0,strlen($lstsites)-1));
?>
<!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 : Sites intervention</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>

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

<script language="javascript">
var tab_champ=new Array(
	"nom:scli_choisi ; format:radio ; req:Y ; txt:Site d'intervention ; stok:saisieok ; stbad:saisiepasok");
</script>

<!-- Scripts Javascript divers -->
<script	type="text/javascript" src="../jscript/divers.js"></script>

</head>

<body>

<?PHP
if (($pbm_site==FALSE) AND ($pbm_cli==FALSE) AND ($pbm_int==FALSE) AND ($pbm_cocl==FALSE))
{
	if (strip_tags(trim(@$_POST["val"])) <> "Valider") // Si le formulaire n'a pas été validé
	{
	?>
		<p align="center"><span class="titrepage">SITES D'INTERVENTION</span></p>
		<p align="center">
		<?PHP
		if (($td=="add") OR ($td=="edit"))
		{
			echo "Merci de choisir le site o&ugrave; vous voulez intervenir.";
			echo "<br><br>";
			echo "<span class=\"annot_std_it\">";
			if ($co<>"")
			{
				echo "Liste des sites couverts par le contrat ".$co.".";
			}
			else
			{
				echo "Liste de tous les sites actifs.";
			}
			echo "</span>";
			echo "<br><span class=\"annot_petit_it\">";
			echo "(Si vous modifiez votre choix par rapport &agrave; celui en place, la liste des mat&eacute;riels/probl&egrave;mes/travail effectu&eacute; pr&eacute;c&eacute;demment g&eacute;n&eacute;r&eacute;e sera remise &agrave; z&eacute;ro)";
			echo "</span>";
		}
		?>
		</p>		
	
		<form name="sitesi_lst" method="post" action="sitesi_lst.php" onSubmit="javascript:; return (VForm(this,tab_champ,'',''));">
		<input name="ci" type="hidden" id="ci" value="<?PHP echo $ci ?>">
		<input name="cc" type="hidden" id="cc" value="<?PHP echo $cc ?>">
		<input name="co" type="hidden" id="co" value="<?PHP echo $co ?>">
		<input name="td" type="hidden" id="td" value="<?PHP echo $td ?>">
		<input name="si" type="hidden" id="si" value="<?PHP echo $si ?>">
		<?PHP
		// Création de la liste des sites secondaires
		
		$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
		mysql_select_db(DBNAME);
		$rech = "SELECT * FROM `" .TBSCLI. "` WHERE `scli_codecli`= '".$cc."' AND `scli_actif`=1 ORDER BY `scli_ste`";
		
		$rs = mysql_query($rech);
		
		if ((mysql_num_rows($rs) <> 0) OR ($sitep==TRUE))
		{
			echo "<table class=\"MtableD\" border=\"0\" width=\"890\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\">\n";
			 
			// Création de l'entête de la table "sites d'intervention"
			echo "<th>";
			echo "Coordonn&eacute;es";
			echo "</th>\n";
			echo "<th>";
			echo "Tel/Fax";
			echo "</th>\n";
			echo "<th>";
			echo "Contact";
			echo "</th>\n";
			echo "<th>";
			echo "Créé le";
			echo "</th>\n";
			echo "<th>";
			echo "Choisir";
			echo "</th>\n";
			
			$j = 0;

			if (($sitep==TRUE) OR ($co==""))
			{
				// Création de l'entête de ligne (TR)
				creetrlstdet($j);
				
				echo "<td>\n";
				echo "Site principal";
				echo "</td>\n";
				echo "<td align=\"center\">\n";
				echo "&nbsp;";
				echo "</td>\n";
				echo "<td align=\"center\">\n";
				echo "&nbsp;";
				echo "</td>\n";
				echo "<td align=\"center\">\n";
				echo "&nbsp;";
				echo "</td>\n";
	
				echo "<td align=\"center\">\n";
	
				$choisi = FALSE;
	
				if ($si==0)
					$choisi = TRUE;
	
				$readonly="";
				if ($td=="view")
				{
					$readonly="disabled";
				}
		
				if ($choisi == TRUE)
				{
					if($j%2 == 0)  
						echo "<input type=\"radio\" name=\"scli_choisi\" value=\"0\" class=\"TRalter1D\" checked ".$readonly.">";
					else
						echo "<input type=\"radio\" name=\"scli_choisi\" value=\"0\" class=\"TRalter2D\" checked ".$readonly.">";
				}
				else
				{
					if($j%2 == 0)  
						echo "<input type=\"radio\" name=\"scli_choisi\" value=\"0\" class=\"TRalter1D\" ".$readonly.">";
					else
						echo "<input type=\"radio\" name=\"scli_choisi\" value=\"0\" class=\"TRalter2D\" ".$readonly.">";
				}
				echo "</td>\n";
				echo "</tr>\n";
			
				$j++;
			}

			while ($row = mysql_fetch_assoc($rs)) 
			{         
				if ((exist_txt_in_tabtxt($row["scli_id"],$tab_sites)==TRUE) OR ($co==""))
				{
					// Création de l'entête de ligne (TR)
					creetrlstdet($j);
					
					echo "<td>\n";
					echo $row["scli_ste"];
					echo "<br>";
					echo $row["scli_adr1"];
					echo "<br>";
					if ($row["scli_adr2"]<>"")
					{
						echo $row["scli_adr2"];
						echo "<br>";
					}
					echo Retournecp_openId($row["scli_ville"],FALSE)." ".Retourneville_OpenId($row["scli_ville"],FALSE)."<br>";
					echo "</td>\n";
					echo "<td align=\"center\">\n";
					echo "T.".$row["scli_telf"];
					if ($row["scli_fax"]<>"")
					{
						echo"<br>";
						echo "F.".$row["scli_fax"];
					}
					echo "</td>\n";
					echo "<td align=\"center\">\n";
					echo $row["scli_rcivil"]." ".$row["scli_rprenom"]." ".$row["scli_rnom"];
					echo "<br>";
					echo "T.".$row["scli_rtelf"];
					if ($row["scli_rfax"]<>"")
					{
						echo "<br>";
						echo "F.".$row["scli_rfax"];
					}
					if ($row["scli_rtelp"]<>"")
					{
						echo "<br>";
						echo "P.".$row["scli_rtelp"];
					}
					echo "</td>\n";
					echo "<td align=\"center\">\n";
					echo formatedate($row["scli_datecrea"]);
					echo "</td>\n";
		
					echo "<td align=\"center\">\n";
					$choisi = FALSE;
					if ($row["scli_id"]==$si)
						$choisi = TRUE;
		
					$readonly="";
					if ($td=="view")
					{
						$readonly="disabled";
					}
			
					if ($choisi == TRUE)
					{
						if($j%2 == 0)  
							echo "<input type=\"radio\" name=\"scli_choisi\" value=\"".$row["scli_id"]."\" class=\"TRalter1D\" checked ".$readonly.">";
						else
							echo "<input type=\"radio\" name=\"scli_choisi\" value=\"".$row["scli_id"]."\" class=\"TRalter2D\" checked ".$readonly.">";
					}
					else
					{
						if($j%2 == 0)  
							echo "<input type=\"radio\" name=\"scli_choisi\" value=\"".$row["scli_id"]."\" class=\"TRalter1D\" ".$readonly.">";
						else
							echo "<input type=\"radio\" name=\"scli_choisi\" value=\"".$row["scli_id"]."\" class=\"TRalter2D\" ".$readonly.">";
					}
					echo "</td>\n";
					echo "</tr>\n";
				
					$j++;
				}
			}
			
			echo "</table>\n";
			// Fin affichage table liste sites
		}
		mysql_free_result($rs);
		?>
		
		<p align="center">
		<?PHP
		if ($td<>"view")
		{
		?>
			<input name="RAZ" type="reset" class="bton_fmarr_std" id="RAZ" value="Remise &agrave; Z&eacute;ro">
			<input name="val" type="submit" class="bton_fmarr_std" id="val" value="Valider">
			<input name="annul" type="button" class="bton_fmarr_std" id="annul" value="Annuler" onClick="javascript:; self.close('fscomp');">
		<?PHP
		}
		else
		{
		?>
			<input name="annul" type="button" class="bton_fmarr_std" id="annul" value="Fermer" onClick="javascript:; self.close('fscomp');">
		<?PHP
		}
		?>
		</p>
		</form>
	<?PHP
	}
	else
	{
	?>
<script type="text/javascript">
var valmat=window.opener.document.int_maj.mat.value;
var valpbm=window.opener.document.int_maj.pbm.value;
<?PHP
$display="none";
if (exist_rpbm_actif_site($_POST["td"],$_POST["cc"],$_POST["ci"],$_POST["scli_choisi"]) == TRUE)
	$display="block";
// A-t'on changé de site ?
if ($_SESSION["scli_choisis"]<>$_POST["scli_choisi"])
	$_SESSION["pbm_choisis"] = '';
	
echo "var exsite=".$_POST["si"].";\n";
echo "var nouvsite=".$_POST["scli_choisi"].";\n";
echo "var affbout='".$display."';\n";
// On génère la variable qui va permettre de comparer
echo "var valtxtmat='".@$_SESSION["txtmatlst"]."';\n";
// On remet les valeurs générées à zéro car on repart sur un nouveau site
$_SESSION["txtmatlst"]='';
// On génère la variable qui va permettre de comparer
echo "var valtxtpbm='".@$_SESSION["txtpbmlst"]."';\n";
// On remet les valeurs générées à zéro car on repart sur un nouveau site
$_SESSION["txtpbmlst"]='';
// On génère la variable qui va permettre de comparer
echo "var valtxtfait='".@$_SESSION["txtfaitlst"]."';\n";
// On remet les valeurs générées à zéro car on repart sur un nouveau site
$_SESSION["txtfaitlst"]='';
?>
// On affiche ou on efface les boutons de choix
var objet1 = window.opener.document.getElementById('boutmat');
if (objet1)
	objet1.style.display = affbout;
var objet2 = window.opener.document.getElementById('notamat');
if (objet2)
	objet2.style.display = affbout;
var objet3 = window.opener.document.getElementById('boutpbm');
if (objet3)
	objet3.style.display = affbout;
var objet4 = window.opener.document.getElementById('notapbm');
if (objet4)
	objet4.style.display = affbout;
var objet5 = window.opener.document.getElementById('boutfait');
if (objet5)
	objet5.style.display = affbout;
var objet6 = window.opener.document.getElementById('notafait');
if (objet6)
	objet6.style.display = affbout;
if (exsite!=nouvsite)
{
	var matos=update_txt_in_txt(valmat,valtxtmat,'');
	window.opener.document.int_maj.mat.value=matos;
	// S'il n'y a pas de bouton (pas de problème sur le site choisi), on laisse la possibilité de saisir du texte dans le textarea
	// en enlevant le readonly
	if (affbout=='none')
		window.opener.document.int_maj.mat.readOnly = false;
	else
		window.opener.document.int_maj.mat.readOnly = true;
	
	var pbm=update_txt_in_txt(valpbm,valtxtpbm,'');
	window.opener.document.int_maj.pbm.value=pbm;
	// S'il n'y a pas de bouton (pas de problème sur le site choisi), on laisse la possibilité de saisir du texte dans le textarea
	// en enlevant le readonly
	if (affbout=='none')
		window.opener.document.int_maj.pbm.readOnly = false;
	else
		window.opener.document.int_maj.pbm.readOnly = true;
	<?PHP
	if ($_POST["td"]=="edit")
	{
	// On génère la variable qui va permettre de comparer
	echo "var valtxtfait='".@$_SESSION["txtfaitlst"]."';\n";
	// On remet les valeurs générées à zéro car on repart sur un nouveau site
	$_SESSION["txtfaitlst"]='';
	?>
	var valfait=window.opener.document.int_maj.fait.value;
	var fait=update_txt_in_txt(valfait,valtxtfait,'');
	window.opener.document.int_maj.fait.value=fait;
	// S'il n'y a pas de bouton (pas de problème sur le site choisi), on laisse la possibilité de saisir du texte dans le textarea
	// en enlevant le readonly
	if (affbout=='none')
		window.opener.document.int_maj.fait.readOnly = false;
	else
		window.opener.document.int_maj.fait.readOnly = true;
	<?PHP
	}
	?>
}
// On affecte le site et on met à jour la zone d'affichage du nom du site
window.opener.document.int_maj.idsite.value=nouvsite;
window.opener.document.getElementById("nomsite").innerHTML='<?PHP echo nom_scli($_POST["scli_choisi"],TRUE); ?>';
self.close();
</script>
<?PHP
	}
}
else
{
?>
	<script type="text/javascript">
	self.close();
	</script>
<?PHP
}
?>
</body>
</html>
