Subversion Repositories eFlore/Archives.chorologie

Rev

Rev 5 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1                                                                                      |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of MON_PROGRAMME.                                                                  |
// |                                                                                                      |
// | Foobar 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.                                                                  |
// |                                                                                                      |
// | Foobar 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 Foobar; if not, write to the Free Software                                                |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: echoro_information.fonct.php,v 1.2 2005-02-22 16:35:40 jpm Exp $
/**
* Contient des fonctions fournissant des informations issues de la base de données.
*
* Ces fonctions PHP permettent de récupérer des données de la base de données et de les formater.
*
*@package eFlore
*@subpackage Chorologie
//Auteur original :
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author        Aucun
*@copyright     Tela-Botanica 2000-2004
*@version       $Revision: 1.2 $ $Date: 2005-02-22 16:35:40 $
// +------------------------------------------------------------------------------------------------------+
*/

// +------------------------------------------------------------------------------------------------------+
// |                                           LISTE de FONCTIONS                                         |
// +------------------------------------------------------------------------------------------------------+

/**
* Fonction echoro_recupererNomDepartement() - renvoie le nom d'un département.
*
* Cette fonction retourne une chaîne correspondant au nom d'un département en 
* fonction du numéro du département passé en paramètre.
* Le code source de la fonction :
* {@source}
*
* @param int l'identifiant d'un département.
* @return string le nom du département.
*/
function echoro_recupererNomDepartement($num_departement)
{
    $requete =
    'SELECT '.EZD_NOM.
    ' FROM '.EZD_BD_TABLE.
    ' WHERE '.EZD_ID.' = '.$num_departement;
    
    $resultat = mysql_query ($requete) or die('
    <H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
    '<b>Requete : </b>'.$requete.
    '<br/><br/><b>Erreur : </b>'.mysql_error());
    
    $ligne = mysql_fetch_array ($resultat);
    
    $nom_departement = $ligne[EZD_NOM];
    
    return $nom_departement;
}

/**
* Fonction echoro_possederCourriel() - renvoie un lien vers le courriel.
*
* Cette fonction retourne une chaîne correspondant à l'adresse de courriel passée
* en paramêtre avec un lien mailto si l'adresse posséde une @.
* Exemple de retour : <a href="mailto:adresse_couriel">adresse_couriel</a>
*
* Le tableau associatif des atributs du lien:
* - clé "class": permet d'attribuer une classe au lien.
* - clé "title": permet d'attribuer une aide (bulle) lors du passage de la souris sur le lien.
*
* Le code source dela fonction :
* {@source}
*
* @param string l'adresse de courriel.
* @param array un tableau associatif des attributs de la balise <a>.
* @return string l'adresse de courriel avec lien ou pas.
*/
function echoro_possederCourriel($courriel, $tablo_formatLien = array())
{
    $retour = '';//Initialisation de la variable retournée.
   
    if (!ereg("[@]", $courriel)){//Nous traitons le cas où le correspondant n'a pas de courriel.
        $retour = $courriel;
    }
    else{//Le cas où le correspondant a un courriel.
        //Nous testons l'existence de valeur pour les attributs class et title et
        //nous attribuons éventuellement des valeurs par défaut.
        isset($tablo_formatLien['class'])?'':$tablo_formatLien['class']='';
        isset($tablo_formatLien['title'])?'':$tablo_formatLien['title']='Cliquer pour écrire un message';
        $retour = '<a class="'.$tablo_formatLien['class'].'" title="'.$tablo_formatLien['title'].'" href="mailto:'.$courriel.'">'.$courriel.'</a>';
    }
    return $retour;
}

/**
* Fonction echoro_recupererInfoDep() - donne toutes les infos choro sur un département.
*
* Cette fonction retourne un tableau associatif contenant toutes les infos sur
* un département.
* Les clés de ce tableau ont pour valeur:
* - NUMERO : entier - numéro du département.
* - NOM : chaine - nom du département
* - SOURCES : tableau - sources bibliographique
* - CORRESPONDANTS : tableau de tableaux associatifs - correspodants départementaux
*                 Les clés des tableaux associatifs sont:
*                   -PRENOM : une chaîne
*                   -NOM : une chaîne mise en majuscule
*                   -COURRIEL : l'adresse de courriel.
* Le code source de la fonction :
* {@source}
*
* @param int le numéro du département.
* @return array tableau associatif contenant toutes les infos sur le département.
*/
function echoro_recupererInfoDep($num_departement)
{
    $tableau_retour = '';
    $tableau_source = '';
    $tableau_corres = '';
    
    $tableau_retour{'NUMERO'} = $num_departement;
    $tableau_retour{'NOM'} = echoro_recupererNomDepartement($num_departement);
    
    $requete_01 =
    'SELECT '.ECSO_REF.
    ' FROM '.ECDS_BD_TABLE.','.ECSO_BD_TABLE.
    ' WHERE '.ECDS_DEP.' = '.$num_departement.
    ' AND '.ECDS_SOURCE.' = '. ECSO_ID;
    
    $resultat_01 = mysql_query ($requete_01) or die('
    <H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
    '<b>Requete : </b>'.$requete_01.
    '<br/><br/><b>Erreur : </b>'.mysql_error());
    
    $i=0;
    $tableau_source[0] = 'Aucune';//Initialisation du tableau
    while($ligne_01 = mysql_fetch_array ($resultat_01)){
        $tableau_source[$i] =$ligne_01[ECSO_REF];
        $i++;
    }
    $tableau_retour{'SOURCES'} = $tableau_source;

    $requete_02 =
    'SELECT '.ECC_PRENOM.', '.ECC_NOM.', '.ECC_COURRIEL.
    ' FROM '.ECC_BD_TABLE.','.ECDC_BD_TABLE.
    ' WHERE '.ECDC_DEP.' = '.$num_departement.
    ' AND '.ECDC_CORRES.' = '. ECC_ID;
    
    $resultat_02 = mysql_query ($requete_02) or die('
    <H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
    '<b>Requete : </b>'.$requete_02.
    '<br/><br/><b>Erreur : </b>'.mysql_error());
    
    $i=0;
    $tableau_corres{'PRENOM'} = '';//Initialisation du tableau
    $tableau_corres{'NOM'} = 'Aucun';//Initialisation du tableau
    $tableau_corres{'COURRIEL'} = '';//Initialisation du tableau
    $tableau_corres_tous[0] = $tableau_corres;//Initialisation du tableau
    while($ligne_02=mysql_fetch_array ($resultat_02)){
        $tableau_corres{'PRENOM'} = $ligne_02[ECC_PRENOM];
        $tableau_corres{'NOM'} = strtoupper($ligne_02[ECC_NOM]);
        $tableau_corres{'COURRIEL'} = $ligne_02[ECC_COURRIEL];
        $tableau_corres_tous[$i] = $tableau_corres;
        $i++;
    }
    $tableau_retour{'CORRESPONDANTS'} = $tableau_corres_tous;
    
    return $tableau_retour;
}

/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1  2005/02/22 12:03:14  jpm
* Ajout des fichiers de la bibliothèque de l'application.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>