Subversion Repositories eFlore/Archives.chorologie

Compare Revisions

Ignore whitespace Rev 4 → Rev 5

/trunk/bibliotheque/echoro_information.fonct.php
New file
0,0 → 1,192
<?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.1 2005-02-22 12:03:14 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.1 $ $Date: 2005-02-22 12:03:14 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | 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'} = choro_dep_getNomDepartement($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 $
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>