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

/****************************************************/
/* Fonctions pour les accès aux fichiers paramètres */
/* et fichiers rattachés                            */
/****************************************************/

// Centre de gestion

/**
 * Vérifie si le centre de gestion a été créé
 *
 * @param bool $open
 * @return bool
 */
function existe_cdg($open = TRUE)
{
    global
    $db;

    $existe = FALSE;

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech = "SELECT COUNT(*) FROM `" . TBCG . "`";
    $nb_enr = $db->get_var($rech);
    if ($nb_enr == 1) // Uniquement UN SEUL enregistrement !
        $existe = TRUE;
    if ($open == TRUE)
        $db->disconnect();

    return $existe;
}

/**
 * Lecture d'un enregistrement centre de gestion
 *
 * @param bool $open
 * @return array|null
 */
function lit_enr_cdg($open = TRUE)
{
    global
    $db;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT * FROM `" . TBCG . "`";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($open == TRUE)
        $db->disconnect();

    return $row2;
}

// Périodicités

/**
 * Lecture d'un enregistrement périodicité
 *
 * @param $code
 * @param bool $open
 * @return array|null
 */
function lit_enr_per($code, $open = TRUE)
{
    global
    $db;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT * FROM `" . TBPER . "` WHERE `per_code` = '" . $db->escape($code) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($open == TRUE)
        $db->disconnect();

    return $row2;
}

/**
 * Vérification de la présence d'une périodicité dans un contrat-client
 *
 * @param $code
 * @param bool $open
 * @return bool
 */
function exist_per_in_cocl($code, $open = TRUE)
{
    global
    $db;

    $exist = FALSE;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rexist = "SELECT COUNT(*) FROM `" . TBCOCL . "` WHERE `cocl_codeper` = '" . $db->escape($code) . "'";
    $nb_enr = $db->get_var($rexist);
    if ($nb_enr <> 0)
        $exist = TRUE;
    if ($open == TRUE)
        $db->disconnect();

    return $exist;
}

// Périodes de location

/**
 * Lecture d'un enregistrement période
 *
 * @param $code
 * @param bool $open
 * @return array|null
 */
function lit_enr_perloc($code, $open = TRUE)
{
    global
    $db;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT * FROM `" . TBPERLOC . "` WHERE `perloc_code` = '" . $db->escape($code) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($open == TRUE)
        $db->disconnect();

    return $row2;
}

/**
 * Vérification de la présence d'une période de location dans un barème
 *
 * @param $code
 * @param bool $open
 * @return bool
 */
function exist_perloc_in_barloc($code, $open = TRUE)
{
    global
    $db;

    $exist = FALSE;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rexist = "SELECT COUNT(*) FROM `" . TBBARLOC . "` WHERE `barloc_codeperloc` = '" . $db->escape($code) . "'";
    $nb_enr = $db->get_var($rexist);
    if ($nb_enr <> 0)
        $exist = TRUE;
    if ($open == TRUE)
        $db->disconnect();

    return $exist;
}

// Origines

/**
 * Lecture d'un enregistrement origine
 *
 * @param $code
 * @param bool $open
 * @return array|null
 */
function lit_enr_orig($code, $open = TRUE)
{
    global
    $db;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT * FROM `" . TBORI . "` WHERE orig_code = '" . $db->escape($code) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($open == TRUE)
        $db->disconnect();

    return $row2;
}

/**
 * Vérification du nombre d'origines
 *
 * @param bool $open
 * @return null
 */
function nb_orig($open = TRUE)
{
    global
    $db;

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rexist = "SELECT COUNT(*) FROM `" . TBORI . "`";
    $nbexist = $db->get_var($rexist);
    if ($open == TRUE)
        $db->disconnect();

    return $nbexist;
}

// Règlements

/**
 * Vérification du nombre de règlements
 *
 * @param bool $open
 * @return null
 */
function nb_reg($open = TRUE)
{
    global
    $db;

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rexist = "SELECT COUNT(*) FROM `" . TBREG . "`";
    $nbexist = $db->get_var($rexist);
    if ($open == TRUE)
        $db->disconnect();

    return $nbexist;
}


// Lieux

/**
 * Vérification du nombre de lieux
 *
 * @param bool $open
 * @return null
 */
function nb_lieux($open = TRUE)
{
    global
    $db;

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rexist = "SELECT COUNT(*) FROM `" . TBLIEU . "`";
    $nbexist = $db->get_var($rexist);
    if ($open == TRUE)
        $db->disconnect();

    return $nbexist;
}

/**
 * Lecture d'un enregistrement lieu
 *
 * @param $code
 * @param bool $open
 * @return array|null
 */
function lit_enr_lieu($code, $open = TRUE)
{
    global
    $db;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT * FROM `" . TBLIEU . "` WHERE lieu_code = '" . $db->escape($code) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($open == TRUE)
        $db->disconnect();

    return $row2;
}

// Règlements

/**
 * Lecture d'un enregistrement règlement
 *
 * @param $code
 * @param bool $open
 * @return array|null
 */
function lit_enr_reg($code, $open = TRUE)
{
    global
    $db;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT * FROM `" . TBREG . "` WHERE reg_code = '" . $db->escape($code) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($open == TRUE)
        $db->disconnect();

    return $row2;
}


// Devises

/**
 * Lecture d'un enregistrement devise
 *
 * @param $code
 * @param bool $open
 * @return array|null
 */
function lit_enr_dev($code, $open = TRUE)
{
    global
    $db;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT * FROM `" . TBDEV . "` WHERE dev_code = '" . $db->escape($code) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($open == TRUE)
        $db->disconnect();

    return $row2;
}

/**
 * Lecture d'un enregistrement devise (ID)
 *
 * @param $id
 * @param bool $open
 * @return array|null
 */
function lit_enr_dev_id($id, $open = TRUE)
{
    global
    $db;
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT * FROM `" . TBDEV . "` WHERE dev_id = '$id'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($open == TRUE)
        $db->disconnect();

    return $row2;
}

/**
 * Retourne le code devise (alpha) par défaut
 *
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut($lng, $open = TRUE)
{
    global
    $db;
    $code_devise = '';
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_defaut = '1' AND dev_lng = '" . $db->escape($lng) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        $code_devise = $dev_codea;
    }
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le code devise (alpha) par défaut pour une agence donnée
 * Si saisi et correct, retourne le code devise de la fiche agence
 * Si pas saisi ou pas correct, retourne le code devise par défaut
 *
 * @param $codeage
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut_age($codeage, $lng, $open = TRUE)
{
    global
    $db;

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT age_codeadev,age_codepays FROM `" . TBAGE . "` WHERE age_code = '" . $db->escape($codeage) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        // Saisi : on vérifie si correct
        if (trim($age_codeadev) <> '') {
            $rech3 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$age_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                $code_devise = $dev_codea;
            } else
                $code_devise = give_dev_codea_defaut($lng, FALSE);
        } else // Pas saisi : on prend la monnaie par défaut du pays de l'agence
        {
            $rech3 = "SELECT pays_codeadev FROM `" . TBPAYS . "` WHERE pays_code = '$age_codepays' AND pays_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                // Le pays a un code : on vérifie s'il est correct
                if (trim($pays_codeadev) <> '') {
                    $rech4 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$pays_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
                    $row4 = $db->get_row($rech4, ARRAY_A);
                    if ($row4) {
                        extract($row4);
                        $code_devise = $dev_codea;
                    } else
                        $code_devise = give_dev_codea_defaut($lng, FALSE);
                } else
                    $code_devise = give_dev_codea_defaut($lng, FALSE);
            } else
                $code_devise = give_dev_codea_defaut($lng, FALSE);
        }
    } else // N'existe pas (création): on prend la devise par défaut
        $code_devise = give_dev_codea_defaut($lng, FALSE);
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le code devise (alpha) par défaut pour un sous-traitant donné
 * Si saisi et correct, retourne le code devise de la fiche sous-traitant
 * Si pas saisi ou pas correct, retourne le code devise par défaut
 *
 * @param $codest
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut_st($codest, $lng, $open = TRUE)
{
    global
    $db;

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT st_codeadev,st_codepays FROM `" . TBST . "` WHERE st_code = '" . $db->escape($codest) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        // Saisi : on vérifie si correct
        if (trim($st_codeadev) <> '') {
            $rech3 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$st_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                $code_devise = $dev_codea;
            } else
                $code_devise = give_dev_codea_defaut($lng, FALSE);
        } else // Pas saisi : on prend la monnaie par défaut du pays du sous-traitant
        {
            $rech3 = "SELECT pays_codeadev FROM `" . TBPAYS . "` WHERE pays_code = '$st_codepays' AND pays_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                // Le pays a un code : on vérifie s'il est correct
                if (trim($pays_codeadev) <> '') {
                    $rech4 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$pays_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
                    $row4 = $db->get_row($rech4, ARRAY_A);
                    if ($row4) {
                        extract($row4);
                        $code_devise = $dev_codea;
                    } else
                        $code_devise = give_dev_codea_defaut($lng, FALSE);
                } else
                    $code_devise = give_dev_codea_defaut($lng, FALSE);
            } else
                $code_devise = give_dev_codea_defaut($lng, FALSE);
        }
    } else // N'existe pas (création): on prend la devise par défaut
        $code_devise = give_dev_codea_defaut($lng, FALSE);
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le code devise (alpha) par défaut pour un sous-traitant donné
 * Si saisi et correct, retourne le code devise de la fiche sous-traitant
 * Si pas saisi ou pas correct, retourne le code devise par défaut
 *
 * @param $codedo
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut_do($codedo, $lng, $open = TRUE)
{
    global
    $db;

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT do_codeadev,do_codepays FROM `" . TBDO . "` WHERE do_code = '" . $db->escape($codedo) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        // Saisi : on vérifie si correct
        if (trim($do_codeadev) <> '') {
            $rech3 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$do_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                $code_devise = $dev_codea;
            } else
                $code_devise = give_dev_codea_defaut($lng, FALSE);
        } else // Pas saisi : on prend la monnaie par défaut du pays du donneur d'ordres
        {
            $rech3 = "SELECT pays_codeadev FROM `" . TBPAYS . "` WHERE pays_code = '$do_codepays' AND pays_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                // Le pays a un code : on vérifie s'il est correct
                if (trim($pays_codeadev) <> '') {
                    $rech4 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$pays_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
                    $row4 = $db->get_row($rech4, ARRAY_A);
                    if ($row4) {
                        extract($row4);
                        $code_devise = $dev_codea;
                    } else
                        $code_devise = give_dev_codea_defaut($lng, FALSE);
                } else
                    $code_devise = give_dev_codea_defaut($lng, FALSE);
            } else
                $code_devise = give_dev_codea_defaut($lng, FALSE);
        }
    } else // N'existe pas (création): on prend la devise par défaut
        $code_devise = give_dev_codea_defaut($lng, FALSE);
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le code devise (alpha) par défaut pour un client donné
 * Si saisi et correct, retourne le code de la fiche agence
 * Si pas saisi ou pas correct, retourne le code devise par défaut
 *
 * @param $codecli
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut_cli($codecli, $lng, $open = TRUE)
{
    global
    $db;
    $code_devise = '';

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT cli_prop,cli_codedo,cli_codeadev,cli_codepays FROM `" . TBCLI . "` WHERE cli_code = '" . $db->escape($codecli) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        // Saisi : on vérifie si correct
        if (trim($cli_codeadev) <> '') {
            $rech3 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$cli_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                $code_devise = $dev_codea;
            } else
                $code_devise = give_dev_codea_defaut($lng, FALSE);
        } else // Pas saisi : il faut vérifier s'il y a un propriétaire
        {
            // Oui : on prend la devise de l'agence propriétaire
            if (trim($cli_prop) <> '')
                $code_devise = give_dev_codea_defaut_age($cli_prop, $lng, FALSE);
            else // Non : d�marche classique
            {
                $rech3 = "SELECT pays_codeadev FROM `" . TBPAYS . "` WHERE pays_code = '$cli_codepays' AND pays_lng = '" . $db->escape($lng) . "'";
                $row3 = $db->get_row($rech3, ARRAY_A);
                if ($row3) {
                    extract($row3);
                    // Le pays a un code : on vérifie s'il est correct
                    if (trim($pays_codeadev) <> '') {
                        $rech4 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$pays_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
                        $row4 = $db->get_row($rech4, ARRAY_A);
                        if ($row4) {
                            extract($row4);
                            $code_devise = $dev_codea;
                        } else
                            $code_devise = give_dev_codea_defaut($lng, FALSE);
                    } else
                        $code_devise = give_dev_codea_defaut($lng, FALSE);
                } else
                    $code_devise = give_dev_codea_defaut($lng, FALSE);
            }
        }
    }
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le code devise (alpha) par défaut pour un contrat donné
 * Si saisi et correct, retourne le code de la fiche contrat
 * Si pas saisi ou pas correct, retourne le code devise par défaut
 *
 * @param $codecocl
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut_cocl($codecocl, $lng, $open = TRUE)
{
    global
    $db;
    $code_devise = '';

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT cocl_codeadev,cocl_codecli FROM `" . TBCOCL . "` WHERE cocl_code = '" . $db->escape($codecocl) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        // Saisi : on vérifie si correct
        if (trim($cocl_codeadev) <> '') {
            $rech3 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$cocl_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                $code_devise = $dev_codea;
            } else
                $code_devise = give_dev_codea_defaut_cli($cocl_codecli, $lng, FALSE);
        } else // Pas saisi : on prend la devise du client
            $code_devise = give_dev_codea_defaut_cli($cocl_codecli, $lng, FALSE);
    }
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le code devise (alpha) par défaut pour un contrat de location donné
 * Si saisi et correct, retourne le code de la fiche contrat
 * Si pas saisi ou pas correct, retourne le code devise par défaut
 *
 * @param $codecoloc
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut_coloc($codecoloc, $lng, $open = TRUE)
{
    global
    $db;
    $code_devise = '';

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT coloc_codeadev,coloc_codecli FROM `" . TBCOLOC . "` WHERE coloc_code = '" . $db->escape($codecoloc) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        // Saisi : on vérifie si correct
        if (trim($coloc_codeadev) <> '') {
            $rech3 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$coloc_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                $code_devise = $dev_codea;
            } else
                $code_devise = give_dev_codea_defaut_cli($coloc_codecli, $lng, FALSE);
        } else // Pas saisi : on prend la devise du client
            $code_devise = give_dev_codea_defaut_cli($coloc_codecli, $lng, FALSE);
    }
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le code devise (alpha) par défaut pour un produit de location donné
 * Si saisi et correct, retourne le code de la fiche produit
 * Si pas saisi ou pas correct, retourne le code devise par défaut
 *
 * @param $codepdtloc
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut_pdtloc($codepdtloc, $lng, $open = TRUE)
{
    global
    $db;
    $code_devise = '';

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT pdtloc_codeadev FROM `" . TBPDTLOC . "` WHERE pdtloc_code = '" . $db->escape($codepdtloc) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        // Saisi : on vérifie si correct
        if (trim($pdtloc_codeadev) <> '') {
            $rech3 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$pdtloc_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                $code_devise = $dev_codea;
            } else
                $code_devise = give_dev_codea_defaut($lng, FALSE);
        } else // Pas saisi : on prend la devise du client
            $code_devise = give_dev_codea_defaut($lng, FALSE);
    }
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le code devise (alpha) par défaut pour un dossier de suivi donné
 * Si saisi et correct, retourne le code de la fiche dossier
 * Si pas saisi ou pas correct, retourne le code devise par défaut
 *
 * @param $codedos
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut_dos($codedos, $lng, $open = TRUE)
{
    global
    $db;
    $code_devise = '';

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT dos_codeadev,dos_codeage FROM `" . TBDOS . "` WHERE dos_code = '" . $db->escape($codedos) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        // Saisi : on vérifie si correct
        if (trim($dos_codeadev) <> '') {
            $rech3 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$dos_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                $code_devise = $dev_codea;
            } else
                $code_devise = give_dev_codea_defaut_age($dos_codeage, $lng, FALSE);
        } else // Pas saisi : on prend la devise de l'agence
            $code_devise = give_dev_codea_defaut_age($dos_codeage, $lng, FALSE);
    }
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le code devise (alpha) par défaut pour une intervention donnée
 * Si saisi et correct, retourne le code de la fiche intervention
 * Si pas saisi ou pas correct, retourne le code devise par défaut
 *
 * @param $codeint
 * @param $lng
 * @param bool $open
 * @return string
 */
function give_dev_codea_defaut_int($codeint, $lng, $open = TRUE)
{
    global
    $db;
    $code_devise = '';

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT int_codeadev,int_codeage FROM `" . TBINT . "` WHERE int_code = '" . $db->escape($codeint) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        // Saisi : on vérifie si correct
        if (trim($int_codeadev) <> '') {
            $rech3 = "SELECT dev_codea FROM `" . TBDEV . "` WHERE dev_codea = '$int_codeadev'  AND dev_lng = '" . $db->escape($lng) . "'";
            $row3 = $db->get_row($rech3, ARRAY_A);
            if ($row3) {
                extract($row3);
                $code_devise = $dev_codea;
            } else
                $code_devise = give_dev_codea_defaut_age($int_codeage, $lng, FALSE);
        } else // Pas saisi : on prend la devise de l'agence
            $code_devise = give_dev_codea_defaut_age($int_codeage, $lng, FALSE);
    }
    if ($open == TRUE)
        $db->disconnect();

    return $code_devise;
}

/**
 * Retourne le symbole ISO d'une devise (en fonction code alpha)
 *
 * @param string $pays
 * @param bool $open
 * @return string
 */
function give_dev_ISO($pays = '', $open = TRUE)
{
    global
    $db,
    $_SESSION;


    $code_TXT = '';

    if (trim($pays) <> '')
        $codepays = $pays;
    else
        $codepays = $_SESSION["codepays"];

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    // On récupère le code devise du pays
    $rech = "SELECT pays_codeadev,pays_devpos FROM `" . TBPAYS . "` WHERE `pays_code` = '" . $db->escape($codepays) . "'";
    $row = $db->get_row($rech, ARRAY_A);
    if ($row) {
        extract($row);
        // On récupère le texte devise
        if ($pays_codeadev <> 'EUR') // Si 'EUR' (Euro), il faut coder en HTML car le symbole '€' n'est pas correctement géré en UTF-8
        {
            $rech2 = "SELECT dev_symtxt FROM `" . TBDEV . "` WHERE dev_codea = '" . $db->escape($pays_codeadev) . "'";
            $row2 = $db->get_row($rech2, ARRAY_A);
            if ($row2) {
                extract($row2);
                if (trim($dev_symtxt) <> '')
                    $code_TXT = $dev_symtxt;
                else
                    $code_TXT = $pays_codeadev;
            }
        } else
            $code_TXT = '&euro;';
    }
    if ($open == TRUE)
        $db->disconnect();

    $code_ISO = utf8_encode($code_TXT);

    /*
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);

    $rech2 = "SELECT dev_symiso FROM `" . TBDEV . "` WHERE dev_codea = '" . $db->escape($codea) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        if (trim($dev_symiso) <> '')
            $code_ISO = $dev_symiso;
        else
            $code_ISO = $codea;
    }
    if ($open == TRUE)
        $db->disconnect();
    */

    return $code_ISO;
}

/**
 * Retourne le symbole texte d'une devise (en fonction code alpha)
 *
 * @param $codea
 * @param bool $open
 * @return string
 */
function give_dev_TXT($codea, $open = TRUE)
{
    global
    $db;
    $code_TXT = '';

    if ($codea <> 'EUR') // Si 'EUR' (Euro), il faut coder en HTML car le symbole '�' n'est pas correctement géré en UTF-8
    {
        if ($open == TRUE)
            $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
        $rech2 = "SELECT dev_symtxt FROM `" . TBDEV . "` WHERE dev_codea = '" . $db->escape($codea) . "'";
        $row2 = $db->get_row($rech2, ARRAY_A);
        if ($row2) {
            extract($row2);
            if (trim($dev_symtxt) <> '')
                $code_TXT = $dev_symtxt;
            else
                $code_TXT = $codea;
        }
        if ($open == TRUE)
            $db->disconnect();
    } else
        $code_TXT = '&euro;';

    return $code_TXT;
}

/**
 * Retourne le nom d'une devise (en fonction code alpha)
 *
 * @param $codea
 * @param bool $open
 * @return string
 */
function give_dev_nom($codea, $open = TRUE)
{
    global
    $db;
    $nom = '';

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT dev_nom FROM `" . TBDEV . "` WHERE dev_codea = '" . $db->escape($codea) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        extract($row2);
        if (trim($dev_nom) <> '')
            $nom = $dev_nom;
        else
            $nom = $codea;
    }
    if ($open == TRUE)
        $db->disconnect();

    return $nom;
}

// Niveaux d'urgence

/**
 * Lecture d'un enregistrement urgence
 *
 * @param $code
 * @param bool $open
 * @return array|null
 */
function lit_enr_urg($code, $open = TRUE)
{
    global
    $db;

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT * FROM `" . TBURG . "` WHERE `urg_niveau` = '" . $db->escape($code) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($open == TRUE)
        $db->disconnect();

    return $row2;
}

/**
 * Retourne le nom d'un enregistrement urgence
 *
 * @param $code
 * @param bool $open
 * @return string
 */
function give_nom_urg($code, $open = TRUE)
{
    global
    $db;
    $nom = "";

    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT urg_des FROM `" . TBURG . "` WHERE `urg_niveau` = '" . $db->escape($code) . "'";
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2) {
        $row2 = encode_str($row2);
        $nom = $row2["urg_des"];
    }
    if ($open == TRUE)
        $db->disconnect();

    return $nom;
}

/**
 * Retourne la couleur d'un enregistrement urgence
 *
 * @param $code
 * @param bool $open
 * @return string
 */
function give_coul_urg($code, $open = TRUE)
{
    global
    $db;
    $urg_couleur = "XX";
    if ($open == TRUE)
        $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);
    $rech2 = "SELECT urg_couleur FROM `" . TBURG . "` WHERE `urg_niveau` = " . $db->escape($code);
    $row2 = $db->get_row($rech2, ARRAY_A);
    if ($row2)
        extract($row2);
    if ($open == TRUE)
        $db->disconnect();

    return $urg_couleur;
}
?>