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

Version 0.9.9

Copyright (C) 2006-2009  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/fic_pdt.inc.php");
include_once("../inc/fic_taxes.inc.php");
include_once("../inc/func.inc.php");
include_once("../inc/func_geo.inc.php");
include_once("../inc/func_txt.inc.php");
Archivelog(@$_SESSION["code_log"]);

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

$code = str_majuscules(strip_tags(str_escape(trim(@$_POST["code"]))));
$codema = str_majuscules(strip_tags(str_escape(trim(@$_POST["codema"]))));
$desc = str_majuscules(strip_tags(str_escape(trim(@$_POST["desc"]))));
$pour = strip_tags(trim(@$_POST["pour"]));
if ($pour == "Oui")
	$pourok = TRUE;
else
	$pourok = FALSE;
$basepour = strip_tags(trim(@$_POST["basepour"]));
$valeur = strip_tags(str_escape(trim(@$_POST["valeur"])));
$tva = strip_tags(str_escape(trim(@$_POST["tva"])));
$asaisir = strip_tags(trim(@$_POST["asaisir"]));
if ($asaisir == "Oui")
	$asaisirok = TRUE;
else
	$asaisirok = FALSE;
$typmt = strip_tags(trim(@$_POST["typmt"]));
if ($typmt == "Oui")
	$typmtok = TRUE;
else
	$typmtok = FALSE;
$global = strip_tags(trim(@$_POST["global"]));
if ($global == "Oui")
	$globalok = TRUE;
else
	$globalok = FALSE;
$actif = strip_tags(trim(@$_POST["actif"]));
if ($actif == "Oui")
	$actifok = TRUE;
else
	$actifok = FALSE;

$retourliste = TRUE;

$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
mysql_select_db(DBNAME);
switch ($td)
{
	// Ajout de la fiche Taxe
	case "add" :
		$rech = "SELECT * FROM " .TBTPF. " WHERE `tpf_code` = '$code'";
		$rs = mysql_query($rech) or die(mysql_error());
		if (mysql_num_rows($rs) == 0)
		{
			$rech = "INSERT INTO " .TBTPF. "(tpf_code,tpf_codema,tpf_desc,tpf_pour,tpf_basepour,tpf_valeur,tpf_asaisir,tpf_typmt,tpf_global,tpf_codetva,tpf_actif)";
			$rech.= " VALUES ('$code','$codema','$desc','$pourok','$basepour','$valeur','$asaisirok','$typmtok','$globalok','$tva','$actifok')";
			$rs = mysql_query($rech) or die(mysql_error());
			$msg = $txt_fiche_add;
		}
		else
		{
			$msg = $txt_fiche_exist;
			$retourliste = FALSE;
		}
		break;

	// Modification de la fiche Taxe
	case "edit" :
		mysql_close($conn);
		$existeint = FALSE;
		$existeint2 = FALSE;
		$majok=TRUE;

		// Vérifie si utilisé dans une fiche intervention non close
		// En tant que taxe d'un produit
		if (exist_pdt_in_int_ouv($code) == TRUE)
		{
			$existeint = TRUE;
			if ($actifok == FALSE)
			{
				$majok=FALSE;
				$msg = "Cette taxe est pr&eacute;sente dans une intervention non close.<br>Il faut la supprimer de cette intervention.";
				$retourliste = FALSE;
			}
		}
		
		// Vérifie si utilisé dans une fiche intervention non close
		// En tant que taxe d'une intervention
		if (exist_tpf_in_int_ouv($code) == TRUE)
		{
			$existeint2 = TRUE;
			if ($actifok == FALSE)
			{
				$majok=FALSE;
				$msg = "Cette taxe est pr&eacute;sente dans une intervention non close.<br>Il faut la supprimer de cette intervention.";
				$retourliste = FALSE;
			}
		}
		
		if ($majok== TRUE)
		{
			$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
			mysql_select_db(DBNAME);
	
			// MAJ de la fiche Taxe
			$rech = "UPDATE `" .TBTPF. "` SET `tpf_codema`='".$codema."', `tpf_desc`='".$desc."', `tpf_pour`='".$pourok."', `tpf_basepour`='".$basepour."',";
			$rech.= " `tpf_valeur`='".$valeur."',";
			$rech.= " `tpf_asaisir`='".$asaisirok."', `tpf_typmt`='".$typmtok."', `tpf_global`='".$globalok."',";
			$rech.= " `tpf_codetva`='".$tva."',`tpf_actif`='".$actifok."'";
			$rech.= " WHERE `tpf_code` = '".$code."'";
			$rs = mysql_query($rech) or die(mysql_error());
		
			// Modification des fiches Taxes par produit
			// si la taxe est en "saisie impossible" (donc valeur imposée)
			if ($asaisirok==FALSE)
			{
				$rech = "UPDATE `" .TBTPFA. "` SET `tpfa_mt`='".$valeur."'";
				$rech.= " WHERE `tpfa_codetpf` = '".$code."'";
				$rs = mysql_query($rech) or die(mysql_error());
			}

			// Si désactivée, suppression de la taxe de toutes les fiches articles concernées
			if ($actifok==FALSE)
			{
				$rech = "DELETE FROM `" .TBTPFA. "`";
				$rech.= " WHERE `tpfa_codetpf` = '".$code."'";
				$rs = mysql_query($rech) or die(mysql_error());
			}

			// Cette taxe est présente dans une intervention en tant que taxe d'un produit
			// Il faut effectuer une mise à jour
			if ($existeint == TRUE)
			{
				// On récupère la liste des interventions non terminées
				$rech = "SELECT int_code FROM " .TBINT. " WHERE int_datefin = '0000-00-00'";

				$rs = mysql_query($rech) or die(mysql_error());
				if (mysql_num_rows($rs) > 0)
				{
					while ($row = mysql_fetch_assoc($rs))
					{
						extract($row);
					
						// On récupère les infos de la taxe dans cette intervention
						$rech0 = "SELECT pdti_id,pdti_frompdt FROM " .TBPDTI. " WHERE pdti_codeint = '$int_code' AND `pdti_codepdt` = '$code'";
		
						$rs0 = mysql_query($rech0) or die(mysql_error());
						if (mysql_num_rows($rs0) > 0)
						{
							while ($row0 = mysql_fetch_assoc($rs0))
							{
								extract($row0);
								
								$idtaxe=$pdti_id;

								$txtcompl="";
								
								// On récupère les infos des produits utilisant la taxe dans l'intervention
								$rech1 = "SELECT * FROM " .TBPDTI. " WHERE pdti_codeint = '$int_code' AND `pdti_codepdt` = '$pdti_frompdt'";
								$rs1 = mysql_query($rech1) or die(mysql_error());
								if (mysql_num_rows($rs1) > 0)
								{
									if ($row1 = mysql_fetch_assoc($rs1))
									{
										extract($row1);
										$codepdt=$pdti_codepdt;
										$tvapdt=$pdti_codetva;
										$qtepdt=$pdti_qte;
										$pupdt=$pdti_puttc;
									}
								}

								// Calcul du code TVA
								$codetva_tpf="";
								switch ($tva)
								{
									// -2 : Pas de TVA
									case "-2" :
										$codetva_tpf="TVA0";
										break;
									// -1 : TVA du produit
									case "-1" :
										$codetva_tpf=$tvapdt;
										break;
									// Autre : TVA définie
									default :
										$codetva_tpf=$tva;
										break;
								}
										
								// Calcul du taux de TVA
								$txtva_tpf=0;
								$rech4 = "SELECT * FROM " .TBTVA. " WHERE tva_code = '$codetva_tpf'";
								$rs4 = mysql_query($rech4) or die(mysql_error());
								if (mysql_num_rows($rs4) > 0)
								{
									if ($row4=mysql_fetch_assoc($rs4))
									{
										extract($row4);
										$txtva_tpf=$tva_tx;
									}
								}
				
								// Calcul du nombre de taxes
								$qte_tpf=0;
								switch ($typmtok)
								{
									// 0 : Proportionnel au nombre de produits
									case "0" :
										$qte_tpf=$qtepdt;
										$txtcompl.=" Taxe unitaire.";
										break;
									// 1 : Fixe quel que soit le nombre de produits
									case "1" :
										$qte_tpf=1;
										$txtcompl.=" Taxe forfaitaire.";
										break;
								}

								$rech4 = "SELECT * FROM " .TBTPFA. " WHERE tpfa_codepdt = '$codepdt' AND tpfa_codetpf = '$code'";
								$rs4 = mysql_query($rech4) or die(mysql_error());
								if (mysql_num_rows($rs4) > 0)
								{
									if ($row4 = mysql_fetch_assoc($rs4)) 
										extract($row4);
								}

								// Calcul du montant TTC unitaire de la taxe
								$putttc_tpf=0;
								switch ($pourok)
								{
									// 0 : Valeur
									case "0" :
										$puttc_tpf=$tpfa_mt;
										break;
									// 1 : Pourcentage
									case "1" :
										$puttc_tpf=$pupdt*round($tpfa_mt/100,2);
										$txtcompl.=" ".format_num($tpfa_mt,2)."% sur prix unitaire";
										if ($codetva_tpf=="TVA0")
											$txtcompl.=" TTC";
										$txtcompl.=".";
										break;
								}
										
								$rech4 = "UPDATE `" .TBPDTI. "` SET `pdti_frompdt`='".$codepdt."', `pdti_puttc`='".$puttc_tpf."',";
								$rech4.= " `pdti_codetva`='".$codetva_tpf."',";
								$rech4.= " `pdti_qte`='".$qte_tpf."',`pdti_ns`='',`pdti_texte`='".$txtcompl."'";
								$rech4.= " WHERE `pdti_id` = '".$idtaxe."'";
								$rs4 = mysql_query($rech4) or die(mysql_error());
							}
						}
					}
				}
			}

			// Cette taxe est présente dans une intervention en tant que taxe d'une intervention
			// Il faut effectuer une mise à jour
			if ($existeint2 == TRUE)
			{
				// On récupère la liste des interventions non terminées
				$rech = "SELECT int_code FROM " .TBINT. " WHERE int_datefin = '0000-00-00'";

				$rs = mysql_query($rech) or die(mysql_error());
				if (mysql_num_rows($rs) > 0)
				{
					while ($row = mysql_fetch_assoc($rs))
					{
						extract($row);
					
						// On récupère les infos de la taxe dans cette intervention
						$rech0 = "SELECT tpfi_id FROM " .TBTPFI. " WHERE tpfi_codeint = '$int_code' AND `tpfi_codetpf` = '$code'";
		
						$rs0 = mysql_query($rech0) or die(mysql_error());
						if (mysql_num_rows($rs0) > 0)
						{
							while ($row0 = mysql_fetch_assoc($rs0))
							{
								extract($row0);
								
								$rech1 = "UPDATE `" .TBTPFI. "` SET `tpfi_valeur`='".$valeur."',";
								$rech1.= " `tpfi_codetva`='".$tva."'";
								$rech1.= " WHERE `tpfi_id` = '".$tpfi_id."'";
								$rs1 = mysql_query($rech1) or die(mysql_error());
							}
						}
					}
				}
			}

			$msg = $txt_fiche_mod;
		}
		break;

	// Suppression de la fiche Taxes
	case "del" :
		// Vérifie si utilisée dans une fiche produit
		$rexist = "SELECT * FROM `" .TBTPFA. "` WHERE `tpfa_codetpf` = '$code'";
		$rs = mysql_query($rexist) or die(mysql_error());
		if (mysql_num_rows($rs) <> 0)
		{
			$msg = "Cette taxe est utilisée dans une fiche produit !";
			$retourliste = FALSE;
		}
		else
		{
			// Non -> suppression de la fiche Taxe
			$rech = "DELETE FROM `" .TBTPF. "` WHERE `tpf_code` = '$code'";
			$rs = mysql_query($rech) or die(mysql_error());
			$msg = $txt_fiche_del;
		}
		break;
}
mysql_close($conn);
?>
<!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 - <?PHP echo $title_esp_prive; ?> : Fiche Taxe Parafiscale</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>

</head>
<body>

<?PHP
include_once("../inc/entete.inc.php"); 
?>
<p align="center"><span class="titrepage"><?PHP echo $titre ?></span></p>
<p align="center">&nbsp;</p>
<p align="center">
<?PHP if ($retourliste==FALSE)
	echo '<span class="alerte1">';
else
	echo '<span class="annot_std_gras">';
?>
<?PHP echo $msg ?>
</span>
</p>
<?PHP 
if ($retourliste == FALSE)
	aff_ret_idx_man($td,"tpf_lst.php?ta=m",$txt_lnk_ret_liste,TRUE);
else
	aff_ret_lst_auto("tpf_lst.php?ta=m",2000);
include_once("pied.php");
?>
