<?php
/****************************************************************************************
 * SMI (Services Maintenance Interventions) est une gestion libre de maintenance et de SAV
 *
 * Version 1.0.0
 *
 * Copyright (C) 2006-2014  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://smi.no-ip.org
 ****************************************************************************************/


// 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_age.inc.php");
include_once("../inc/fic_dloc.inc.php");
include_once("../inc/fic_droits.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_st.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_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("../classes/phpmailer/class.smtp.php");
include_once("mail.inc.php");
include_once("../classes/dirtool/class_dirtool.php");
include_once("../classes/ezSQL/shared/ez_sql_core.php");
include_once("../classes/ezSQL/mysqli/ez_sql_mysqli.php");
include_once("../inc/func_sql.inc.php");
Archivelog(@$_SESSION["code_log"]);
// Variables Formulaire
fix_magic_quotes();
$_POST = clean_str($_POST);

$titre = @$_POST["titre"];
$td = @$_POST["td"];

$acat = str_majuscules(@$_POST["acat"]);
$code = str_majuscules(@$_POST["code"]);
$nom = str_majuscules(@$_POST["nom"]);
$rcs = str_majuscules(@$_POST["rcs"]);
$ape = str_majuscules(@$_POST["ape"]);
$tvai = str_majuscules(@$_POST["tvai"]);
$tcom = str_majuscules(@$_POST["tcom"]);
$adr1 = str_majuscules(@$_POST["adr1"]);
$adr2 = str_majuscules(@$_POST["adr2"]);
$dep = @$_POST["dep"];
$ville = @$_POST["ville"];
$pays = @$_POST["pays"];
$zonetxt = str_majuscules(@$_SESSION["txtzc"]);
$codeadev = str_majuscules(@$_POST["codeadev"]);
$telf = @$_POST["telf"];
$txttelf = @$_POST["txttelf"];
$fax = @$_POST["fax"];
$txtfax = @$_POST["txtfax"];
$web = @$_POST["web"];
$heures = @$_POST["heures"];
$txtent = @$_POST["txtent"];
$rcivil = @$_POST["rcivil"];
$rprenom = @$_POST["rprenom"];
$rnom = @$_POST["rnom"];
$rtelf = @$_POST["rtelf"];
$rtelp = @$_POST["rtelp"];
$email = strtolower(@$_POST["email"]);
$emaild = strtolower(@$_POST["emaild"]);
$emailc = strtolower(@$_POST["emailc"]);
$emailt = strtolower(@$_POST["emailt"]);
$nota = trim(@$_POST["nota"]);
$ccpta = @$_POST["ccpta"];
$factures = @$_POST["factures"];
$loc = @$_POST["loc"];
$ouvert = @$_POST["ouvert"];
$st = @$_POST["st"];


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

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

$msg = "";
$crest = FALSE;
$db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
switch ($td) {
    // Ajout de la fiche Agence
    case "add" :
        $codea = "A" . $code;
        $rech = "SELECT * FROM `" . TBAGE . "` WHERE age_code = '" . $db->escape($codea) . "' OR age_nom = '" . $db->escape($nom) . "'";
        $nb_rs = $db->get_var($rech);
        if ($nb_rs == 0) {
            $rech2 = "INSERT INTO `" . TBAGE . "`";
            $rech2 .= " (age_datecrea,age_codecrea,age_datemod,age_codemod,age_code,age_pass,age_cat,age_nom,age_rcs,age_ape,age_tvai,age_tcom,";
            $rech2 .= "age_adr1,age_adr2,age_dep,age_ville,age_codepays,age_codeadev,age_telf,age_txttelf,age_fax,age_txtfax,age_txtent,";
            $rech2 .= "age_resp_civilite,age_resp_prenom,age_resp_nom,age_resp_telf,age_resp_telp,age_email,age_emaild,age_emailc,age_emailt,";
            $rech2 .= "age_heures,age_web,age_nota,age_ccpta,age_fact,age_ouvert) VALUES";
            $rech2 .= " ('$datea','$codeuser','$datea','$codeuser','$codea','$passcrypt','$acat','" . $db->escape($nom) . "','$rcs','$ape','$tvai','" . $db->escape($tcom) . "','" . $db->escape($adr1) . "','" . $db->escape($adr2) . "',";
            $rech2 .= "'$dep','$ville','$pays','$codeadev','" . $db->escape($telf) . "','" . $db->escape($txttelf) . "','" . $db->escape($fax) . "','" . $db->escape($txtfax) . "','" . $db->escape($txtent) . "','$rcivil','" . $db->escape($rprenom) . "','" . $db->escape($rnom) . "','" . $db->escape($rtelf) . "','" . $rtelp . "',";
            $rech2 .= "'$email','$emaild','$emailc','$emailt','" . $db->escape($heures) . "','$web','" . $db->escape($nota) . "','" . $db->escape($ccpta) . "','$factures','1')";
            $db->query($rech2);

            // Si sous-traitant, on crée la fiche sous-traitant
            if ($st == TRUE) {
                $codes = "S" . $code;
                $rech2 = "INSERT INTO `" . TBST . "`";
                $rech2 .= " (st_datecrea,st_codecrea,st_datemod,st_codemod,st_code,st_codeage,st_pass,st_nom,st_rcs,st_ape,st_tvai,st_tcom,st_adr1,st_adr2,";
                $rech2 .= "st_dep,st_ville,st_codepays,st_codeadev,st_telf,st_txttelf,st_fax,st_txtfax,st_txtent,st_resp_civilite,st_resp_prenom,";
                $rech2 .= "st_resp_nom,st_resp_telf,st_resp_telp,st_email,st_emaild,st_emailc,st_emailt,st_heures,st_web,st_nota,st_fact,";
                $rech2 .= "st_ouvert) VALUES";
                $rech2 .= " ('$datea','$codeuser','$datea','$codeuser','$codes','$codea','$passcrypt','" . $db->escape($nom) . "','$rcs','$ape','$tvai','" . $db->escape($tcom) . "','" . $db->escape($adr1) . "','" . $db->escape($adr2) . "',";
                $rech2 .= "'$dep','$ville','$pays','$codeadev','" . $db->escape($telf) . "','" . $db->escape($txttelf) . "','" . $db->escape($fax) . "','" . $db->escape($txtfax) . "','" . $db->escape($txtent) . "','$rcivil','" . $db->escape($rprenom) . "',";
                $rech2 .= "'" . $db->escape($rnom) . "','" . $db->escape($rtelf) . "','" . $db->escape($rtelp) . "','$email','$emaild','$emaild','$emailt','" . $db->escape($heures) . "','$web','" . $db->escape($nota) . "','$factures',";
                $rech2 .= "'$ouvert')";
                $db->query($rech2);

                // 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')";
                $db->query($rech);

                // Mise à jour du fichier des zones couvertes
                $tab_zone = explode("%", $zonetxt);
                foreach ($tab_zone as $value) {
                    $tab_enr = explode('_', $value);
                    $rech = "INSERT INTO `" . TBZOC . "`";
                    $rech .= " (zoc_code,zoc_codepays,zoc_codedep) VALUES";
                    $rech .= " ('$codes','$tab_enr[1]','$tab_enr[0]')";
                    $db->query($rech);
                }

                $crest = TRUE;
            }

            // Si location, on crée le Dépôt principal
            if ($loc == TRUE) {
                $rech2 = "INSERT INTO `" . TBDLOC . "`";
                $rech2 .= " (dloc_datecrea,dloc_codeage,dloc_nom,dloc_adr1,dloc_adr2,dloc_dep,dloc_ville,dloc_codepays,dloc_telf,dloc_fax,dloc_resp_civilite,dloc_resp_prenom,dloc_resp_nom,dloc_resp_telf,dloc_email,dloc_emaild,dloc_emails,dloc_ouvert,dloc_datec) VALUES";
                $rech2 .= " ('$datea','$codea','" . $db->escape($nom) . "','" . $db->escape($adr1) . "','" . $db->escape($adr2) . "','$dep','$ville','$pays','" . $db->escape($telf) . "','" . $db->escape($fax) . "','$rcivil','" . $db->escape($rprenom) . "','" . $db->escape($rnom) . "','" . $db->escape($rtelf) . "','$email','$emaild','','$ouvert','$datea')";
                $db->query($rech2);
            }

            // Ajout du compte pour connexion
            // Niveau par défaut : 4
            // 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 ('$codea','$passcrypt','4','$dateheurea','$log_ip','1')";
            $db->query($rech);

            // Mise à jour du fichier des zones couvertes
            $tab_zone = explode("%", $zonetxt);
            foreach ($tab_zone as $idx => $value) {
                $tab_enr = explode('_', $value);
                $rech = "INSERT INTO `" . TBZCC . "`";
                $rech .= " (zcc_code,zcc_codepays,zcc_codedep) VALUES";
                $rech .= " ('$codea','$tab_enr[1]','$tab_enr[0]')";
                $db->query($rech);
            }

            // MAJ du dossier spécifique à l'agence
            $mess_err = check_fic_age($codea, $nom, FALSE);
            if ($mess_err <> "") {
                $msg = $mess_err;
                $retourliste = FALSE;
            } else {
                $msg = _("Fiche ajoutée");
                if ($crest == TRUE)
                    $msg .= "<br />" . _("La fiche sous-traitant rattachée a été créée") . "<br />" . _("Pensez à saisir les spécialités");
            }
        } else {
            $msg = _("Ce code existe déjà");
            $retourliste = FALSE;
        }
        $db->disconnect();

        if ($retourliste == TRUE) {
            // Envoi d'email vers l'agence
            envoi_mail("", "Ouverture de votre compte agence", "age", "cre", "xxx", "age", $codea, $pass, "", TRUE);
            // Envoi d'email vers le centre de gestion
            envoi_mail("", "Ouverture d'un compte agence", "age", "cre", "xxx", "cdg", $codea, $pass, "", FALSE);

            if ($st == 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" :
        $pbm_enr = FALSE;

        if (@$_SESSION["niv_log"] >= 5) {
            if ($ouvert == FALSE) // Si fermeture d'agence, quelques Contrôles sont nécessaires
            {
                // Vérifie si nom pas déjà utilisé
                $rech = "SELECT * FROM `" . TBAGE . "` WHERE age_nom = '" . $db->escape($nom) . "'";
                $nb_rs = $db->get_var($rech);
                if ($nb_rs <> 0) {
                    $pbm_enr = TRUE;
                    $msg .= _("Ce nom existe déjà");
                }

                // Vérifie si utilisée dans une fiche intervention non close
                if (exist_age_in_int_ouv($code, FALSE) == TRUE) {
                    $pbm_enr = TRUE;
                    if ($msg <> "")
                        $msg .= "<br /><br />";
                    $msg = _("Merci de clore les interventions en cours pour fermer cette agence");
                }

                // Vérifie si utilisée dans un contrat non clôt (et signé, donc actif)
                if (exist_age_in_cocl_ouv($code, FALSE) == TRUE) {
                    $pbm_enr = TRUE;
                    if ($msg <> "")
                        $msg .= "<br /><br />";
                    $msg .= _("Merci de clore (ou de transférer) les contrats en cours pour fermer cette agence");
                }

                // Vérifie si utilisé dans une fiche technicien non licencié
                if (exist_age_in_tec_present($code, FALSE) == TRUE) {
                    $pbm_enr = TRUE;
                    if ($msg <> "")
                        $msg .= "<br /><br />";
                    $msg .= _("Merci de licencier les techniciens présents dans cette agence pour la fermer");
                }

                // Vérifie si utilisée dans un contrat de location non clos
                if (exist_age_in_coloc_ouv($nom, FALSE) == TRUE) {
                    $pbm_enr = TRUE;
                    if ($msg <> "")
                        $msg .= "<br /><br />";
                    $msg = _("Merci de clore les contrats de location en cours pour fermer cette agence");
                }

                // Vérifie si utilisé dans un produit de location louable
                if (exist_dloc_in_pdtloc_louable($nom, FALSE) == TRUE) {
                    $pbm_enr = TRUE;
                    if ($msg <> "")
                        $msg .= "<br /><br />";
                    $msg = _("Merci de passer les produits du dépôt principal") . " (" . $nom . ") " . _("en non louable ou les changer de dépôt");
                }
            }
        }

        if ($pbm_enr == FALSE) {

            switch (@$_SESSION["niv_log"]) {
                case 5 :
                case 9 :
                    if ($ouvert == TRUE) {
                        // Si sous-traitant, on crée la fiche sous-traitant (si nécessaire)
                        // Traitement uniquement si agence pas fermée
                        if ($st == TRUE) {
                            $codes = "S" . substr($code, 1, strlen($code));

                            $rech2 = "SELECT COUNT(*) FROM `" . TBST . "` WHERE st_codeage = '" . $db->escape($code) . "'";
                            $nbres2 = $db->get_var($rech2);
                            if ($nbres2 > 0) // Existe déjà...on met à jour
                            {
                                // MAJ de la fiche sous-traitant
                                $rech = "UPDATE `" . TBST . "` SET `st_datemod`='" . $datea . "', `st_codemod`='" . $db->escape($codeuser) . "', `st_code`='" . $db->escape($codes) . "',";
                                $rech .= " `st_codeage`='" . $db->escape($code) . "', `st_nom`='" . $db->escape($nom) . "', `st_rcs`='" . $rcs . "', `st_ape`='" . $ape . "',";
                                $rech .= " `st_tvai`='" . $tvai . "', `st_tcom`='" . $db->escape($tcom) . "', `st_adr1`='" . $db->escape($adr1) . "',";
                                $rech .= " `st_adr2`='" . $db->escape($adr2) . "', `st_dep`='" . $dep . "',`st_ville`='" . $ville . "',`st_codepays`='" . $pays . "',";
                                $rech .= " `st_codepays`='" . $pays . "', `st_codeadev`='" . $codeadev . "', `st_telf`='" . $telf . "', `st_txttelf`='" . $db->escape($txttelf) . "', `st_fax`='" . $fax . "',";
                                $rech .= " `st_txtfax`='" . $db->escape($txtfax) . "', `st_txtent`='" . $db->escape($txtent) . "', `st_resp_civilite`='" . $rcivil . "',";
                                $rech .= " `st_resp_prenom`='" . $db->escape($rprenom) . "', `st_resp_nom`='" . $db->escape($rnom) . "', `st_resp_telf`='" . $db->escape($rtelf) . "',";
                                $rech .= " `st_resp_telp`='" . $rtelp . "', `st_email`='" . $email . "', `st_emaild`='" . $emaild . "',";
                                $rech .= " `st_emailc`='" . $emailc . "', `st_emailt`='" . $emailt . "', `st_heures`='" . $db->escape($heures) . "', `st_web`='" . $web . "',";
                                $rech .= " `st_nota`='" . $db->escape($nota) . "', `st_fact`='" . $factures . "'";
                                $rech .= "  WHERE `st_code` = '" . $db->escape($codes) . "'";
                                $db->query($rech);

                                // Mise à jour du fichier des zones couvertes
                                $rech = "DELETE FROM `" . TBZOC . "` WHERE `zoc_code` = '" . $db->escape($code) . "'";
                                $db->query($rech);
                                $tab_zone = explode("_", $zonetxt);
                                foreach ($tab_zone as $value) {
                                    $tab_enr = explode('_', $value);
                                    $rech = "INSERT INTO `" . TBZOC . "`";
                                    $rech .= " (zoc_code,zoc_codepays,zoc_codedep) VALUES";
                                    $rech .= " ('$code','$tab_enr[1]','$tab_enr[0]')";
                                    $db->query($rech);
                                }

                                // MAJ des fiches techniciens
                                $rech = "UPDATE `" . TBTEC . "` SET `tec_datemod`='" . $datea . "', `tec_codemod`='" . $db->escape($codeuser) . "',";
                                $rech .= " `tec_codest`='" . $db->escape($codes) . "'";
                                $rech .= "  WHERE `tec_code` = '" . $db->escape($code) . "'";
                                $db->query($rech);

                                $crest = FALSE;
                            } else // N'existe pas...on crée (uniquement si agence pas fermée)
                            {
                                $rech2 = "INSERT INTO `" . TBST . "`";
                                $rech2 .= " (st_datecrea,st_codecrea,st_datemod,st_codemod,st_code,st_codeage,st_pass,st_nom,st_rcs,st_ape,st_tvai,st_tcom,st_adr1,st_adr2,";
                                $rech2 .= "st_dep,st_ville,st_codepays,st_codeadev,st_telf,st_txttelf,st_fax,st_txtfax,st_txtent,st_resp_civilite,st_resp_prenom,";
                                $rech2 .= "st_resp_nom,st_resp_telf,st_resp_telp,st_email,st_emaild,st_emailc,st_emailt,st_heures,st_web,st_fact) VALUES";
                                $rech2 .= " ('$datea','$codeuser','$datea','$codeuser','$codes','$code','$passcrypt','" . $db->escape($nom) . "','$rcs','$ape','$tvai','" . $db->escape($tcom) . "','" . $db->escape($adr1) . "','" . $db->escape($adr2) . "',";
                                $rech2 .= "'$dep','$ville','$pays','$codeadev','$telf','" . $db->escape($txttelf) . "','$fax','" . $db->escape($txtfax) . "','$txtent','$rcivil','" . $db->escape($rprenom) . "',";
                                $rech2 .= "'" . $db->escape($rnom) . "','$rtelf','$rtelp','$email','$emaild','$emaild','$emailt','$heures','$web','$factures')";
                                $db->query($rech2);

                                // 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')";
                                $db->query($rech);

                                // Mise à jour du fichier des zones couvertes
                                $tab_zone = explode("%", $zonetxt);
                                foreach ($tab_zone as $value) {
                                    $tab_enr = explode('_', $value);
                                    $rech = "INSERT INTO `" . TBZOC . "`";
                                    $rech .= " (zoc_code,zoc_codepays,zoc_codedep) VALUES";
                                    $rech .= " ('$codes','$tab_enr[1]','$tab_enr[0]')";
                                    $db->query($rech);
                                }

                                $crest = TRUE;

                            }
                        }

                        // Si location, on crée ou on met à jour le Dépôt principal
                        // Uniquement si agence pas fermée
                        if ($loc == TRUE) {
                            if (exist_age_in_dloc($code, FALSE) == FALSE) {
                                $rech2 = "INSERT INTO `" . TBDLOC . "`";
                                $rech2 .= " (dloc_datecrea,dloc_codeage,dloc_nom,dloc_adr1,dloc_adr2,dloc_dep,dloc_ville,dloc_codepays,dloc_telf,dloc_fax,dloc_resp_civilite,dloc_resp_prenom,dloc_resp_nom,dloc_resp_telf,dloc_email,dloc_emaild,dloc_emails,dloc_ouvert,dloc_datec) VALUES";
                                $rech2 .= " ('$datea','$code','" . $db->escape($nom) . "','" . $db->escape($adr1) . "','" . $db->escape($adr2) . "','$dep','$ville','$pays','$telf','$fax','$rcivil','" . $db->escape($rprenom) . "','" . $db->escape($rnom) . "','$rtelf','$email','$emaild','','$ouvert','$datea')";
                            } else {
                                $rech2 = "UPDATE `" . TBDLOC . "` SET `dloc_nom`='" . $db->escape($nom) . "', `dloc_adr1`='" . $db->escape($adr1) . "', `dloc_adr2`='" . $db->escape($adr2) . "',";
                                $rech2 .= " `dloc_dep`='" . $dep . "',`dloc_ville`='" . $ville . "',`dloc_codepays`='" . $pays . "', `dloc_telf`='" . $telf . "',";
                                $rech2 .= " `dloc_fax`='" . $fax . "', `dloc_resp_civilite`='" . $rcivil . "', `dloc_resp_prenom`='" . $db->escape($rprenom) . "',";
                                $rech2 .= " `dloc_resp_nom`='" . $db->escape($rnom) . "', `dloc_resp_telf`='" . $rtelf . "', `dloc_email`='" . $email . "',";
                                $rech2 .= " `dloc_emaild`='" . $emaild . "', `dloc_emails`='" . $emailc . "', `dloc_ouvert`='" . $ouvert . "'";
                                $rech2 .= "   WHERE `dloc_codeage` = '" . $db->escape($code) . "'";
                            }
                        } else {
                            // S'il y a déjà eu des contrats de location émis sur le Dépôt agence
                            // On ne peut pas passer le mode location en "non"
                            if (exist_age_in_coloc($code, FALSE) == FALSE) {
                                // SUPPRESSION de la fiche Dépôt agence
                                $rech2 = "DELETE FROM `" . TBDLOC . "` WHERE `dloc_codeage` = '" . $db->escape($code) . "'";
                            } else {
                                $rech2 = "UPDATE `" . TBDLOC . "` SET `dloc_nom`='" . $db->escape($nom) . "', `dloc_adr1`='" . $db->escape($adr1) . "', `dloc_adr2`='" . $db->escape($adr2) . "',";
                                $rech2 .= " `dloc_dep`='" . $dep . "',`dloc_ville`='" . $ville . "',`dloc_codepays`='" . $pays . "', `dloc_telf`='" . $telf . "',";
                                $rech2 .= " `dloc_fax`='" . $fax . "', `dloc_resp_civilite`='" . $rcivil . "', `dloc_resp_prenom`='" . $db->escape($rprenom) . "',";
                                $rech2 .= " `dloc_resp_nom`='" . $db->escape($rnom) . "', `dloc_resp_telf`='" . $rtelf . "', `dloc_email`='" . $email . "',";
                                $rech2 .= " `dloc_emaild`='" . $emaild . "', `dloc_emails`='" . $emailc . "', `dloc_ouvert`='" . $ouvert . "'";
                                $rech2 .= "   WHERE `dloc_codeage` = '" . $db->escape($code) . "'";
                                $loc = TRUE;
                            }
                        }
                        $db->query($rech2);
                    }

                    // MAJ de la fiche Agence
                    $rech = "UPDATE `" . TBAGE . "` SET `age_datemod`='" . $datea . "', `age_codemod`='" . $codeuser . "', `age_code`='" . $code . "',";
                    $rech .= " `age_cat`='" . $acat . "', `age_nom`='" . $db->escape($nom) . "', `age_rcs`='" . $rcs . "', `age_ape`='" . $ape . "', `age_tvai`='" . $tvai . "',";
                    $rech .= " `age_tcom`='" . $db->escape($tcom) . "', `age_adr1`='" . $db->escape($adr1) . "',";
                    $rech .= " `age_adr2`='" . $db->escape($adr2) . "', `age_dep`='" . $dep . "',`age_ville`='" . $ville . "', `age_codepays`='" . $pays . "', `age_codeadev`='" . $codeadev . "',";
                    $rech .= "  `age_telf`='" . $telf . "', `age_txttelf`='" . $db->escape($txttelf) . "', `age_fax`='" . $fax . "', `age_txtfax`='" . $db->escape($txtfax) . "',";
                    $rech .= "  `age_txtent`='" . $db->escape($txtent) . "', `age_resp_civilite`='" . $rcivil . "', `age_resp_prenom`='" . $db->escape($rprenom) . "',";
                    $rech .= " `age_resp_nom`='" . $db->escape($rnom) . "', `age_resp_telf`='" . $rtelf . "', `age_resp_telp`='" . $rtelp . "', `age_email`='" . $email . "', `age_emaild`='" . $emaild . "',";
                    $rech .= " `age_emailc`='" . $emailc . "', `age_emailt`='" . $emailt . "', `age_heures`='" . $db->escape($heures) . "', `age_web`='" . $web . "',";
                    $rech .= " `age_nota`='" . $db->escape($nota) . "',`age_ccpta`='" . $db->escape($ccpta) . "', `age_fact`='" . $factures . "', `age_ouvert`='" . $ouvert . "', `age_loc`='" . $loc . "'";
                    $rech .= " WHERE `age_code` = '" . $db->escape($code) . "'";
                    $db->query($rech);

                    // Mise à jour du fichier des zones couvertes
                    $rech = "DELETE FROM `" . TBZCC . "` WHERE `zcc_code` = '" . $db->escape($code) . "'";
                    $db->query($rech);
                    $tab_zone = explode("%", $zonetxt);
                    foreach ($tab_zone as $value) {
                        $tab_enr = explode('_', $value);
                        $rech = "INSERT INTO `" . TBZCC . "`";
                        $rech .= " (zcc_code,zcc_codepays,zcc_codedep) VALUES";
                        $rech .= " ('$code','$tab_enr[1]','$tab_enr[0]')";
                        $db->query($rech);
                    }

                    if ($ouvert == FALSE) {
                        // MAJ date de fermeture de l'agence
                        $rech = "UPDATE `" . TBAGE . "` SET `age_datec`='" . $datea . "'";
                        $rech .= " WHERE `age_code` = '" . $db->escape($code) . "'";
                        $db->query($rech);

                        // "LIBERATION" des clients rattachés à cette agence
                        $rech = "UPDATE `" . TBCLI . "` SET `cli_datemod`='" . $datea . "', `cli_codemod`='" . $codeuser . "', `cli_prop`= NULL WHERE `cli_prop` = '" . $db->escape($code) . "'";
                        $db->query($rech);

                        // "LIBERATION" des sites clients rattachés à cette agence
                        $rech = "UPDATE `" . TBSCLI . "` SET `scli_datemod`='" . $datea . "', `scli_codemod`='" . $codeuser . "', `scli_prop`= '' WHERE `scli_prop` = '" . $db->escape($code) . "'";
                        $db->query($rech);

                        // On rend l'administrateur propriétaire des fichiers de cette agence
                        change_prop_fic($code, $admin_code, FALSE);

                        // Suppression du mot de passe rattaché à l'agence
                        $rech = "DELETE FROM `" . TBPW . "` WHERE `pw_code` = '" . $db->escape($code) . "'";
                        $db->query($rech);
                    }
                    break;
                case 4 :
                    // MAJ de la fiche Agence
                    $rech = "UPDATE `" . TBAGE . "` SET `age_datemod`='" . $datea . "', `age_codemod`='" . $codeuser . "', `age_telf`='" . $telf . "', `age_txttelf`='" . $txttelf . "', `age_fax`='" . $fax . "', `age_txtfax`='" . $txtfax . "', `age_txtent`='" . $txtent . "', `age_resp_civilite`='" . $rcivil . "', `age_resp_prenom`='" . $rprenom . "', `age_resp_nom`='" . $rnom . "', `age_resp_telf`='" . $rtelf . "', `age_email`='" . $email . "', `age_emaild`='" . $emaild . "', `age_emailc`='" . $emailc . "', `age_emailt`='" . $emailt . "', `age_heures`='" . $heures . "', `age_web`='" . $web . "'  WHERE `age_code` = '" . $db->escape($code) . "'";
                    $db->query($rech);
                    break;
            }

            // MAJ du dossier spécifique à l'agence
            $mess_err = check_fic_age($code, $nom, FALSE);
            if ($mess_err <> "") {
                $msg = $mess_err;
                $retourliste = FALSE;
            } else {
                $msg = _("Fiche modifiée");
                if ($st == TRUE) {
                    if ($crest == TRUE)
                        $msg .= "<br />" . _("La fiche sous-traitant rattachée a été créée");
                    else
                        $msg .= "<br />" . _("La fiche sous-traitant rattachée a été modifiée");
                }
            }

            $db->disconnect();

            // Envoi d'email vers le centre de gestion
            envoi_mail("", "Modification d'agence", "age", "mod", "xxx", "cdg", $code, "", "", TRUE);
        } else
            $retourliste = FALSE;
        break;

    // Suppression de la fiche Agence
    case "del" :
        $pbm_del = FALSE;

        // Vérifie si utilisée comme sous-traitant
        if (exist_age_st($code, FALSE) == TRUE) {
            $pbm_del = TRUE;
            $msg = _("Cette agence est déclarée en tant que sous-traitant") . "<br />" . _("Vous ne pouvez donc pas la supprimer (Il faut supprimer sa fiche sous-traitant)");
        }

        // Vérifie si utilisée dans une fiche intervention
        if (exist_age_in_int($code, FALSE) == TRUE) {
            $pbm_del = TRUE;
            if ($msg <> "")
                $msg .= "<br /><br />";
            $msg = _("Cette agence est utilisée dans une fiche intervention") . "<br />" . _("Vous ne pouvez donc pas la supprimer (Il suffit de la passer en mode fermé)");
        }

        // Vérifie si utilisé dans une fiche intervention en tant que code de création
        if (exist_in_int_codecrea($code, FALSE) == TRUE) {
            $pbm_del = TRUE;
            if ($msg <> "")
                $msg .= "<br /><br />";
            $msg = _("Cette agence a créé une intervention") . "<br />" . _("Vous ne pouvez donc pas la supprimer (Il suffit de la passer en mode fermé)");
        }

        // Vérifie si utilisée dans un contrat non clôt (et signé, donc actif)
        if (exist_age_in_cocl_ouv($code, FALSE) == TRUE) {
            $pbm_del = TRUE;
            if ($msg <> "")
                $msg .= "<br /><br />";
            $msg .= _("Il faut clore (ou transférer) les contrats en cours pour fermer cette agence");
        }

        // Vérifie si utilisé dans une fiche technicien
        if (exist_age_in_tec($code, FALSE) == TRUE) {
            $pbm_del = TRUE;
            if ($msg <> "")
                $msg .= "<br /><br />";
            $msg .= _("Cette agence est utilisée dans une fiche technicien") . "<br />" . _("Vous ne pouvez donc pas la supprimer (Il suffit de la passer en mode fermé)");
        }

        // Vérifie si utilisée dans un contrat de location
        if (exist_age_in_coloc($code, FALSE) == TRUE) {
            $pbm_del = TRUE;
            if ($msg <> "")
                $msg .= "<br /><br />";
            $msg .= _("Cette agence est utilisée dans un contrat de location") . "<br />" . _("Vous ne pouvez donc pas la supprimer (Il suffit de la passer en mode fermé)");
        }

        // Vérifie si utilisé dans un produit de location louable
        if (exist_dloc_in_pdtloc_louable($nom, TRUE) == TRUE) {
            $pbm_del = TRUE;
            if ($msg <> "")
                $msg .= "<br /><br />";
            $msg .= _("Il faut passer les produits du dépôt principal") . " (" . $nom . ") " . _("en non louable ou les changer de dépôt");
        }

        if ($pbm_del == FALSE) {
            $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);

            // "LIBERATION" des clients rattachés
            $rech = "UPDATE `" . TBCLI . "` SET `cli_datemod`='" . $datea . "', `cli_codemod`='" . $codeuser . "', `cli_prop`= NULL WHERE `cli_prop` = '" . $db->escape($code) . "'";
            $db->query($rech);

            // "LIBERATION" des sites clients rattachés à cette agence
            $rech = "UPDATE `" . TBSCLI . "` SET `scli_datemod`='" . $datea . "', `scli_codemod`='" . $codeuser . "', `scli_prop`= '0' WHERE `scli_prop` = '" . $db->escape($code) . "'";
            $db->query($rech);

            // SUPPRESSION des contrats non signés rattachés
            $rech = "DELETE FROM `" . TBCOCL . "` WHERE `cocl_codeage` = '" . $db->escape($code) . "' AND `cocl_signe` IS NULL";
            $db->query($rech);

            // SUPPRESSION de la fiche Agence
            $rech = "DELETE FROM `" . TBAGE . "` WHERE `age_code` = '" . $db->escape($code) . "'";
            $db->query($rech);

            // SUPPRESSION des prix de revient resp Agence
            $rech = "DELETE FROM `" . TBAGEPR . "` WHERE `agepr_codeage` = '" . $db->escape($code) . "'";
            $db->query($rech);

            // Suppression des zones couvertes
            $rech = "DELETE FROM `" . TBZCC . "` WHERE `zcc_code` = '" . $db->escape($code) . "'";
            $db->query($rech);

            // Suppression du mot de passe rattaché
            $rech = "DELETE FROM `" . TBPW . "` WHERE `pw_code` = '" . $db->escape($code) . "'";
            $db->query($rech);

            // SUPPRESSION de la fiche Dépôt agence
            $rech = "DELETE FROM `" . TBDLOC . "` WHERE `dloc_codeage` = '" . $db->escape($code) . "'";
            $db->query($rech);

            $db->disconnect();

            // Suppression du répertoire de stockage spécifique à l'agence
            if (is_dir($url_gfc . "/agences/" . strtolower($code))) {
                $rep_age = $url_gfc . "/agences/" . strtolower($code);
                $dir = new dirtool($rep_age);
                $dir->delete();

                $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);

                $rech = "DELETE FROM `" . TBFIC . "` WHERE `fic_nom` LIKE '%$rep_age%'";
                $db->query($rech);

                $db->disconnect();

                $msg = _("Fiche supprimée");
                if ($st == TRUE)
                    $msg .= "<br />" . _("Fiche sous-traitant rattachée non modifiée");
            } else {
                if ($msg <> "")
                    $msg .= "<br /><br />";
                $msg .= _("Suppression fiche effectuée") . "<br />" . _("Répertoire personnel de cette agence inexistant");
                $retourliste = FALSE;
            }

            // Suppression des logos spécifiques à l'agence
            $nomfic = $root . REP . "/logos/log" . strtolower($code);
            if (is_file($nomfic . ".png")) {
                if (!unlink($nomfic . ".png")) {
                    if ($msg <> "")
                        $msg .= "<br /><br />";
                    $msg .= _("Problème de suppression du logo png");
                    $retourliste = FALSE;
                }
            }
            if (is_file($nomfic . ".gif")) {
                if (!unlink($nomfic . ".gif")) {
                    if ($msg <> "")
                        $msg .= "<br /><br />";
                    $msg .= _("Problème de suppression du logo gif");
                    $retourliste = FALSE;
                }
            }
        } else
            $retourliste = FALSE;
        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=UTF-8">
    <title>SMI - <?PHP echo _("ESPACE PRIVE"); ?> : <?PHP echo _("Fiche Agence"); ?></title>

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

    <script type="text/javascript">
        <!--
        function init_all() {
            init_Body();
            <?PHP
            if (@$_SESSION["niv_log"] >= 5) {
                if ($retourliste == FALSE)
                    echo "warn_txt('" . str_escape($msg) . "');";
            }
            ?>
            Focus_first();
        }

        $(document).ready(function () {
            init_all();
        });
        //-->
    </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>
<?PHP
if (@$_SESSION["niv_log"] >= 5) {
    if ($retourliste == FALSE)
        aff_ret_idx_man($td, "age_lst.php", _("Retour à la liste"), TRUE);
    else {
        if ($td == "add") {
            $url_retour = "logo_maj.php?td=age";
            pop_ret_auto($msg.'<br />'. _("Merci de télécharger les logos"), 'ok', $url_retour);
        } else {
            pop_ret_auto($msg, 'ok', "age_lst.php");
        }
    }
}
if (@$_SESSION["niv_log"] == 4)
    pop_ret_auto($msg, '', "index.php");
include_once("pied.php");
?>
</body>
</html>