<?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");

/********************************************************/
/* Fonctions de MAJ des textes types pour les courriers */
/* et les emails                                        */
/********************************************************/

// Balayage des champs d'une base, avec recherche sql
function mysql_parse_rows($sql,$row,$texte)
{
	$txt=$texte;

	$conn2 = mysql_connect(DBHOST, DBUSER, DBPASS);
	mysql_select_db(DBNAME);
	$rs = mysql_query($sql)or die(mysql_error());
	$num = mysql_num_fields($rs);
	$i = 0;
	for ($i = 0; $i < $num; $i++) 
	{
		$nom = mysql_field_name($rs, $i);
		$nom_rech = "%".$nom."%";

		if (mysql_field_type($rs, $i) <> "date")
		{
			if (mysql_field_type($rs, $i) == "blob")
				$txt = eregi_replace($nom_rech,formatetxtbr($row[$i]),$txt);
			else
				$txt = eregi_replace($nom_rech,$row[$i],$txt);
		}
		else
			$txt = eregi_replace($nom_rech,formatedate($row[$i]),$txt);
		
	}
	mysql_free_result($rs);
	mysql_close($conn2);

	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement centre de gestion
function parse_txt_cdg($texte)
{
	$txt=$texte;
	
	$row = lit_enr_cdg();
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBCG."`";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);
		$txt = ereg_replace("%cp_cge%",Retournecp_openId($cge_ville,TRUE),$txt);
		$txt = ereg_replace("%ville_cge%",Retourneville_openId($cge_ville,TRUE),$txt);
		$txt = ereg_replace("%dep_cge%",Retournedep_open($cge_dep,cge_codepays,TRUE),$txt);
		$txt = ereg_replace("%pays_cge%",Retournepays_open($cge_codepays,TRUE),$txt);

	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement agence
function parse_txt_age($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_age($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBAGE. "` WHERE `age_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);
		$txt = ereg_replace("%cp_age%",Retournecp_openId($age_ville,TRUE),$txt);
		$txt = ereg_replace("%ville_age%",Retourneville_openId($age_ville,TRUE),$txt);
		$txt = ereg_replace("%dep_age%",Retournedep_open($age_dep,$age_codepays,TRUE),$txt);
		$txt = ereg_replace("%pays_age%",Retournepays_open($age_codepays,TRUE),$txt);
		
		// Catégorie
		$row = lit_enr_acat($age_cat);
		if (is_array($row))
		{
			extract($row);
			$txt = ereg_replace("%cat_age%",$acat_desc,$txt);
			$txt = ereg_replace("%catm_age%", strtolower($acat_desc),$txt);
			$txt = ereg_replace("%catM_age%", str_majuscules($acat_desc),$txt);
			$txt = ereg_replace("%cat1M_age%", ucfirst(strtolower($acat_desc)),$txt);
		}
		
		// Civilité du responsable
		$row = lit_enr_civ($age_resp_civilite);
		if (is_array($row))
		{
			extract($row);
			$txt = ereg_replace("%civiliter_age%",$civ_desc,$txt);
			$txt = ereg_replace("%civiliterm_age%", strtolower($civ_desc),$txt);
			$txt = ereg_replace("%civiliterM_age%", str_majuscules($civ_desc),$txt);
			$txt = ereg_replace("%civiliter1M_age%", ucfirst(strtolower($civ_desc)),$txt);
		}		

	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement client
function parse_txt_cli($code,$texte)
{
	global
		$typ_client,
		$niv_vpta,
		$prev_client;
		
	$txt=$texte;
	
	$row = lit_enr_cli($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBCLI. "` WHERE `cli_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);
		$txt = ereg_replace("%cp_cli%",Retournecp_openId($cli_ville,TRUE),$txt);
		$txt = ereg_replace("%ville_cli%",Retourneville_openId($cli_ville,TRUE),$txt);
		$txt = ereg_replace("%dep_cli%",Retournedep_open($cli_dep,$cli_codepays,TRUE),$txt);
		$txt = ereg_replace("%pays_cli%",Retournepays_open($cli_codepays,TRUE),$txt);
		
		// Type du client
		$txt = ereg_replace("%type_cli%",$typ_client[$cli_type],$txt);

		// Niveau comptable
		$txt = ereg_replace("%cpta_cli%",$niv_cpta[$cli_cpta],$txt);

		// Comment on le prévient
		$txt = ereg_replace("%prev_cli%",$prev_client[$cli_prev],$txt);

		// Civilité
		$row = lit_enr_civ($cli_civilite);
		if (is_array($row))
		{
			extract($row);
			$txt = ereg_replace("%civilite_cli%",$civ_desc,$txt);
			$txt = ereg_replace("%civilitem_cli%", strtolower($civ_desc),$txt);
			$txt = ereg_replace("%civiliteM_cli%", str_majuscules($civ_desc),$txt);
			$txt = ereg_replace("%civilite1M_cli%", ucfirst(strtolower($civ_desc)),$txt);
		}		

		// Balayage donneur d'ordres
		$txt = parse_txt_do($cli_codedo,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement donneur d'ordres
function parse_txt_do($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_do($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBDO. "` WHERE `do_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);
		$txt = ereg_replace("%cp_do%",Retournecp_openId($do_ville,TRUE),$txt);
		$txt = ereg_replace("%ville_do%",Retourneville_openId($do_ville,TRUE),$txt);
		$txt = ereg_replace("%dep_do%",Retournedep_open($do_dep,$do_codepays,TRUE),$txt);
		$txt = ereg_replace("%pays_do%",Retournepays_open($do_codepays,TRUE),$txt);
		
		// Civilité du responsable
		$row = lit_enr_civ($do_resp_civilite);
		if (is_array($row))
		{
			extract($row);
			$txt = ereg_replace("%civiliter_do%",$civ_desc,$txt);
			$txt = ereg_replace("%civiliterm_do%", strtolower($civ_desc),$txt);
			$txt = ereg_replace("%civiliterM_do%", str_majuscules($civ_desc),$txt);
			$txt = ereg_replace("%civiliter1M_do%", ucfirst(strtolower($civ_desc)),$txt);
		}		

	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement sous-traitant
function parse_txt_st($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_st($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBST. "` WHERE `st_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);
		$txt = ereg_replace("%cp_st%",Retournecp_openId($st_ville,TRUE),$txt);
		$txt = ereg_replace("%ville_st%",Retourneville_openId($st_ville,TRUE),$txt);
		$txt = ereg_replace("%dep_st%",Retournedep_open($st_dep,$st_codepays,TRUE),$txt);
		$txt = ereg_replace("%pays_st%",Retournepays_open($st_codepays,TRUE),$txt);
		
		// Civilité du responsable
		$row = lit_enr_civ($st_resp_civilite);
		if (is_array($row))
		{
			extract($row);
			$txt = ereg_replace("%civiliter_st%",$civ_desc,$txt);
			$txt = ereg_replace("%civiliterm_st%", strtolower($civ_desc),$txt);
			$txt = ereg_replace("%civiliterM_st%", str_majuscules($civ_desc),$txt);
			$txt = ereg_replace("%civiliter1M_st%", ucfirst(strtolower($civ_desc)),$txt);
		}		

	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement technicien
function parse_txt_tec($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_tec($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBTEC. "` WHERE `tec_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);
		$txt = ereg_replace("%cp_tec%",Retournecp_openId($tec_ville,TRUE),$txt);
		$txt = ereg_replace("%ville_tec%",Retourneville_openId($tec_ville,TRUE),$txt);
		$txt = ereg_replace("%dep_tec%",Retournedep_open($tec_dep,$tec_codepays,TRUE),$txt);
		$txt = ereg_replace("%pays_tec%",Retournepays_open($tec_codepays,TRUE),$txt);
		
		// Civilité
		$row = lit_enr_civ($tec_civilite);
		if (is_array($row))
		{
			extract($row);
			$txt = ereg_replace("%civilite_tec%",$civ_desc,$txt);
			$txt = ereg_replace("%civilitem_tec%", strtolower($civ_desc),$txt);
			$txt = ereg_replace("%civiliteM_tec%", str_majuscules($civ_desc),$txt);
			$txt = ereg_replace("%civilite1M_tec%", ucfirst(strtolower($civ_desc)),$txt);
		}		

		// Balayage agence
		$txt = parse_txt_age($tec_codeage,$txt);

		// Balayage donneur d'ordres
		$txt = parse_txt_do($tec_codedo,$txt);

		// Balayage sous-traitant
		$txt = parse_txt_st($tec_codest,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement opérateur
function parse_txt_ope($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_ope($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBOPE. "` WHERE `ope_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);
		$txt = ereg_replace("%cp_ope%",Retournecp_openId($ope_ville,TRUE),$txt);
		$txt = ereg_replace("%ville_ope%",Retourneville_openId($ope_ville,TRUE),$txt);
		$txt = ereg_replace("%dep_ope%",Retournedep_open($ope_dep,$ope_codepays,TRUE),$txt);
		$txt = ereg_replace("%pays_ope%",Retournepays_open($ope_codepays,TRUE),$txt);
		
		// Civilité
		$row = lit_enr_civ($ope_civilite);
		if (is_array($row))
		{
			extract($row);
			$txt = ereg_replace("%civilite_ope%",$civ_desc,$txt);
			$txt = ereg_replace("%civilitem_ope%", strtolower($civ_desc),$txt);
			$txt = ereg_replace("%civiliteM_ope%", str_majuscules($civ_desc),$txt);
			$txt = ereg_replace("%civilite1M_ope%", ucfirst(strtolower($civ_desc)),$txt);
		}		
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement contrat type
function parse_txt_co($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_co($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBCO. "` WHERE `co_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement périodicité
function parse_txt_per($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_per($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBPER. "` WHERE `per_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);

		if ($per_nbj <> 0)
			$txt_nbj = " (tous les ".$per_nbj." jours)";
		else
			$txt_nbj = " (à la demande)";
		$txt = ereg_replace("%perE_cocl%",$per_desc.$txt_nbj,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement contrat client
function parse_txt_cocl($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_cocl($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBCOCL. "` WHERE `cocl_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);

		// Balayage des champs quotas d'heures
		$txt = ereg_replace("%heures_cocl%",substr(sec_heure($cocl_nbs),0,5),$txt);
		$txt = ereg_replace("%solde_cocl%",substr(sec_heure($cocl_soldes),0,5),$txt);

		// Contrat type
		$txt = parse_txt_co($cocl_codeco,$txt);

		// Client
		$txt = parse_txt_cli($cocl_codecli,$txt);

		// Agence
		$txt = parse_txt_age($cocl_codeage,$txt);

		// Périodicité
		$txt = parse_txt_per($cocl_codeper,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement type de demande
function parse_txt_ddet($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_ddet($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBDDET. "` WHERE `ddet_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement demande
function parse_txt_dde($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_dde($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBDDE. "` WHERE `dde_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);
		$txt = ereg_replace("%cp_dde%",Retournecp_openId($dde_ville,TRUE),$txt);
		$txt = ereg_replace("%ville_dde%",Retourneville_openId($dde_ville,TRUE),$txt);
		$txt = ereg_replace("%dep_dde%",Retournedep_open($dde_dep,$dde_codepays,TRUE),$txt);
		$txt = ereg_replace("%pays_dde%",Retournepays_open($dde_codepays,TRUE),$txt);

		// Balayage des types de demande
		$txt = parse_txt_ddet($dde_codeddet,$txt);

		// Civilité
		$row = lit_enr_civ($dde_civilite);
		if (is_array($row))
		{
			extract($row);
			$txt = ereg_replace("%civilite_dde%",$civ_desc,$txt);
			$txt = ereg_replace("%civilitem_dde%", strtolower($civ_desc),$txt);
			$txt = ereg_replace("%civiliteM_dde%", str_majuscules($civ_desc),$txt);
			$txt = ereg_replace("%civilite1M_dde%", ucfirst(strtolower($civ_desc)),$txt);
		}		
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement origine intervention
function parse_txt_orig($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_orig($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBORI. "` WHERE `orig_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement statut intervention
function parse_txt_statut($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_statut($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBSTA. "` WHERE `statut_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement lieu
function parse_txt_lieu($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_lieu($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBLIEU. "` WHERE `lieu_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement règlement
function parse_txt_reg($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_reg($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBREG. "` WHERE `reg_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement intervention
function parse_txt_int($code,$texte)
{
	global
		$niv_urgence;

	$txt=$texte;
	
	$row = lit_enr_int($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBINT. "` WHERE `int_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);

		// Niveau d'urgence
		$txt = ereg_replace("%urg_int%",$niv_urgence[$int_urg],$txt);

		// Heure de RDV
		$txt = ereg_replace("%hrdv_int%",substr($int_hrdv,0,5),$txt);

		// Balayage des origines
		$txt = parse_txt_orig($int_codeorig,$txt);

		// Balayage des statuts
		$txt = parse_txt_statut($int_codestatut,$txt);

		// Balayage des lieux
		$txt = parse_txt_lieu($int_codelieu,$txt);

		// Balayage des règlements
		$txt = parse_txt_reg($int_codereg,$txt);

		// Balayage technicien
		$txt = parse_txt_tec($int_codetec,$txt);

		// Balayage agence
		$txt = parse_txt_age($int_codeage,$txt);

		// Balayage donneur d'ordres
		$txt = parse_txt_do($int_codedo,$txt);

		// Balayage sous-traitant
		$txt = parse_txt_st($int_codest,$txt);

		// Balayage client
		$txt = parse_txt_cli($int_codecli,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement ordre sous-traitance
function parse_txt_ot($code,$texte)
{
	global
		$niv_urgence;

	$txt=$texte;
	
	$row = lit_enr_ot($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBOT. "` WHERE `ot_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);

		// Niveau d'urgence
		$txt = ereg_replace("%urg_ot%",$niv_urgence[$ot_urg],$txt);

		// Heure de RDV
		$txt = ereg_replace("%hrdv_ot%",substr($ot_hrdv,0,5),$txt);

		// Balayage des statuts
		$txt = parse_txt_statut($ot_codestatut,$txt);

		// Balayage des lieux
		$txt = parse_txt_lieu($ot_codelieu,$txt);

		// Balayage technicien
		$txt = parse_txt_tec($ot_codetec,$txt);

		// Balayage intervention
		$txt = parse_txt_int($ot_codeint,$txt);

		// Balayage sous-traitant
		$txt = parse_txt_st($ot_codest,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement marque
function parse_txt_mque($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_mque($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBMQUE. "` WHERE `mque_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement type licence 
function parse_txt_tl($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_rltl($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBRLTL. "` WHERE `rltl_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement média
function parse_txt_med($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_med($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBRLMED. "` WHERE `rlmed_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement type accès télémaintenance
function parse_txt_tmta($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_tmta($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBRLPTMTA. "` WHERE `rlptmta_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement catégorie produit
function parse_txt_rpcat($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_rpcat($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBRPCAT. "` WHERE `rpcat_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement relevé
function parse_txt_rel($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_rel($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBREL. "` WHERE `rel_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);

		// Balayage client
		$txt = parse_txt_cli($rel_codecli,$txt);

		// Balayage agence
		$txt = parse_txt_age($rel_codeage,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement relevé licence
function parse_txt_rlic($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_rlic($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBRLIC. "` WHERE `rlic_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);

		// Balayage des marques
		$txt = parse_txt_mque($rlic_codema,$txt);

		// Balayage des types licences
		$txt = parse_txt_tl($rlic_codetl,$txt);

		// Balayage des médias
		$txt = parse_txt_med($rlic_codemed,$txt);

		// Balayage des type accès télémaintenance
		$txt = parse_txt_tmta($rlic_codeta,$txt);

		// Balayage client
		$txt = parse_txt_cli($rlic_codecli,$txt);

		// Balayage technicien
		$txt = parse_txt_tec($rlic_codetec,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement relevé produit
function parse_txt_rpdt($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_rpdt($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBRPDT. "` WHERE `rpdt_code` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);

		// Balayage des catégories
		$txt = parse_txt_rpcat($rpdt_codecat,$txt);

		// Balayage des marques
		$txt = parse_txt_mque($rpdt_codema,$txt);

		// Balayage des type accès télémaintenance
		$txt = parse_txt_tmta($rpdt_codeta,$txt);

		// Balayage client
		$txt = parse_txt_cli($rpdt_codecli,$txt);

		// Balayage technicien
		$txt = parse_txt_tec($rpdt_codetec,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement problème sur relevé
function parse_txt_rpbm($code,$texte)
{
	$txt=$texte;
	
	$row = lit_enr_rpbm($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBRPBM. "` WHERE `rpbm_id` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);

		// Balayage client
		$txt = parse_txt_cli($rpbm_codecli,$txt);

		// Sites
		if ($rpbm_idsite==0)
		{
			$txt = ereg_replace("%sitenom_rpbm%","Site principal",$txt);
			$txt = ereg_replace("%siteadr1_rpbm%","",$txt);
			$txt = ereg_replace("%siteadr2_rpbm%","",$txt);
			$txt = ereg_replace("%sitecp_rpbm%","",$txt);
			$txt = ereg_replace("%siteville_rpbm%","",$txt);
		}

		if ($rpbm_idsite>0)
		{
			$row2=lit_enr_scli($row["rpbm_idsite"],TRUE);
			if (is_array($row2))
			{
				extract($row2);
				$txt = ereg_replace("%sitenom_rpbm%",$scli_ste,$txt);
				$txt = ereg_replace("%siteadr1_rpbm%",$scli_adr1,$txt);
				$txt = ereg_replace("%siteadr2_rpbm%",$scli_adr2,$txt);
				$txt = ereg_replace("%sitecp_rpbm%",Retournecp_openId($scli_ville,TRUE),$txt);
				$txt = ereg_replace("%siteville_rpbm%",Retourneville_openId($scli_ville,TRUE),$txt);
			}
		}

		// Balayage agence
		$row = lit_enr_cli($rpbm_codecli);
		if (is_array($row))
		{
			extract($row);
			$txt = parse_txt_age($cli_prop,$txt);
		}

	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction d'un enregistrement fichier
function parse_txt_fic($code,$texte)
{
	global
		$rep_aff,
		$code_client;
		
	$txt=$texte;
	
	$row = lit_enr_fic($code);
	if (is_array($row))
	{
		$sql = "SELECT * FROM `" .TBFIC. "` WHERE `fic_nom` = '".$code."'";
		$txt=mysql_parse_rows($sql,$row,$txt);

		extract($row);

		// Type de fichier
		if ($fic_type==0)
			$txt = ereg_replace("%type_fic%","dossier",$txt);
		else
			$txt = ereg_replace("%type_fic%","fichier",$txt);

		// Répertoire du fichier
		$txt = ereg_replace("%sr_fic%",$rep_aff,$txt);

		// Code du client (utilisé dans les messages envoyés aux agences propriétaires)
		$txt = ereg_replace("%codecli_fic%",$code_client,$txt);
	}
	
	return $txt;
}

// Mise à jour d'un texte en fonction de codes de champs
function parse_txtcorps($type,$code,$texte)
{
	$txt = $texte;

 	// Balayage de 1er niveau
 	switch ($type)
	{
		// Administrateur
		case "adm" :
					break;
					
		// Agence
		case "age" :
					// Balayage des champs complémentaires agence
					$txt = parse_txt_age($code,$txt);
					break;
					
		// Centre de gestion
		case "cdg" :
					break;
					
		// Client
		case "cli" :
					// Balayage des champs complémentaires client
					$txt = parse_txt_cli($code,$txt);
					break;
					
		// Contrat
		case "con" :
					// Balayage des champs complémentaires contrat client
					$txt = parse_txt_cocl($code,$txt);
					break;

		// Demande
		case "dde" :
					// Balayage des champs complémentaires demande
					$txt = parse_txt_dde($code,$txt);
					break;
					
		// Donneur d'ordres
		case "do" :
					// Balayage des champs complémentaires donneur d'ordres
					$txt = parse_txt_do($code,$txt);
					break;
					
		// Fichiers Internes : Répertoire
		case "dir" :
		// Fichiers Internes : Fichier
		case "fic" :
					$txt = parse_txt_fic($code,$txt);
					break;
					
		// Intervention
		case "int" :
					// Balayage des champs complémentaires intervention
					$txt = parse_txt_int($code,$txt);
					break;
					
		// Opérateur
		case "ope" :
					// Balayage des champs complémentaires opérateur
					$txt = parse_txt_ope($code,$txt);
					break;
					
		// Ordre sous-traitance
		case "ot" :
					// Balayage des champs complémentaires ordre
					$txt = parse_txt_ot($code,$txt);
					break;
					
		// Relevé (Dossier)
		case "rel" :
					// Balayage des champs complémentaires relevés
					$txt = parse_txt_rel($code,$txt);
					break;
					
		// Relevé (Licence)
		case "rlic" :
					// Balayage des champs complémentaires relevés licences
					$txt = parse_txt_rlic($code,$txt);
					break;
					
		// Relevé (Matériel)
		case "rpdt" :
					// Balayage des champs complémentaires relevés produits
					$txt = parse_txt_rpdt($code,$txt);
					break;
					
		// Déclaration de problème
		case "rpbm" :
					// Balayage des champs complémentaires déclarataion problème
					$txt = parse_txt_rpbm($code,$txt);
					break;
					
		// Sous-traitant
		case "st" :
					// Balayage des champs complémentaires sous-traitant
					$txt = parse_txt_st($code,$txt);
					break;
					
		// Technicien
		case "tec" :
					// Balayage des champs complémentaires technicien
					$txt = parse_txt_tec($code,$txt);
					break;
		
		default : break;
	}

	// Balayage des champs centre de gestion
	$txt = parse_txt_cdg($txt);
	
	return $txt;
}

// Mise à jour du corps de texte en fonction de codes de champs
// pour les emailings
function parse_txtcorps_em($typedest,$codedest,$typeexp,$codeexp,$texte)
{
	$txt = $texte;

 	// Balayage de l'expéditeur
 	switch ($typeexp)
	{
		// Administrateur
		case "adm" :
					break;
		// Agence
		case "age" :
					// Balayage des champs complémentaires agence
					$txt = parse_txt_age($codeexp,$txt);
					break;
					
		// Donneur d'ordres
		case "do" :
					// Balayage des champs complémentaires donneur d'ordres
					$txt = parse_txt_do($codeexp,$txt);
					break;
					
		// Sous-traitant
		case "st" :
					// Balayage des champs complémentaires sous-traitant
					$txt = parse_txt_st($codeexp,$txt);
					break;
					
		// Centre de gestion
		case "cdg" :
					break;
					
		default : 
			break;
	}

	// Balayage des champs centre de gestion
	$txt = parse_txt_cdg($txt);
	

 	// Balayage du destinataire
 	switch ($typedest)
	{
		// Agence
		case "age" :
					// Balayage des champs complémentaires agence
					$txt = parse_txt_age($codedest,$txt);
					break;
					
		// Client
		case "cli" :
					// Balayage des champs complémentaires client
					$txt = parse_txt_cli($codedest,$txt);
					break;
					
		// Donneur d'ordres
		case "do" :
					// Balayage des champs complémentaires donneur d'ordres
					$txt = parse_txt_do($codedest,$txt);
					break;
					
		// Opérateur
		case "ope" :
					// Balayage des champs complémentaires opérateur
					$txt = parse_txt_ope($code,$txt);
					break;
					
		// Sous-traitant
		case "st" :
					// Balayage des champs complémentaires sous-traitant
					$txt = parse_txt_st($codedest,$txt);
					break;
					
		// Technicien
		case "tec" :
		// Technicien Donneur d'ordres
		case "tecd" :
		// Technicien Sous-traitants
		case "tecs" :
					// Balayage des champs complémentaires technicien
					$txt = parse_txt_tec($codedest,$txt);
					break;
		
		default : 
			return "";
			break;
	}

	return $txt;
}


// Création du corps du texte d'un courrier
function cre_corps_txtc($type,$mode,$orig,$dest,$code,$pass,$total)
{
	global
		$chemin_logos;
		
	$txtcorps = "";

	$txt = lit_enr_txtf($type,$mode,$orig,$dest);

	// Création du cors de texte
	$txtcorps = parse_txtcorps($type,$code,$txt);

	//Mot de passe
	$txtcorps = ereg_replace("%pass%",$pass,$txtcorps);

	//Montant total
	$txtcorps = ereg_replace("%total%",number_format($total,2,'.',''),$txtcorps);

	// Il y a un logo centre de gestion ?
	$txtcorps = ereg_replace("%logo_cge%",'<img src="'.$chemin_logos.'/logcge.png" width="196" height="36" alt="logo_siege">',$txtcorps);

	// Il y a un logo agence ?
	if (stristr($txtcorps,"%logo_age%"))
	{
		$codeage="";
		// Balayage des types
		switch ($type)
		{
			// Agence
			case "age" :
					$codeage=give_codeage($code);;
					break;
						
			// Client
			case "cli" :
					$row = lit_enr_cli($code);
					if (is_array($row))
					{
						extract($row);
						if ($cli_prop<>"")
							$codeage=give_codeage($cli_prop);
					}
					break;
						
			// Contrat
			case "con" :
					$row = lit_enr_cocl($code);
					if (is_array($row))
					{
						extract($row);
						if ($cocl_codeage<>"")
							$codeage=give_codeage($cocl_codeage);
					}
					break;
	
			// Intervention
			case "int" :
					$row = lit_enr_int($code);
					if (is_array($row))
					{
						extract($row);
						if ($int_codeage<>"")
							$codeage=give_codeage($int_codeage);
					}
					break;
						
			// Ordre sous-traitance
			case "ot" :
					$row = lit_enr_ot($code);
					if (is_array($row))
					{
						extract($row);
						$row = lit_enr_int($ot_codeint);
						if (is_array($row))
						{
							extract($row);
							if ($int_codeage<>"")
								$codeage=give_codeage($int_codeage);
						}
					}
					break;
						
			// Relevé (Dossier)
			case "rel" :
					$row = lit_enr_rel($code);
					if (is_array($row))
					{
						extract($row);
						if ($rel_codeage<>"")
							$codeage=give_codeage($rel_codeage);
					}
					break;
						
			// Relevé (Licence)
			case "rlic" :
					$row = lit_enr_rlic($code);
					if (is_array($row))
					{
						extract($row);
						if ($rlic_codeage<>"")
							$codeage=give_codeage($rlic_codeage);
					}
					break;
						
			// Relevé (Matériel)
			case "rpdt" :
					$row = lit_enr_rpdt($code);
					if (is_array($row))
					{
						extract($row);
						if ($rpdt_codeage<>"")
							$codeage=give_codeage($rpdt_codeage);
					}
					break;
						
			// Déclaration de problème
			case "rpbm" :
					$row = lit_enr_rpbm($code);
					if (is_array($row))
					{
						extract($row);
						switch ($rpbm_typerel)
						{
							case 1 :
								$row = lit_enr_rlic($rpbm_coderlp);
								if (is_array($row))
								{
									extract($row);
									if ($rlic_codeage<>"")
										$codeage=give_codeage($rlic_codeage);
								}
								break;
							case 2 :
								$row = lit_enr_rpdt($rpbm_coderlp);
								if (is_array($row))
								{
									extract($row);
									if ($rpdt_codeage<>"")
										$codeage=give_codeage($rpdt_codeage);
								}
								break;
							default :
								break;
						}
					}
					break;
						
			// Technicien
			case "tec" :
					$row = lit_enr_tec($code);
					if (is_array($row))
					{
						extract($row);
						if ($tec_codeage<>"")
							$codeage=give_codeage($tec_codeage);
					}
					break;
			
			default : break;
		}
		
		if ($codeage<>"")
			$txtcorps = ereg_replace("%logo_age%",'<img src="'.$chemin_logos.'/log'.strtolower($codeage).'.png" width="196" height="36" alt="logo_agence">',$txtcorps);
	}

	// Il y a un logo donneur d'ordres ?
	if (stristr($txtcorps,"%logo_do%"))
	{
		$codedo="";
		// Balayage des types
		switch ($type)
		{
			// Client
			case "cli" :
					$row = lit_enr_cli($code);
					if (is_array($row))
					{
						extract($row);
						if ($cli_codedo<>"")
							$codedo=give_codedo($cli_codedo);
					}
					break;
						
			// Intervention
			case "int" :
					$row = lit_enr_int($code);
					if (is_array($row))
					{
						extract($row);
						if ($int_codedo<>"")
							$codedo=give_codedo($int_codedo);
					}
					break;
						
			// Technicien
			case "tec" :
			case "tecd" :
					$row = lit_enr_tec($code);
					if (is_array($row))
					{
						extract($row);
						if ($tec_codedo<>"")
							$codedo=give_codedo($tec_codedo);
					}
					break;
			
			default : break;
		}
		
		if ($codedo<>"")
			$txtcorps = ereg_replace("%logo_do%",'<img src="'.$chemin_logos.'/log'.strtolower($codedo).'.png" width="196" height="36" alt="logo_do">',$txtcorps);
	}

	// Il y a un logo sous-traitant ?
	if (stristr($txtcorps,"%logo_st%"))
	{
		$codest="";
		// Balayage des types
		switch ($type)
		{
			// Intervention
			case "int" :
					$row = lit_enr_int($code);
					if (is_array($row))
					{
						extract($row);
						if ($int_codest<>"")
							$codest=give_codest($int_codest);
					}
					break;
						
			// Ordre de sous-traitance
			case "ot" :
					$row = lit_enr_ot($code);
					if (is_array($row))
					{
						extract($row);
						if ($ot_codest<>"")
							$codest=give_codest($ot_codest);
					}
					break;
						
			// Technicien
			case "tec" :
			case "tecs" :
					$row = lit_enr_tec($code);
					if (is_array($row))
					{
						extract($row);
						if ($tec_codest<>"")
							$codest=give_codest($tec_codest);
					}
					break;
			
			default : break;
		}
		
		if ($codest<>"")
			$txtcorps = ereg_replace("%logo_st%",'<img src="'.$chemin_logos.'/log'.strtolower($codest).'.png" width="196" height="36" alt="logo_st">',$txtcorps);
	}

	return $txtcorps;
}

// Création du corps du texte d'un email
function cre_corps_txtm($type,$mode,$orig,$dest,$code,$pass,$total)
{
	$txtcorps = "";

	// Création du texte de l'email
	$txt = lit_enr_txtf($type,$mode,$orig,$dest);

	// Création du cors de texte
	$txtcorps = parse_txtcorps($type,$code,$txt);

	//Mot de passe
	$txtcorps = ereg_replace("%pass%",$pass,$txtcorps);

	//Montant total
	$txtcorps = ereg_replace("%total%",number_format($total,2,'.',''),$txtcorps);

	// Pied de l'email
	$txtcorps .= "<br>".add_pied_txtmail();

	return $txtcorps;

}

// Création du corps de l'emailing
function cre_corps_txtem($typedest,$codedest,$typeexp,$codeexp,$texte)
{
	$txtcorps = $texte;

	// Création du corps de texte
	$txtcorps = parse_txtcorps_em($typedest,$codedest,$typeexp,$codeexp,$txtcorps);

	// Mot de passe annulé car il ne doit pas y en avoir dans les emailings
	$txtcorps = ereg_replace("%pass%","",$txtcorps);

	// Montant total annulé car il ne doit pas y en avoir dans les emailings
	$txtcorps = ereg_replace("%total%","",$txtcorps);

	// Pied de l'email
	$txtcorps .= "<br>".add_pied_txtmail();

	return $txtcorps;
}

?>