<?php
/****************************************************************************************
 * SMI (Services Maintenance Interventions) est une gestion libre de maintenance et de SAV
 *
 * Version 1.0.4
 *
 * Copyright (C) 2006-2016  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) {
    header('Location: ../index.php');
}

include_once('../inc/fic_age.inc.php');
include_once('../inc/fic_cli.inc.php');
include_once('../inc/fic_do.inc.php');
include_once('../inc/fic_droits.inc.php');
include_once('../inc/fic_fici.inc.php');
include_once('../inc/fic_hum.inc.php');
include_once('../inc/fic_imp.inc.php');
include_once('../inc/fic_prm.inc.php');
include_once('../inc/fic_txt.inc.php');
include_once('../inc/fic_zc.inc.php');
include_once('../inc/func.inc.php');
include_once('../inc/func_date.inc.php');
include_once('../inc/func_fic.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('../inc/func_geo.inc.php');
include_once('../classes/phpmailer/class.phpmailer.php');
include_once('../classes/phpmailer/class.smtp.php');
include_once('../inc/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(valsession('code_log'));
$import_ok = TRUE;
$import_fait = FALSE;

// Variables Formulaire
fix_magic_quotes();
$_GET = clean_str($_GET);

$code = $_GET['code'];
$td = $_GET['td'];
$modele = $_GET['mod'];

if ($modele <> '') {
    // vérification du modele
    $row = lit_enr_iprm($modele);
    if (is_array($row) == TRUE) {
        extract($row);
    } else {
        $import_ok = FALSE;
    }
}

// Vérification du type de demande
$titre = '';
switch ($td) {
    case 'cli' :
        $titre = _('IMPORTATION CLIENTS');
        break;
    default :
        $import_ok = FALSE;
        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 _('Importation'); ?></title>

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

    <?php if ($modele == '') { ?>
        <script language="javascript">
            <!--
            var tab1_champ = new Array(
                "nom:mod ; format:liste ; req:Y ; txt:<?php echo _('Code Modèle'); ?> ; vmn:1 ; stok:frmok ; stbad:frmbad");
            //-->
        </script>

    <?php } ?>
    <script type="text/javascript">
        <!--
        function init_all() {
            init_Body();
            $("#onglets_imps").tabs();
            <?php
            if ($modele == '') {
                echo "init_valid_form('enr','etape1','".valsession('date_fmtshort')."',tab1_champ,'','');";
                echo "init_autohref('quit','click','index.php',false);";
                echo "$('#boutons').show();";
                echo "$('#patience').hide();";
            }
            else
            {
                echo "$('#boutons').hide();";
                echo "$('#patience').show();";
            }
            ?>

            Focus_first();
        }

        $(document).ready(function () {
            init_all();
        });
        //-->
    </script>

</head>

<body>
<?php
include_once('../inc/entete.inc.php');
cre_ent_form($titre, '', '', '', FALSE);
if ($import_ok == TRUE) {
    // Si le Modèle n'a pas été choisi, on le demande
    if ($modele == '') {
        ?>
        <!-- Formulaire permettant la sélection du fichier à importer -->
        <br/>
        <form name="etape1" id="etape1" method="get" action="imps.php">
            <input name="code" type="hidden" id="titre" value="<?php echo $code; ?>">
            <input name="td" type="hidden" id="td" value="<?php echo $td; ?>">
            <input name="nbutton" type="hidden" id="nbutton" value="">

            <!-- Liste des Modèles -->
            <table width="50%" border="0" align="center">
                <tr>
                    <td width="30%" class="rubfrm" id="f_code"><?php echo _('Code Modèle'); ?></td>
                    <td>
                        <?php
                        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST, 'utf8');
                        $rech = 'SELECT * FROM `' . TBIPRM . '` ORDER BY iprm_nom';
                        $rows = $db->get_results($rech, ARRAY_A);
                        close_database();

                        cre_select_tab('mod', 'mod', $rows, 'iprm_code', 'iprm_nom', '', '', '', _('-- Faites votre choix --'))
                        ?>
                    </td>
                </tr>
            </table>
            <br/><br/>

            <div align="center" id="boutons" style="display:none">
                <input name="enr" type="button" class="bton_std" id="enr" value="<?php echo _('Importer') ?>">
                <input name="RAZ" type="reset" class="bton_std" id="RAZ" value="<?php echo _('Réinitialiser'); ?>">
                <input name="quit" type="button" class="bton_std" id="quit" value="<?php echo _('Quitter'); ?>">
            </div>
            <div align="center" id="patience" style="display:none"><?php echo _('Merci de patienter...'); ?></div>
        </form>
        <?php
    } else {
        switch ($code) {
            case 'LMB' :
                $rech = '';
                $tab_cli_ori = [];

                // LECTURE DES DONNEES DANS LMB

                // On se connecte à la base à importer
                $db = new ezSQL_mysqli($iprm_user, $iprm_pw, $iprm_bd, $iprm_ip, 'utf8');

                switch ($td) {
                    case 'cli' :
                        $rech = 'SELECT ref_contact, id_civilite, nom, id_categorie, siret, tva_intra FROM `annuaire`';
                        break;
                }

                $rows = $db->get_results($rech, ARRAY_A);
                if ($rows) {
                    // On crée le tableau multidimensionnel qui contiendra les enregistrements d'origine et les enregistrements de destination
                    $tab_cli_ori = [];

                    foreach ($rows as $row) {
                        // On crée la table d'enregistrement d'origine
                        $tab_ori = [];

                        extract($row);

                        $tab_ori['ref_contact'] = $ref_contact;

                        // On récupère la catégorie
                        $rech2 = "SELECT lib_client_categ FROM `clients_categories` WHERE id_client_categ='" . $id_categorie . "'";
                        $row2 = $db->get_row($rech2, ARRAY_A);
                        if ($row2) {
                            extract($row2);
                        }
                        $tab_ori['lib_client_categ'] = $lib_client_categ;

                        // On récupère la civilité
                        $rech2 = "SELECT lib_civ_court, lib_civ_long FROM `civilites` WHERE id_civilite='" . $id_civilite . "'";
                        $row2 = $db->get_row($rech2, ARRAY_A);
                        if ($row2) {
                            extract($row2);
                        }

                        $tab_ori['lib_civ_court'] = $lib_civ_court;
                        $tab_ori['lib_civ_long'] = $lib_civ_long;
                        $tab_ori['nom'] = $nom;

                        // On récupère les coordonnées
                        $rech2 = "SELECT tel1, tel2, fax, email FROM `coordonnees` WHERE ref_contact='" . $ref_contact . "'";
                        $row2 = $db->get_row($rech2, ARRAY_A);
                        if ($row2) {
                            extract($row2);
                        }
                        $tab_ori['tel1'] = $tel1;
                        $tab_ori['tel2'] = $tel2;
                        $tab_ori['fax'] = $fax;
                        $tab_ori['email'] = $email;

                        $tab_ori['tva_intra'] = $tva_intra;
                        $tab_ori['siret'] = $siret;

                        // On va chercher l'adresse de facturation
                        $rech2 = "SELECT ref_adr_facturation, app_tarifs FROM `annu_client` WHERE ref_contact='" . $ref_contact . "'";
                        $rows2 = $db->get_results($rech2, ARRAY_A);
                        if ($rows2) {
                            // echo "-- Adr Facturation trouvée(s) :<br />";
                            foreach ($rows2 as $row2) {
                                extract($row2);
                                // On va chercher l'adresse
                                $rech3 = "SELECT text_adresse, code_postal, ville, id_pays, note FROM `adresses` WHERE ref_adresse='" . $ref_adr_facturation . "'";
                                $row3 = $db->get_row($rech3, ARRAY_A);
                                if ($row3) {
                                    extract($row3);
                                    $tab_ori['text_adresse'] = $text_adresse;
                                    $tab_ori['code_postal'] = $code_postal;
                                    $tab_ori['ville'] = $ville;

                                    // On récupère le pays
                                    $rech4 = "SELECT pays, code_pays FROM `pays` WHERE id_pays='" . $id_pays . "'";
                                    $row4 = $db->get_row($rech4, ARRAY_A);
                                    if ($row4) {
                                        extract($row4);
                                        $tab_ori['code_pays'] = $code_pays;
                                        $tab_ori['pays'] = $pays;
                                    }
                                }
                                $tab_ori['app_tarifs'] = $app_tarifs;
                                $tab_ori['note'] = $note;
                            }
                        }
                        $tab_cli_ori[] = $tab_ori;
                    }
                }

                close_database();

                // CREATION DES DONNEES DANS SMI
                $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST, 'utf8');

                // On balaye le tableau pour comparer avec les données SMI
                $tab_cli_dest = [];
                $no_enr = 0;
                $txt_defaut = _('A saisir');
                $txt_crea = _('Nouveau');

                foreach ($tab_cli_ori as $tab) {
                    $tab_cli[$no_enr]['ori'] = $tab;

                    // On crée un tableau associé des données de destination
                    $tab_dest = [];
                    $no_ccat = 1;

                    foreach ($tab as $key => $value) {
                        $value = str_majuscules(trim($value));
                        switch ($key) {
                            // Catégorie de clients
                            case 'lib_client_categ' :
                                if (trim($value) <> '') {
                                    $rech2 = 'SELECT * FROM `' . TBCCAT . "` WHERE cat_desc='" . $db->escape($value) . "'";
                                    $row2 = $db->get_row($rech2, ARRAY_A);
                                    if ($row2) {
                                        $tab_dest['cat__crea'] = _('non');
                                        $row2 = encode_str($row2);
                                        extract($row2);
                                        $tab_dest['cat_code'] = $cat_code;
                                    } else // N'existe pas : on crée
                                    {
                                        $tab_dest['cat__crea'] = _('oui');
                                        $tab_dest['cat_code'] = $no_ccat;
                                        $no_ccat++;
                                        $tab_dest['cat_desc'] = $value;
                                    }
                                } else {
                                    $tab_dest['cat__crea'] = _('non');
                                    $tab_dest['cat_code'] = trim($value);
                                }
                                break;
                            // Civilités
                            case 'lib_civ_long' :
                                if (trim($value) <> '') {
                                    $rech2 = 'SELECT * FROM `' . TBCIV . "` WHERE civ_desc='" . $db->escape($value) . "'";
                                    $row2 = $db->get_row($rech2, ARRAY_A);
                                    if ($row2) {
                                        $tab_dest['civ__crea'] = _('non');
                                        $row2 = encode_str($row2);
                                        extract($row2);
                                        $tab_dest['civ_code'] = $civ_code;
                                    } else // N'existe pas : on crée
                                    {
                                        $tab_dest['civ__crea'] = _('oui');
                                        // On nettoye le code court
                                        $code_court = $tab['lib_civ_court'];
                                        $code_res = '';
                                        for ($i = 0; $i < strlen($code_court); $i++) {
                                            if (preg_match("/^[A-Za-z0-9]*$/", $code_court[$i])) {
                                                $code_res .= $code_court[$i];
                                            }
                                        }
                                        $tab_dest['civ_code'] = $code_res;
                                        $tab_dest['civ_desc'] = $value;
                                        $tab_dest['civ_delok'] = 1;
                                    }
                                } else {
                                    $tab_dest['civ__crea'] = _('non');
                                }
                                break;
                            // Fiche client
                            case 'nom' :
                                // Ce nom est celui d'une entreprise ?
                                $rech2 = 'SELECT * FROM `' . TBCLI . "` WHERE cli_ste='" . $db->escape($value) . "'";
                                $row2 = $db->get_row($rech2, ARRAY_A);
                                if ($row2) {
                                    $tab_dest['cli__crea'] = _('non');
                                    if ($row2) {
                                        extract($row2);
                                        $tab_dest['cli_code'] = $cli_code;
                                    }
                                    $tab_dest['cli_nom'] = $value;
                                } else // Non : on vérifie si c'est un particulier
                                {
                                    $rech3 = 'SELECT * FROM `' . TBCLI . "` WHERE cli_nom='" . $db->escape($value) . "'";
                                    $rows3 = $db->get_results($rech3, ARRAY_A);
                                    if (count($rows3) == 0) // Non : on vérifie le Numéro de téléphone
                                    {
                                        if (trim($tab['tel1']) <> '') {
                                            $rech4 = 'SELECT * FROM `' . TBCLI . "` WHERE cli_telf='" . trim($tab['tel1']) . "'";
                                            $row4 = $db->get_row($rech4, ARRAY_A);
                                            if ($row4) {
                                                $tab_dest['cli__crea'] = _('non');
                                                if ($row2) {
                                                    extract($row2);
                                                    $tab_dest['cli_code'] = $cli_code;
                                                }
                                            } else // Non : on crée le client
                                            {
                                                $tab_dest['cli__crea'] = _('oui');
                                                $tab_dest['cli_code'] = $txt_crea;
                                                $tab_dest['cli_pass'] = $txt_crea;
                                                $tab_dest['cli_ste'] = $value;
                                                $tab_dest['cli_nom'] = $txt_crea;
                                                $tab_dest['cli_prenom'] = $txt_crea;
                                                $tab_dest['cli_civilite'] = $txt_crea;
                                            }
                                        } else // Numéro de téléphone vide : on crée
                                        {
                                            $tab_dest['cli__crea'] = _('oui');
                                            $tab_dest['cli_code'] = $txt_crea;
                                            $tab_dest['cli_pass'] = $txt_crea;
                                            $tab_dest['cli_ste'] = $value;
                                            $tab_dest['cli_nom'] = $txt_crea;
                                            $tab_dest['cli_prenom'] = $txt_crea;
                                            $tab_dest['cli_civilite'] = $txt_crea;
                                            $tab_dest['cli_telf'] = $txt_crea;
                                        }
                                    }
                                }
                                if (trim($tab['text_adresse']) <> '') {
                                    $tab_dest['cli_adr1'] = str_majuscules(trim($tab['text_adresse']));
                                } else {
                                    $tab_dest['cli_adr1'] = $txt_defaut;
                                }

                                // On vérifie le code pays
                                $pays_id = 0;
                                if (trim($tab['code_pays']) <> '') {
                                    $rech3 = 'SELECT * FROM `' . TBPAYS . "` WHERE pays_code='" . trim($tab['code_pays']) . "'";
                                    $row3 = $db->get_row($rech3, ARRAY_A);
                                    if ($row3) {
                                        $tab_dest['pays__crea'] = _('non');
                                    } else // Pas trouvé : on crée
                                    {
                                        $tab_dest['pays__crea'] = _('oui');
                                        $tab_dest['pays_code'] = trim($tab['code_pays']);
                                        $tab_dest['pays_lng'] = $lng_appli;
                                        if (trim($tab['pays']) <> '') {
                                            $tab_dest['pays_nom'] = trim($tab['pays']);
                                        } else {
                                            $tab_dest['pays_nom'] = $txt_defaut;
                                        }
                                        $tab_dest['cli_codepays'] = trim($tab['code_pays']);
                                    }
                                } else // Le code pays est vide : on ne peut créer (ni le pays, ni le client)
                                {
                                    $tab_dest['cli__crea'] = _('non');
                                    $tab_dest['pays__crea'] = _('non');
                                }

                                // Analyse du code postal
                                $villes_id = 0;
                                if (trim($tab['code_postal']) <> '') {
                                    $rech2 = 'SELECT * FROM `' . TBVILLES . "` WHERE villes_cp='" . $db->escape(trim($tab['code_postal'])) . "'";
                                    $row2 = $db->get_row($rech2, ARRAY_A);

                                    if ($row2) {
                                        $tab_dest['villes__crea'] = _('non');
                                        extract($row2);
                                    } else // Pas trouvé : on vérifie sur le nom de ville
                                    {
                                        if (trim($tab['ville']) <> '') {
                                            // On "nettoie" le nom pour le cas des CEDEX
                                            $tab_cdx = ['CDX', 'CEDEX'];
                                            $tab_ss_cdx = ['', ''];
                                            $nom_ville_sans_cedex = str_replace($tab_cdx, $tab_ss_cdx, str_majuscules($tab['ville']));

                                            $rech3 = 'SELECT * FROM `' . TBVILLES . "` WHERE villes_nom='" . $db->escape(trim($nom_ville_sans_cedex)) . "'";
                                            $row3 = $db->get_row($rech3, ARRAY_A);
                                            if ($row3) {
                                                $tab_dest['villes__crea'] = _('non');
                                                extract($row3);
                                            } else // Pas trouvé : on ne peut pas créer (il manque le Département dans LMB)
                                            {
                                                $tab_dest['cli__crea'] = _('non');
                                                $tab_dest['villes__crea'] = _('non');
                                            }
                                        } else // Nom ville vide : on ne peut pas créer
                                        {
                                            $tab_dest['cli__crea'] = _('non');
                                            $tab_dest['villes__crea'] = _('non');
                                        }
                                    }
                                } else // Pas de code postal : on vérifie sur le nom de la ville
                                {
                                    if (trim($tab['ville']) <> '') {
                                        // On "nettoie" le nom pour le cas des CEDEX
                                        $tab_cdx = ['CDX', 'CEDEX'];
                                        $tab_ss_cdx = ['', ''];
                                        $nom_ville_sans_cedex = str_replace($tab_cdx, $tab_ss_cdx, $tab['ville']);

                                        $rech3 = 'SELECT * FROM `' . TBVILLES . "` WHERE villes_nom='" . $db->escape(trim($nom_ville_sans_cedex)) . "'";
                                        $row3 = $db->get_row($rech3, ARRAY_A);
                                        if ($row3) // Ville trouvée : on ne la crée pas mais le client est créable
                                        {
                                            $tab_dest['villes__crea'] = _('non');
                                            extract($row3);
                                        } // Pas trouvé : on ne peut pas créer (il manque le Département dans LMB)
                                        // Le client n'est pas créable non plus
                                        else {
                                            $tab_dest['cli__crea'] = _('non');
                                            $tab_dest['villes__crea'] = _('non');
                                        }
                                    } else // Nom ville vide : on ne peut pas créer (ni ville, ni client)
                                    {
                                        $tab_dest['cli__crea'] = _('non');
                                        $tab_dest['villes__crea'] = _('non');
                                    }
                                }

                                if ($villes_id <> 0) {
                                    $tab_dest['cli_ville'] = $villes_id;
                                    $tab_dest['cli_dep'] = $villes_dep;
                                    $tab_dest['cli_codepays'] = $villes_codepays;
                                }

                                // Analyse mode de facturation
                                if (trim($tab['app_tarifs']) <> '') {
                                    switch (trim($tab['app_tarifs'])) {
                                        case 'HT' :
                                            $tab_dest['cli_modfact'] = 0;
                                            break;
                                        case 'TTC' :
                                            $tab_dest['cli_modfact'] = 1;
                                            break;
                                    }
                                } else {
                                    $tab_dest['cli_modfact'] = 0;
                                }


                                if (trim($tab['tel1']) <> '') {
                                    $tab_dest['cli_telf'] = trim($tab['tel1']);
                                } else {
                                    $tab_dest['cli_telf'] = NULL;
                                }
                                if (trim($tab['tel2']) <> '') {
                                    $tab_dest['cli_telp'] = trim($tab['tel2']);
                                } else {
                                    $tab_dest['cli_telp'] = NULL;
                                }
                                if (trim($tab['fax']) <> '') {
                                    $tab_dest['cli_fax'] = trim($tab['fax']);
                                } else {
                                    $tab_dest['cli_fax'] = NULL;
                                }
                                if (trim($tab['email']) <> '') {
                                    if (is_email(trim($tab['email'])) == TRUE) {
                                        $tab_dest['cli_email'] = trim($tab['email']);
                                    } else {
                                        $tab_dest['cli_email'] = '';
                                    }
                                } else {
                                    $tab_dest['cli_email'] = '';
                                }
                                if (trim($tab['tva_intra']) <> '') {
                                    $tab_dest['cli_tvai'] = trim($tab['tva_intra']);
                                } else {
                                    $tab_dest['cli_tvai'] = '';
                                }
                                if (trim($tab['siret']) <> '') {
                                    $tab_dest['cli_rcs'] = trim($tab['siret']);
                                } else {
                                    $tab_dest['cli_rcs'] = NULL;
                                }
                                if (trim($tab['note']) <> '') {
                                    $tab_dest['cli_notaa'] = trim($tab['note']);
                                } else {
                                    $tab_dest['cli_notaa'] = NULL;
                                }
                                $tab_dest['cli_cat'] = $tab_dest['cat_code'];
                                $tab_dest['cli_datecrea'] = $datea;
                                $tab_dest['cli_codecrea'] = $_SESSION['code_log'];
                                $tab_dest['cli_datemod'] = $datea;
                                $tab_dest['cli_codemod'] = $_SESSION['code_log'];
                                break;
                            default :
                                break;
                        }
                    }
                    ksort($tab_dest);
                    $tab_cli[$no_enr]['dest'] = $tab_dest;
                    $no_enr++;
                }
                ?>
                // Affichage des résultats
                <div id="onglets_imps">
                    <ul>
                        <li><a href="#imps_timp"><?php echo _('Tous les imports'); ?></a></li>
                        <li><a href="#imps_imp"><?php echo _('Importés'); ?></a></li>
                        <li><a href="#imps_nimp"><?php echo _('Non importés'); ?></a></li>
                    </ul>
                    <div id="imps_timp">
                        <?php
                        echo '<div class="annot_gras_it">';
                        echo _("Nombre total d'enregistrements") . ' : ' . $num_total;
                        echo '</div>';

                        $tab_pbm = [];

                        echo '<table class="Mtable" border="0" width="100%" cellpadding="0" cellspacing="0">';
                        echo '<th>' . _('Origine') . '</th>';
                        echo '<th>' . _('Destination') . '</th>';
                        echo '<th>' . _('Opération(s) (simulation)') . '</th>';
                        for ($i = 0; $i < count($tab_cli); $i++) {
                            $rech_cat = '';
                            $rech_civ = '';
                            $rech_cli = '';
                            $rech_pays = '';
                            $msg = '';

                            echo '<tr>';
                            $tab_ori = $tab_cli[$i]['ori'];
                            $tab_dest = $tab_cli[$i]['dest'];

                            echo '<td>';
                            foreach ($tab_ori as $key => $value) {
                                echo $key . ' : ' . $value . '<br />';
                            }
                            echo '</td>';

                            echo '<td>';
                            if ($tab_dest['cli__crea'] == _('oui')) {
                                foreach ($tab_dest as $key => $value) {
                                    if ($tab_dest['cli__crea'] == _('oui')) {
                                        switch ($key) {
                                            // création de catégorie
                                            case 'cat__crea' :
                                                // Noté "à créer" ?
                                                if ($value == _('oui')) {
                                                    // Oui: on Contrôle si pas déjà créé
                                                    $rech2 = 'SELECT COUNT(*) FROM `' . TBCCAT . "` WHERE cat_code='" . $db->escape($tab_dest['cat_code']) . "'";
                                                    $nbres2 = $db->get_var($rech2);
                                                    if ($nbres2 == 0) // N'existe pas : on crée
                                                    {
                                                        $rech_cat = 'INSERT INTO `' . TBCCAT . "` (cat_code,cat_desc) VALUES ('" . $db->escape($tab_dest['cat_code']) . "','" . $db->escape($tab_dest['cat_desc']) . "')";
                                                        if (trim($msg) <> '') {
                                                            $msg .= '<br />';
                                                        }
                                                        $msg .= _('Catégorie créée');
                                                    }
                                                } else {
                                                    if (trim($msg) <> '') {
                                                        $msg .= '<br />';
                                                    }
                                                    $msg .= _('Catégorie non créée');
                                                }
                                                break;
                                            // création de civilité
                                            case 'civ__crea' :
                                                // Noté "à créer" ?
                                                if ($value == _('oui')) {
                                                    // Oui: on Contrôle si pas déjà créé
                                                    $rech2 = 'SELECT * FROM `' . TBCIV . "` WHERE civ_code='" . $db->escape($tab_dest['civ_code']) . "'";
                                                    $nbres2 = $db->get_var($rech2);
                                                    if ($nbres2 == 0) // N'existe pas : on crée
                                                    {
                                                        $rech_civ = 'INSERT INTO `' . TBCIV . "` (civ_code,civ_desc,civ_delok) VALUES ('" . $db->escape($tab_dest['civ_code']) . "','" . $db->escape($tab_dest['civ_desc']) . "','" . $db->escape($tab_dest['civ_delok']) . "')";
                                                        if (trim($msg) <> '') {
                                                            $msg .= '<br />';
                                                        }
                                                        $msg .= _('Civilité créée');
                                                    }
                                                } else {
                                                    if (trim($msg) <> '') {
                                                        $msg .= '<br />';
                                                    }
                                                    $msg .= _('Civilité non créée');
                                                }
                                                break;
                                            // création de client
                                            case 'cli__crea' :
                                                // Pays noté "à créer" ?
                                                if ($tab_dest['pays__crea'] == _('oui')) {
                                                    // Oui: on Contrôle si pas déjà créé
                                                    $rech2 = 'SELECT * FROM `' . TBPAYS . "` WHERE pays_code='" . $db->escape($tab_dest['pays_code']) . "'";
                                                    $nbres2 = $db->get_var($rech2);
                                                    if ($nbres2 == 0) // N'existe pas : on crée
                                                    {
                                                        $rech_pays = 'INSERT INTO `' . TBPAYS . "` (pays_code,pays_nom,pays_lng) VALUES ('" . $db->escape($tab_dest['pays_code']) . "','" . $db->escape($tab_dest['pays_nom']) . "','" . $db->escape($tab_dest['pays_lng']) . "')";
                                                        if (trim($msg) <> '') {
                                                            $msg .= '<br />';
                                                        }
                                                        $msg .= _('Pays créé');
                                                    } else // Est noté "à créer", mais a déjà été créé par un enregistrement précédent : on récupère le code pays
                                                    {
                                                        extract($row2);
                                                        $tab_dest['cli_codepays'] = $pays_code;
                                                    }
                                                } else {
                                                    if (trim($msg) <> '') {
                                                        $msg .= '<br />';
                                                    }
                                                    $msg .= _('Pays non créé');
                                                }

                                                // Ville notée "à créer" ?
                                                if ($tab_dest['ville__crea'] == _('non')) {
                                                    if (trim($msg) <> '') {
                                                        $msg .= '<br />';
                                                    }
                                                    $msg .= _('Ville non créée');
                                                }

                                                // On crée le code client
                                                // $codec = "Cxxxxxxxxxxxxxxxxxxxxxx";
                                                $codec = crecode('C', FALSE);


                                                // On injecte les données
                                                $rech_cli = 'INSERT INTO `' . TBCLI . '`';
                                                $rech_cli .= ' (cli_prop,cli_cat,cli_datecrea,cli_codecrea,';
                                                $rech_cli .= 'cli_datemod,cli_codemod,cli_code,';
                                                $rech_cli .= 'cli_pass,cli_ste,cli_rcs,';
                                                $rech_cli .= 'cli_tvai,cli_civilite,cli_prenom,';
                                                $rech_cli .= 'cli_nom,cli_adr1,cli_dep,';
                                                $rech_cli .= 'cli_ville,cli_codepays,cli_codeadev,cli_telf,';
                                                $rech_cli .= 'cli_fax,cli_telp,cli_email,';
                                                $rech_cli .= 'cli_notaa,cli_modfact) VALUES ';
                                                $rech_cli .= "(NULL,'" . $db->escape($tab_dest['cat_code']) . "','" . $db->escape($tab_dest['cli_datecrea']) . "','" . $db->escape($tab_dest['cli_codecrea']) . "',";
                                                $rech_cli .= "'" . $db->escape($tab_dest['cli_datemod']) . "','" . $db->escape($tab_dest['cli_codemod']) . "','" . $db->escape($codec) . "',";
                                                $rech_cli .= "'" . $db->escape($tab_dest['cli_pass']) . "','" . $db->escape($tab_dest['cli_ste']) . "','" . $db->escape($tab_dest['cli_rcs']) . "',";
                                                $rech_cli .= "'" . $db->escape($tab_dest['cli_tvai']) . "','" . $db->escape($tab_dest['cli_civilite']) . "','" . $db->escape($tab_dest['cli_prenom']) . "',";
                                                $rech_cli .= "'" . $db->escape($tab_dest['cli_nom']) . "','" . $db->escape($tab_dest['cli_adr1']) . "','" . $db->escape($tab_dest['cli_dep']) . "',";
                                                $rech_cli .= "'" . $db->escape($tab_dest['cli_ville']) . "','" . $db->escape($tab_dest['cli_codepays']) . "','" . $db->escape($tab_dest['cli_codeadev']) . "',";
                                                $rech_cli .= "'" . $db->escape($tab_dest['cli_telf']) . "','" . $db->escape($tab_dest['cli_fax']) . "','" . $db->escape($tab_dest['cli_telp']) . "',";
                                                $rech_cli .= "'" . $db->escape($tab_dest['cli_email']) . "','" . $db->escape($tab_dest['cli_notaa']) . "','" . $db->escape($tab_dest['cli_modfact']) . "')";
                                                if (trim($msg) <> '') {
                                                    $msg .= '<br />';
                                                }
                                                $msg .= _('Client créé');
                                                break;
                                        }
                                    }
                                    echo $key . ' : ' . $value . '<br />';
                                }

                                // On procède à l'enregistrement
                                if (trim($rech_cat) <> '') {
                                    $db->query($rech_cat);
                                }
                                if (trim($rech_civ) <> '') {
                                    $db->query($rech_civ);
                                }
                                if (trim($rech_pays) <> '') {
                                    $db->query($rech_pays);
                                }
                                if (trim($rech_cli) <> '') {
                                    $db->query($rech_cli);
                                }
                            } else {
                                if (trim($msg) <> '') {
                                    $msg .= '<br />';
                                }
                                $msg .= _('Client non créé');
                                $tab_pbm[] = $tab_cli[$i]['ori']['ref_contact'];
                            }
                            echo '</td>';
                            echo '<td>';
                            echo $msg;
                            echo '</td>';

                            echo '</tr>';
                        }
                        echo '</table>';
                        close_database();
                        ?>
                    </div>
                    <div id="imps_imp">
                        <?php
                        $num_ok = $num_total - count($tab_pbm);

                        if ($num_ok <> 0) {
                            echo '<div class="annot_gras_it">';
                            echo _("Nombre total d'enregistrements") . ' : ' . $num_ok;
                            echo '</div>';

                            echo '<table class="Mtable" border="0" width="100%" cellpadding="0" cellspacing="0">';
                            echo '<th>' . _("Enregistrement d'origine") . '</th>';

                            for ($i = 0; $i < count($tab_cli); $i++) {
                                $tab_ori = $tab_cli[$i]['ori'];
                                if (exist_in_array($tab_ori['ref_contact'], $tab_pbm) == FALSE) {
                                    echo '<tr>';
                                    echo '<td>';
                                    foreach ($tab_ori as $key => $value) {
                                        echo $key . ' : ' . $value . '<br />';
                                    }
                                }
                                echo '</td>';
                                echo '</tr>';
                            }
                            echo '</table>';
                        } else {
                            echo '<div class="annot_gras_it">';
                            echo _("Nombre total d'enregistrements") . ' : 0';
                            echo '</div>';
                        }
                        ?>
                    </div>
                    <div id="imps_nimp">
                        <?php
                        echo '<div class="annot_gras_it">';
                        echo _("Nombre total d'enregistrements") . ' : ' . count($tab_pbm);
                        echo '</div>';
                        if (count($tab_pbm) <> 0) {
                            echo '<table class="Mtable" border="0" width="100%" cellpadding="0" cellspacing="0">';
                            echo '<th>' . _("Enregistrement d'origine") . '</th>';

                            for ($i = 0; $i < count($tab_cli); $i++) {
                                $tab_ori = $tab_cli[$i]['ori'];
                                if (exist_in_array($tab_ori['ref_contact'], $tab_pbm) == TRUE) {
                                    echo '<tr>';
                                    echo '<td>';
                                    foreach ($tab_ori as $key => $value) {
                                        echo $key . ' : ' . $value . '<br />';
                                    }
                                }
                                echo '</td>';
                                echo '</tr>';
                            }
                            echo '</table>';
                        }
                        ?>
                    </div>
                </div>
                <?php
                break;
            default :
                break;
        }
    }
} else {
    pop_ret_auto(_("Type d'importation incorrect"), 'warn', 'index.php');
}
include_once('pied.php');
?>
</body>
</html>