Subversion Repositories eFlore/Archives.chorologie

Rev

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

Rev Author Line No. Line
5 jpm 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This file is part of MON_PROGRAMME.                                                                  |
9
// |                                                                                                      |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
11
// | it under the terms of the GNU General Public License as published by                                 |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
13
// | (at your option) any later version.                                                                  |
14
// |                                                                                                      |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
18
// | GNU General Public License for more details.                                                         |
19
// |                                                                                                      |
20
// | You should have received a copy of the GNU General Public License                                    |
21
// | along with Foobar; if not, write to the Free Software                                                |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
23
// +------------------------------------------------------------------------------------------------------+
10 jpm 24
// CVS : $Id: echoro_information.fonct.php,v 1.2 2005-02-22 16:35:40 jpm Exp $
5 jpm 25
/**
26
* Contient des fonctions fournissant des informations issues de la base de données.
27
*
28
* Ces fonctions PHP permettent de récupérer des données de la base de données et de les formater.
29
*
30
*@package eFlore
31
*@subpackage Chorologie
32
//Auteur original :
33
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
34
//Autres auteurs :
35
*@author        Aucun
36
*@copyright     Tela-Botanica 2000-2004
10 jpm 37
*@version       $Revision: 1.2 $ $Date: 2005-02-22 16:35:40 $
5 jpm 38
// +------------------------------------------------------------------------------------------------------+
39
*/
40
 
41
// +------------------------------------------------------------------------------------------------------+
42
// |                                           LISTE de FONCTIONS                                         |
43
// +------------------------------------------------------------------------------------------------------+
44
 
45
/**
46
* Fonction echoro_recupererNomDepartement() - renvoie le nom d'un département.
47
*
48
* Cette fonction retourne une chaîne correspondant au nom d'un département en
49
* fonction du numéro du département passé en paramètre.
50
* Le code source de la fonction :
51
* {@source}
52
*
53
* @param int l'identifiant d'un département.
54
* @return string le nom du département.
55
*/
56
function echoro_recupererNomDepartement($num_departement)
57
{
58
    $requete =
59
    'SELECT '.EZD_NOM.
60
    ' FROM '.EZD_BD_TABLE.
61
    ' WHERE '.EZD_ID.' = '.$num_departement;
62
 
63
    $resultat = mysql_query ($requete) or die('
64
    <H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
65
    '<b>Requete : </b>'.$requete.
66
    '<br/><br/><b>Erreur : </b>'.mysql_error());
67
 
68
    $ligne = mysql_fetch_array ($resultat);
69
 
70
    $nom_departement = $ligne[EZD_NOM];
71
 
72
    return $nom_departement;
73
}
74
 
75
/**
76
* Fonction echoro_possederCourriel() - renvoie un lien vers le courriel.
77
*
78
* Cette fonction retourne une chaîne correspondant à l'adresse de courriel passée
79
* en paramêtre avec un lien mailto si l'adresse posséde une @.
80
* Exemple de retour : <a href="mailto:adresse_couriel">adresse_couriel</a>
81
*
82
* Le tableau associatif des atributs du lien:
83
* - clé "class": permet d'attribuer une classe au lien.
84
* - clé "title": permet d'attribuer une aide (bulle) lors du passage de la souris sur le lien.
85
*
86
* Le code source dela fonction :
87
* {@source}
88
*
89
* @param string l'adresse de courriel.
90
* @param array un tableau associatif des attributs de la balise <a>.
91
* @return string l'adresse de courriel avec lien ou pas.
92
*/
93
function echoro_possederCourriel($courriel, $tablo_formatLien = array())
94
{
95
    $retour = '';//Initialisation de la variable retournée.
96
 
97
    if (!ereg("[@]", $courriel)){//Nous traitons le cas où le correspondant n'a pas de courriel.
98
        $retour = $courriel;
99
    }
100
    else{//Le cas où le correspondant a un courriel.
101
        //Nous testons l'existence de valeur pour les attributs class et title et
102
        //nous attribuons éventuellement des valeurs par défaut.
103
        isset($tablo_formatLien['class'])?'':$tablo_formatLien['class']='';
104
        isset($tablo_formatLien['title'])?'':$tablo_formatLien['title']='Cliquer pour écrire un message';
105
        $retour = '<a class="'.$tablo_formatLien['class'].'" title="'.$tablo_formatLien['title'].'" href="mailto:'.$courriel.'">'.$courriel.'</a>';
106
    }
107
    return $retour;
108
}
109
 
110
/**
111
* Fonction echoro_recupererInfoDep() - donne toutes les infos choro sur un département.
112
*
113
* Cette fonction retourne un tableau associatif contenant toutes les infos sur
114
* un département.
115
* Les clés de ce tableau ont pour valeur:
116
* - NUMERO : entier - numéro du département.
117
* - NOM : chaine - nom du département
118
* - SOURCES : tableau - sources bibliographique
119
* - CORRESPONDANTS : tableau de tableaux associatifs - correspodants départementaux
120
*                 Les clés des tableaux associatifs sont:
121
*                   -PRENOM : une chaîne
122
*                   -NOM : une chaîne mise en majuscule
123
*                   -COURRIEL : l'adresse de courriel.
124
* Le code source de la fonction :
125
* {@source}
126
*
127
* @param int le numéro du département.
128
* @return array tableau associatif contenant toutes les infos sur le département.
129
*/
130
function echoro_recupererInfoDep($num_departement)
131
{
132
    $tableau_retour = '';
133
    $tableau_source = '';
134
    $tableau_corres = '';
135
 
136
    $tableau_retour{'NUMERO'} = $num_departement;
10 jpm 137
    $tableau_retour{'NOM'} = echoro_recupererNomDepartement($num_departement);
5 jpm 138
 
139
    $requete_01 =
140
    'SELECT '.ECSO_REF.
141
    ' FROM '.ECDS_BD_TABLE.','.ECSO_BD_TABLE.
142
    ' WHERE '.ECDS_DEP.' = '.$num_departement.
143
    ' AND '.ECDS_SOURCE.' = '. ECSO_ID;
144
 
145
    $resultat_01 = mysql_query ($requete_01) or die('
146
    <H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
147
    '<b>Requete : </b>'.$requete_01.
148
    '<br/><br/><b>Erreur : </b>'.mysql_error());
149
 
150
    $i=0;
151
    $tableau_source[0] = 'Aucune';//Initialisation du tableau
152
    while($ligne_01 = mysql_fetch_array ($resultat_01)){
153
        $tableau_source[$i] =$ligne_01[ECSO_REF];
154
        $i++;
155
    }
156
    $tableau_retour{'SOURCES'} = $tableau_source;
157
 
158
    $requete_02 =
159
    'SELECT '.ECC_PRENOM.', '.ECC_NOM.', '.ECC_COURRIEL.
160
    ' FROM '.ECC_BD_TABLE.','.ECDC_BD_TABLE.
161
    ' WHERE '.ECDC_DEP.' = '.$num_departement.
162
    ' AND '.ECDC_CORRES.' = '. ECC_ID;
163
 
164
    $resultat_02 = mysql_query ($requete_02) or die('
165
    <H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
166
    '<b>Requete : </b>'.$requete_02.
167
    '<br/><br/><b>Erreur : </b>'.mysql_error());
168
 
169
    $i=0;
170
    $tableau_corres{'PRENOM'} = '';//Initialisation du tableau
171
    $tableau_corres{'NOM'} = 'Aucun';//Initialisation du tableau
172
    $tableau_corres{'COURRIEL'} = '';//Initialisation du tableau
173
    $tableau_corres_tous[0] = $tableau_corres;//Initialisation du tableau
174
    while($ligne_02=mysql_fetch_array ($resultat_02)){
175
        $tableau_corres{'PRENOM'} = $ligne_02[ECC_PRENOM];
176
        $tableau_corres{'NOM'} = strtoupper($ligne_02[ECC_NOM]);
177
        $tableau_corres{'COURRIEL'} = $ligne_02[ECC_COURRIEL];
178
        $tableau_corres_tous[$i] = $tableau_corres;
179
        $i++;
180
    }
181
    $tableau_retour{'CORRESPONDANTS'} = $tableau_corres_tous;
182
 
183
    return $tableau_retour;
184
}
185
 
186
/* +--Fin du code ----------------------------------------------------------------------------------------+
187
*
188
* $Log: not supported by cvs2svn $
10 jpm 189
* Revision 1.1  2005/02/22 12:03:14  jpm
190
* Ajout des fichiers de la bibliothèque de l'application.
5 jpm 191
*
10 jpm 192
*
5 jpm 193
* +-- Fin du code ----------------------------------------------------------------------------------------+
194
*/
195
?>