2 |
jpm |
1 |
<?php
|
|
|
2 |
/*vim: set expandtab tabstop=4 shiftwidth=4: */
|
|
|
3 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
4 |
// | PHP version 4.3 |
|
|
|
5 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
6 |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
|
|
|
7 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
8 |
// | This file is part of eFlore-chorologie. |
|
|
|
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 |
// +------------------------------------------------------------------------------------------------------+
|
30 |
jpm |
24 |
// CVS : $Id: eflore_chorologie.php,v 1.8 2005-05-31 13:45:10 jpm Exp $
|
2 |
jpm |
25 |
/**
|
|
|
26 |
* Affichage des listes de noms de plantes par zones géographiques.
|
|
|
27 |
*
|
|
|
28 |
* Ce script fournit le code html correspondant aux listes de noms de plantes par zone géographique.
|
|
|
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
|
30 |
jpm |
37 |
*@version $Revision: 1.8 $ $Date: 2005-05-31 13:45:10 $
|
2 |
jpm |
38 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
39 |
*/
|
|
|
40 |
|
|
|
41 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
42 |
// | ENTÊTE du PROGRAMME |
|
|
|
43 |
// +------------------------------------------------------------------------------------------------------+
|
11 |
jpm |
44 |
/** Inclusion du fichier config de la base de données de l'application eflore-chorolgie. */
|
|
|
45 |
require_once GEN_CHEMIN_CLIENT.'eflore_chorologie/configuration/echoro_config_bdd.inc.php';
|
2 |
jpm |
46 |
/** Inclusion du fichier config de l'application eflore-chorolgie. */
|
|
|
47 |
require_once GEN_CHEMIN_CLIENT.'eflore_chorologie/configuration/echoro_config.inc.php';
|
|
|
48 |
/** Inclusion du fichier de langue de l'application eflore-chorologie. */
|
|
|
49 |
require_once ECHORO_CHEMIN_LANGUE.'echoro_langue_'.ECHORO_LANGUE.'.inc.php';
|
|
|
50 |
|
|
|
51 |
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/
|
|
|
52 |
require_once 'HTML/QuickForm.php';
|
|
|
53 |
/** Inclusion de la bibliothèque PEAR de gestion des URL.*/
|
|
|
54 |
require_once 'Net/URL.php';
|
|
|
55 |
/** Inclusion de la classe PEAR d'abstraction de base de donnée. */
|
|
|
56 |
//require_once 'DB.php';
|
|
|
57 |
|
|
|
58 |
// Ajout d'une feuille de style propre à eFlore.
|
11 |
jpm |
59 |
GEN_stockerStyleExterne('echoro', ECHORO_CHEMIN_STYLE.'echoro.css');
|
2 |
jpm |
60 |
|
27 |
jpm |
61 |
/** Inclusion de la classe "form" de l'API Formulaire. */
|
|
|
62 |
require_once ECHORO_CHEMIN_API_FORMULAIRE.'FORM_formulaire.class.php';
|
11 |
jpm |
63 |
|
|
|
64 |
/** Inclusion de la classe "Fragmenteur" de l'API Fragmenteur. */
|
|
|
65 |
require_once ECHORO_CHEMIN_API_FRAGMENTEUR.'FRAG_Fragmenteur.class.php';
|
|
|
66 |
/** Inclusion de la classe "Fragmenteur Session" de l'API Fragmenteur. */
|
|
|
67 |
require_once ECHORO_CHEMIN_API_FRAGMENTEUR.'FRAG_Fragmenteur_Session.class.php';
|
|
|
68 |
/** Inclusion des fonctions de l'API Fragmenteur. */
|
2 |
jpm |
69 |
require_once ECHORO_CHEMIN_API_FRAGMENTEUR.'FRAG_fragmenteur.fonct.php';
|
|
|
70 |
|
|
|
71 |
/** Inclusion de la bibliothèque Cartographie. */
|
|
|
72 |
require_once ECHORO_CHEMIN_BIBLIO_CARTO.'carto_carte.class.php';
|
|
|
73 |
|
|
|
74 |
/** Inclusion du fichier comportant des fonctions communes aux applis du package eFlore-chorologie.*/
|
|
|
75 |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_information.fonct.php';
|
|
|
76 |
/** Inclusion du fichier gérant les fonctions d'encodage. */
|
|
|
77 |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_encodage.fonct.php';
|
|
|
78 |
/** Inclusion du fichier gérant les fonctions fournissant l'affichage en XHTML. */
|
|
|
79 |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_affichage_xhtml.fonct.php';
|
|
|
80 |
|
|
|
81 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
82 |
// | CORPS du PROGRAMME |
|
|
|
83 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
84 |
function afficherContenuNavigation()
|
|
|
85 |
{
|
|
|
86 |
$sortie = '';
|
|
|
87 |
return $sortie;
|
|
|
88 |
}
|
|
|
89 |
|
|
|
90 |
function afficherContenuTete()
|
|
|
91 |
{
|
|
|
92 |
$sortie = '';
|
|
|
93 |
return $sortie;
|
|
|
94 |
}
|
|
|
95 |
|
|
|
96 |
function afficherContenuCorps()
|
|
|
97 |
{
|
|
|
98 |
// +--------------------------------------------------------------------------------------------------+
|
|
|
99 |
// Initialisation
|
|
|
100 |
$sortie = '';
|
|
|
101 |
|
|
|
102 |
global $choro_dep_TABLEAU_CHOIX_LIGNE_PAGE;
|
|
|
103 |
global $image_x;
|
|
|
104 |
global $image_y;
|
|
|
105 |
global $historique_cartes;
|
|
|
106 |
global $lettre;
|
|
|
107 |
global $departement;
|
|
|
108 |
global $nombre_taxon;
|
|
|
109 |
global $liste_zone_carte;
|
|
|
110 |
|
|
|
111 |
|
|
|
112 |
// +--------------------------------------------------------------------------------------------------+
|
|
|
113 |
// PARAMETRAGE des TABLEAUX de la FONCTION rechercheAlphabet()
|
|
|
114 |
|
23 |
jpm |
115 |
$tablo_formatLigne['Class_pair'] = 'echoro_ligne_paire';
|
|
|
116 |
$tablo_formatLigne['Class_impair'] = 'echoro_ligne_impaire';
|
2 |
jpm |
117 |
|
|
|
118 |
//Choix du contenu de la colonne affichant le nom du taxon.
|
|
|
119 |
$tab_valeur_colonne_nom_complet[0] = array(
|
|
|
120 |
'type' => 'texte',
|
|
|
121 |
'valeur' => ' <b> ');
|
|
|
122 |
$tab_valeur_colonne_nom_complet[1] = array(
|
|
|
123 |
'type' => 'colonne',
|
|
|
124 |
'valeur' => ENT_NOM_COMPLET_02);
|
|
|
125 |
$tab_valeur_colonne_nom_complet[2] = array(
|
|
|
126 |
'type' => 'texte',
|
23 |
jpm |
127 |
'valeur' => ' [ <span class="echoro_num_nomen">');
|
2 |
jpm |
128 |
$tab_valeur_colonne_nom_complet[3] = array(
|
|
|
129 |
'type' => 'colonne',
|
|
|
130 |
'valeur' => ENT_NUM_NOMEN);
|
|
|
131 |
$tab_valeur_colonne_nom_complet[4] = array(
|
|
|
132 |
'type' => 'texte',
|
23 |
jpm |
133 |
'valeur' => '</span> - <span class="echoro_num_taxo">' );
|
2 |
jpm |
134 |
$tab_valeur_colonne_nom_complet[5] = array(
|
|
|
135 |
'type' => 'colonne',
|
|
|
136 |
'valeur' => ENT_NUM_TAXO);
|
|
|
137 |
$tab_valeur_colonne_nom_complet[6] = array(
|
|
|
138 |
'type' => 'texte',
|
|
|
139 |
'valeur' => '</span> ]');
|
|
|
140 |
$tab_valeur_colonne_nom_complet[7] = array(
|
|
|
141 |
'type' => 'texte',
|
|
|
142 |
'valeur' => ' </b> ');
|
11 |
jpm |
143 |
// Création de l'url pour obtenir les fiches
|
2 |
jpm |
144 |
//Implémentation du tableau contenant les informations pour
|
|
|
145 |
//l'affichage des résultats.
|
11 |
jpm |
146 |
$tablo_formatResultat[0] = array(
|
|
|
147 |
'Col_nom' => $tab_valeur_colonne_nom_complet,
|
|
|
148 |
'Col_width' => 450,
|
23 |
jpm |
149 |
'Col_class' => 'texte_i',
|
11 |
jpm |
150 |
'Col_lien_href' => $GLOBALS['_ECHORO_']['url_base']->getURL().'nn',
|
|
|
151 |
'Col_lien_href_param' => ENT_NUM_NOMEN,
|
|
|
152 |
'Col_lien_target' => '_blank',
|
23 |
jpm |
153 |
'Col_lien_class' => 'echoro_lien',
|
11 |
jpm |
154 |
'Col_lien_title' => 'Voir la fiche correspondante dans l\'index des plantes');
|
2 |
jpm |
155 |
if ($departement == 971 || $departement == 972 ) {
|
11 |
jpm |
156 |
$tablo_formatResultat[0]['Col_lien_href'] = $GLOBALS['_ECHORO_']['url_base']->getURL().'bdnfgm_nn';
|
2 |
jpm |
157 |
} elseif ($departement == 974) {
|
11 |
jpm |
158 |
$tablo_formatResultat[0]['Col_lien_href'] = $GLOBALS['_ECHORO_']['url_base']->getURL().'bdnfr_nn';
|
2 |
jpm |
159 |
}
|
|
|
160 |
$tablo_formatResultat[1]=array(
|
|
|
161 |
'Col_nom' => ECS_INTITULE,
|
|
|
162 |
'Col_width' => 150,
|
23 |
jpm |
163 |
'Col_class' => 'texte_c');
|
2 |
jpm |
164 |
|
|
|
165 |
$fragmenteur['nbre_ligne_page_defaut'] = NBRE_LIGNE_PAGE_DEFAUT;
|
|
|
166 |
$fragmenteur['numero_ligne_depart'] = NUMERO_LIGNE_DEPART;
|
|
|
167 |
$fragmenteur['afficher_titre'] = AFFICHER_TITRE;
|
|
|
168 |
$fragmenteur['titre'] = TITRE_FRAGMENTEUR;
|
|
|
169 |
$fragmenteur['tableau_choix_ligne_page'] = $choro_dep_TABLEAU_CHOIX_LIGNE_PAGE;
|
|
|
170 |
$fragmenteur['modele_info'] = MODELE_INFO;
|
|
|
171 |
$fragmenteur['classe_css_titre'] = CLASSE_CSS_TITRE;
|
|
|
172 |
$fragmenteur['classe_css_fragmenteur'] = CLASSE_CSS_FRAGMENTEUR;
|
|
|
173 |
$fragmenteur['classe_css_info'] = CLASSE_CSS_INFO;
|
|
|
174 |
|
|
|
175 |
// +--------------------------------------------------------------------------------------------------+
|
|
|
176 |
// RÉCUPÉRATION DU NOMBRE DE TAXON PAR DÉPARTEMENT
|
|
|
177 |
|
|
|
178 |
//Connexion à la base
|
|
|
179 |
if(BD_BOTA != BD_GENERALE){
|
|
|
180 |
//Nous sommes dans le cas où l'on a deux base: une pour les tables de la chorologie l'autre pour
|
|
|
181 |
//les tables de la carto.
|
|
|
182 |
//On ne sélectionne donc pas de base.
|
|
|
183 |
/** Definition de la variable globale stokant la connexion à la base de données. */
|
|
|
184 |
//$GLOBALS['_ECHORO_']['bdd'] = DB::connect(ECHORO_DSN_SANS_BDD);
|
11 |
jpm |
185 |
$GLOBALS['_ECHORO_']['bdd'] = mysql_connect(ECHORO_BDD_SERVEUR, ECHORO_BDD_UTILISATEUR, ECHORO_BDD_MOT_DE_PASSE ) or die (ER_CONNECT.mysql_error());
|
2 |
jpm |
186 |
}
|
|
|
187 |
else{
|
|
|
188 |
//Nous sommes dans le cas où l'on a une seule base.
|
|
|
189 |
//$GLOBALS['_ECHORO_']['bdd'] = DB::connect(ECHORO_DSN);
|
11 |
jpm |
190 |
$GLOBALS['_ECHORO_']['bdd'] = mysql_connect(ECHORO_BDD_SERVEUR, ECHORO_BDD_UTILISATEUR, ECHORO_BDD_MOT_DE_PASSE ) or die (ER_CONNECT.mysql_error());
|
|
|
191 |
mysql_select_db(BD_GENERALE, $GLOBALS['_ECHORO_']['bdd']) or die (ER_SEL_BD_GENERALE);
|
2 |
jpm |
192 |
}
|
|
|
193 |
|
|
|
194 |
//Requète fournisant le nombre de taxon pour chaque département. Nous récupérons aussi grâce à
|
|
|
195 |
//cette requète les valeurs nécessaires à la réalisation de la carte dynamique.
|
|
|
196 |
|
|
|
197 |
$requete_01 =
|
|
|
198 |
'SELECT DISTINCT '.CD_ID.
|
|
|
199 |
' FROM '.CD_BD_TABLE;
|
|
|
200 |
|
|
|
201 |
$resultat_01 = mysql_query($requete_01, $GLOBALS['_ECHORO_']['bdd']) or die('
|
|
|
202 |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
|
|
|
203 |
'<b>Requete : </b>'.$requete_01.
|
|
|
204 |
'<br/><br/><b>Erreur : </b>'.mysql_error());
|
|
|
205 |
|
|
|
206 |
$requete_02 =
|
|
|
207 |
'SELECT * ,count('.CD_ID.') as nbr '.
|
|
|
208 |
'FROM '.ECD_BD_TABLE.', '.CD_BD_TABLE.' '.
|
|
|
209 |
'WHERE '.CD_ID.' = '.ECD_DEP.' '.
|
|
|
210 |
'GROUP BY '.CD_ID;
|
|
|
211 |
|
|
|
212 |
$resultat_02 = mysql_query($requete_02, $GLOBALS['_ECHORO_']['bdd']) or die('
|
|
|
213 |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
|
|
|
214 |
'<b>Requete : </b>'.$requete_02.
|
|
|
215 |
'<br/><br/><b>Erreur : </b>'.mysql_error());
|
|
|
216 |
|
|
|
217 |
//Requête spécifique aux départements des Antilles
|
|
|
218 |
$requete_971_972 =
|
|
|
219 |
'SELECT * ,count('.EAC_DEP.') as nbr '.
|
|
|
220 |
'FROM '.EAC_BD_TABLE.' '.
|
|
|
221 |
'WHERE ('.EAC_DEP.' = 971 '.
|
|
|
222 |
'OR '.EAC_DEP.' = 972 ) '.
|
|
|
223 |
'GROUP BY '.EAC_DEP;
|
|
|
224 |
|
|
|
225 |
$resultat_971_972 = mysql_query($requete_971_972, $GLOBALS['_ECHORO_']['bdd']) or die('
|
|
|
226 |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
|
|
|
227 |
'<b>Requete : </b>'.$requete_971_972.
|
|
|
228 |
'<br/><br/><b>Erreur : </b>'.mysql_error());
|
|
|
229 |
|
|
|
230 |
//Requête spécifique au département de la Réunion
|
|
|
231 |
$requete_974 =
|
|
|
232 |
'SELECT * ,count('.ERC_DEP.') as nbr '.
|
|
|
233 |
'FROM '.ERC_BD_TABLE.' '.
|
|
|
234 |
'WHERE '.ERC_DEP.' = 974 '.
|
|
|
235 |
'GROUP BY '.ERC_DEP;
|
|
|
236 |
|
|
|
237 |
$resultat_974 = mysql_query($requete_974, $GLOBALS['_ECHORO_']['bdd']) or die('
|
|
|
238 |
<H2 style='.STYLE_REQUETE.'>Erreur de requête</H2>'.
|
|
|
239 |
'<b>Requete : </b>'.$requete_974.
|
|
|
240 |
'<br/><br/><b>Erreur : </b>'.mysql_error());
|
|
|
241 |
|
|
|
242 |
//Nous stockons les résultats de la requete département par département dans
|
|
|
243 |
//un tableau associatif : $tableau_dep_taxons.
|
|
|
244 |
//Pour chaque identifiant de département, nous sotckons dans le tableau le nombre
|
|
|
245 |
//de taxon présent.
|
|
|
246 |
|
|
|
247 |
$tableau_dep_taxons = array();
|
|
|
248 |
while ($ligne_01 = mysql_fetch_array($resultat_01)) {
|
|
|
249 |
$tableau_dep_taxons[$ligne_01[CD_ID]] = 0;
|
|
|
250 |
}
|
|
|
251 |
while ($ligne_02 = mysql_fetch_array($resultat_02)) {
|
|
|
252 |
$tableau_dep_taxons[$ligne_02[CD_ID]] = $ligne_02['nbr'];
|
|
|
253 |
}
|
|
|
254 |
//Résultat pour la requête spécifique aux départements des Antilles
|
|
|
255 |
while ($ligne_971_972 = mysql_fetch_array($resultat_971_972)) {
|
|
|
256 |
$tableau_dep_taxons[$ligne_971_972[EAC_DEP]] = $ligne_971_972['nbr'];
|
|
|
257 |
}
|
|
|
258 |
//Résultat pour la requête spécifique au département de la Réunion
|
|
|
259 |
while ($ligne_974 = mysql_fetch_array($resultat_974)) {
|
|
|
260 |
$tableau_dep_taxons[$ligne_974[EAC_DEP]] = $ligne_974['nbr'];
|
|
|
261 |
}
|
|
|
262 |
//Nous comptons le nombre de département possédant une liste :
|
|
|
263 |
$nbre_liste = 0;
|
|
|
264 |
foreach($tableau_dep_taxons as $cle => $valeur){
|
|
|
265 |
if ($valeur != 0) {
|
|
|
266 |
$nbre_liste++;
|
|
|
267 |
}
|
|
|
268 |
}
|
|
|
269 |
|
11 |
jpm |
270 |
// Instanciation du tableau contenant les infos sur la table des zones géo.
|
|
|
271 |
$info_table_zg['nom_table_zone'] = CD_BD_TABLE;
|
|
|
272 |
$info_table_zg['nom_chp_id_zone'] = CD_ID;
|
|
|
273 |
$info_table_zg['nom_chp_nom_zone'] = CD_NOM;
|
|
|
274 |
$info_table_zg['nom_chp_rouge'] = CD_R;
|
|
|
275 |
$info_table_zg['nom_chp_vert'] = CD_V;
|
|
|
276 |
$info_table_zg['nom_chp_bleu'] = CD_B;
|
|
|
277 |
$info_table_zg['nom_chp_zone_sup'] = CD_PAYS;
|
|
|
278 |
$info_table_zg['tableau_valeurs_zone'] = $tableau_dep_taxons;
|
2 |
jpm |
279 |
|
11 |
jpm |
280 |
// Instanciation du tableau contenant les champs de la table action
|
|
|
281 |
$info_table_action['nom_table_action'] = CA_BD_TABLE;
|
|
|
282 |
$info_table_action['nom_chp_id_carte'] = CA_CARTE;
|
|
|
283 |
$info_table_action['nom_chp_id_zg_action'] = CA_ZG;
|
|
|
284 |
$info_table_action['nom_chp_type_zg'] = CA_TYPE_ZG;
|
|
|
285 |
$info_table_action['nom_chp_action'] = CA_ACTION;
|
|
|
286 |
$info_table_action['nom_chp_id_carte_destination'] = CA_CARTE_DESTINATION;
|
2 |
jpm |
287 |
|
|
|
288 |
// +--------------------------------------------------------------------------------------------------+
|
|
|
289 |
// CRÉATION DES OBJETS CARTE ET ACTION
|
|
|
290 |
|
|
|
291 |
//Nous commençons par vider la chaine renvoyée par la fonction putFrame().
|
11 |
jpm |
292 |
$res = '';
|
2 |
jpm |
293 |
|
|
|
294 |
//Nous créons un nouvel objet carte.
|
11 |
jpm |
295 |
$france = new Carto_Carte( ID_CARTE_FR_DPT,
|
|
|
296 |
ID_ZONE_GEO_CARTE_FR_DPT,
|
|
|
297 |
NOM_CARTE_FR_DPT,
|
|
|
298 |
ECHORO_FICHIER_CARTE_FR_DPT_MASQUE,
|
|
|
299 |
ECHORO_FICHIER_CARTE_FR_DPT,
|
|
|
300 |
ECHORO_CHEMIN_CARTE,
|
|
|
301 |
$info_table_zg,
|
|
|
302 |
$info_table_action);
|
2 |
jpm |
303 |
//Les valeurs de coordonnées x et y du clic sur l'image,
|
|
|
304 |
//sont renvoyée automatiquement par le formulaire de la carte.
|
|
|
305 |
//A la première exécution du script ces variables sont vides.
|
|
|
306 |
|
|
|
307 |
$france->historique_cartes = $historique_cartes;
|
|
|
308 |
$france->image_x = $image_x;
|
|
|
309 |
$france->image_y = $image_y;
|
|
|
310 |
$france->liste_zone_carte = $liste_zone_carte;
|
11 |
jpm |
311 |
$france->url = $GLOBALS['_ECHORO_']['url']->getURL();
|
2 |
jpm |
312 |
|
|
|
313 |
//Nous définissons les couleurs de la carte:
|
|
|
314 |
$france->definirCouleurs (
|
|
|
315 |
COULEUR_ZERO_R, COULEUR_ZERO_V, COULEUR_ZERO_B,
|
|
|
316 |
COULEUR_MINI_R, COULEUR_MINI_V, COULEUR_MINI_B,
|
|
|
317 |
COULEUR_MEDIUM_R, COULEUR_MEDIUM_V, COULEUR_MEDIUM_B,
|
|
|
318 |
COULEUR_MAXI_R, COULEUR_MAXI_V, COULEUR_MAXI_B);
|
|
|
319 |
|
|
|
320 |
$france->definirFormuleColoriage('ecart_type');
|
|
|
321 |
|
|
|
322 |
// +--------------------------------------------------------------------------------------------------+
|
|
|
323 |
// GESTION AFFICHAGE CARTE OU LISTE
|
|
|
324 |
|
|
|
325 |
//Une fois l'arborescence créee, nous lançons la méthode imgform() pour récuperer le formulaire de la
|
|
|
326 |
//carte (dans $carte_france). S'il n'y a pas de carte à afficher imgform() renvoi false. Nous pouvons
|
|
|
327 |
//alors afficher la liste des taxons pour le département sélectioné.
|
|
|
328 |
|
|
|
329 |
//Initialisation de la variable $carte_france.
|
|
|
330 |
if(empty($carte_france)){
|
|
|
331 |
$carte_france = false;
|
|
|
332 |
}
|
|
|
333 |
|
|
|
334 |
//Récupération de la valeur de l'action:
|
|
|
335 |
//-false = affichage de la liste
|
|
|
336 |
//-true = affichage d'une carte (mais ici ce cas ne se présente jamais.
|
|
|
337 |
$carte_france = $france->donnerFormulaireImage();
|
|
|
338 |
|
|
|
339 |
// Nous testons $lettre pour affichier la carte ou la liste
|
|
|
340 |
if (isset($lettre)) {
|
|
|
341 |
|
|
|
342 |
//Affichage de la liste des taxon pour le département.
|
|
|
343 |
//L'utilisateur a cliqué sur une lettre dans la liste alphabétique
|
|
|
344 |
//sur un département.
|
|
|
345 |
|
|
|
346 |
//Nous récupérons toutes les infos sur le département :
|
11 |
jpm |
347 |
$tableau_infoDep = echoro_recupererInfoDep($departement);
|
2 |
jpm |
348 |
|
|
|
349 |
//Nous affectons les messages d'erreur
|
|
|
350 |
if($nombre_taxon != 0){
|
|
|
351 |
$message_alerte = message_alerte('01');
|
|
|
352 |
}
|
|
|
353 |
else{
|
|
|
354 |
$message_alerte = message_alerte('02');
|
|
|
355 |
}
|
|
|
356 |
//La requete qui sélectionne les noms de taxons pour le département
|
|
|
357 |
//et la lettre transmis dans l'url par la variable $lettre.
|
|
|
358 |
if ($tableau_infoDep['NUMERO'] == 971 || $tableau_infoDep['NUMERO'] == 972) {
|
|
|
359 |
$requete_03 =
|
|
|
360 |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '.
|
|
|
361 |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE.
|
|
|
362 |
' FROM '.EAC_BD_TABLE.', '.EANT_BD_TABLE.', '.ECS_BD_TABLE.
|
|
|
363 |
' WHERE ';
|
11 |
jpm |
364 |
if ($lettre != 'tous'){
|
2 |
jpm |
365 |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"';
|
|
|
366 |
} else {
|
|
|
367 |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "%"';
|
|
|
368 |
}
|
|
|
369 |
$requete_03 .=
|
|
|
370 |
' AND '.EAC_DEP.'='.$tableau_infoDep['NUMERO'].
|
|
|
371 |
' AND '.EAC_NUM_NOMEN.' = '.ENT_NUM_NOMEN.
|
|
|
372 |
' AND '.EAC_STATUT.' = '.ECS_ID.
|
|
|
373 |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC';
|
|
|
374 |
} elseif ($tableau_infoDep['NUMERO'] == 974) {
|
|
|
375 |
$requete_03 =
|
|
|
376 |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '.
|
|
|
377 |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE.
|
|
|
378 |
' FROM '.ERC_BD_TABLE.', '.ERNT_BD_TABLE.', '.ERCS_BD_TABLE.
|
|
|
379 |
' WHERE ';
|
|
|
380 |
if ($lettre != "tous"){
|
|
|
381 |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"';
|
|
|
382 |
} else {
|
|
|
383 |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "%"';
|
|
|
384 |
}
|
|
|
385 |
$requete_03 .=
|
|
|
386 |
' AND '.ERC_DEP.'='.$tableau_infoDep['NUMERO'].
|
|
|
387 |
' AND '.ERC_NUM_NOMEN.' = '.ENT_NUM_NOMEN.
|
|
|
388 |
' AND '.ERC_STATUT.' = '.ECS_ID.
|
|
|
389 |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC';
|
|
|
390 |
} else {
|
|
|
391 |
$requete_03 =
|
|
|
392 |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '.
|
|
|
393 |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE.
|
|
|
394 |
' FROM '.ECD_BD_TABLE.', '.ENT_BD_TABLE.', '.ECS_BD_TABLE.
|
|
|
395 |
' WHERE ';
|
|
|
396 |
if ($lettre != "tous"){
|
|
|
397 |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"';
|
|
|
398 |
} else {
|
|
|
399 |
$requete_03 .= ENT_NOM_COMPLET_02.' LIKE "%"';
|
|
|
400 |
}
|
|
|
401 |
$requete_03 .=
|
|
|
402 |
' AND '.ECD_DEP.'='.$tableau_infoDep['NUMERO'].
|
|
|
403 |
' AND '.ECD_NUM_NOMEN.' = '.ENT_NUM_NOMEN.
|
|
|
404 |
' AND '.ECD_INDICE.' = '.ECS_ID.
|
|
|
405 |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC';
|
|
|
406 |
}
|
|
|
407 |
|
|
|
408 |
//Nous plaçons des données javascripts pour la gestion des infos bulles:
|
|
|
409 |
$tableau_inclusion = array($tableau_infoDep['NOM'], $nombre_taxon);
|
|
|
410 |
$res = inclusion_html('titre_liste', $tableau_inclusion);
|
|
|
411 |
$tableau_inclusion = array($tableau_infoDep['SOURCES'], $tableau_infoDep['CORRESPONDANTS']);
|
|
|
412 |
$res .= inclusion_html('info_dep', $tableau_inclusion);
|
|
|
413 |
|
|
|
414 |
$tablo_inclusion = array($lettre);
|
11 |
jpm |
415 |
$res .= rechercheAlphabet($requete_03, $GLOBALS['_ECHORO_']['url']->getURL(), '&departement='.$tableau_infoDep['NUMERO'].'&nombre_taxon='.$nombre_taxon,
|
2 |
jpm |
416 |
inclusion_html('tab_ouvre_liste_taxon', $tablo_inclusion), inclusion_html('tab_evol_ferme'), $tablo_formatLigne,
|
|
|
417 |
$tablo_formatResultat, $message_alerte, $fragmenteur);
|
30 |
jpm |
418 |
return remplaceEntiteHTLM($res);
|
|
|
419 |
} else {
|
2 |
jpm |
420 |
if (!$carte_france) {
|
|
|
421 |
//Affichage quand il n'y a plus de carte.
|
|
|
422 |
//Dans notre cas l'utilisateur a cliqué sur un département.
|
29 |
jpm |
423 |
/** Inclusion du fichier gérant les fonctions javascripts. */
|
|
|
424 |
include_once ECHORO_CHEMIN_BIBLIO.'echoro_javascript.fonct.php';
|
|
|
425 |
//Nous appelons la fonction javascript à insérer dans l'entête.
|
|
|
426 |
GEN_stockerFichierScript('echoro', ECHORO_CHEMIN_SCRIPT.'echoro.js');
|
2 |
jpm |
427 |
|
|
|
428 |
//Nous récupérons l'identifiant du département transmis dans l'historique sous
|
|
|
429 |
//la forme france*numéro_departement
|
|
|
430 |
$tableau_departement = explode ('*',$france->historique);
|
|
|
431 |
|
|
|
432 |
//Nous récupérons toutes les infos sur le département :
|
11 |
jpm |
433 |
$tableau_infoDep = echoro_recupererInfoDep($tableau_departement[1]);
|
2 |
jpm |
434 |
|
|
|
435 |
if ($tableau_infoDep['NUMERO'] == 971 || $tableau_infoDep['NUMERO'] == 972) {
|
11 |
jpm |
436 |
$tablo_formatResultat[0]['Col_lien_href'] = $GLOBALS['_ECHORO_']['url_base']->getURL().'bdnfgm_nn';
|
2 |
jpm |
437 |
} elseif ($tableau_infoDep['NUMERO'] == 974) {
|
11 |
jpm |
438 |
$tablo_formatResultat[0]['Col_lien_href'] = $GLOBALS['_ECHORO_']['url_base']->getURL().'bdnfr_nn';
|
2 |
jpm |
439 |
}
|
|
|
440 |
|
|
|
441 |
//Nous récupérons le nombre de taxons présent dans le département
|
|
|
442 |
if(isset($tableau_dep_taxons[$tableau_infoDep['NUMERO']]) && $tableau_dep_taxons[$tableau_infoDep['NUMERO']] !=0){
|
|
|
443 |
$nombre_taxon = $tableau_dep_taxons[$tableau_infoDep['NUMERO']];
|
|
|
444 |
$message_alerte = message_alerte('01');
|
|
|
445 |
}
|
|
|
446 |
else{
|
|
|
447 |
$nombre_taxon = 0;
|
|
|
448 |
$message_alerte = message_alerte('02');
|
|
|
449 |
}
|
|
|
450 |
//Nous affichons par défaut la liste des taxons dont le nom
|
|
|
451 |
//commence par A.
|
13 |
jpm |
452 |
$lettre = 'A';
|
2 |
jpm |
453 |
|
|
|
454 |
//La requete qui sélectionne les noms de taxons pour le département
|
|
|
455 |
//et la lettre A.
|
|
|
456 |
if ($tableau_infoDep['NUMERO'] == 971 || $tableau_infoDep['NUMERO'] == 972) {
|
|
|
457 |
$requete_04 =
|
|
|
458 |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '.
|
|
|
459 |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE.
|
|
|
460 |
' FROM '.EAC_BD_TABLE.', '.EANT_BD_TABLE.', '.ECS_BD_TABLE.
|
|
|
461 |
' WHERE '.ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"'.
|
|
|
462 |
' AND '.EAC_DEP.' = '.$tableau_infoDep['NUMERO'].
|
|
|
463 |
//' AND '.EAC_NUM_TAXO.' = '.ENT_NUM_TAXO.
|
|
|
464 |
' AND '.EAC_NUM_NOMEN.' = '.ENT_NUM_NOMEN.
|
|
|
465 |
' AND '.EAC_STATUT.' = '.ECS_ID.
|
|
|
466 |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC';
|
|
|
467 |
} elseif ($tableau_infoDep['NUMERO'] == 974) {
|
|
|
468 |
$requete_04 =
|
|
|
469 |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '.
|
|
|
470 |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE.
|
|
|
471 |
' FROM '.ERC_BD_TABLE.', '.ERNT_BD_TABLE.', '.ERCS_BD_TABLE.
|
|
|
472 |
' WHERE '.ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"'.
|
|
|
473 |
' AND '.ERC_DEP.' = '.$tableau_infoDep['NUMERO'].
|
|
|
474 |
//' AND '.ERC_NUM_TAXO.' = '.ENT_NUM_TAXO.
|
|
|
475 |
' AND '.ERC_NUM_NOMEN.' = '.ENT_NUM_NOMEN.
|
|
|
476 |
' AND '.ERC_STATUT.' = '.ECS_ID.
|
|
|
477 |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC';
|
|
|
478 |
} else {
|
|
|
479 |
$requete_04 =
|
|
|
480 |
'SELECT '.ENT_NUM_TAXO.', '.ENT_NUM_NOMEN.', '.
|
|
|
481 |
ENT_NOM_COMPLET_02.', '.ECS_INTITULE.
|
|
|
482 |
' FROM '.ECD_BD_TABLE.', '.ENT_BD_TABLE.', '.ECS_BD_TABLE.
|
|
|
483 |
' WHERE '.ENT_NOM_COMPLET_02.' LIKE "'.$lettre.'%"'.
|
|
|
484 |
' AND '.ECD_DEP.' = '.$tableau_infoDep['NUMERO'].
|
|
|
485 |
//' AND '.ECD_NUM_TAXO.' = '.ENT_NUM_TAXO.
|
|
|
486 |
' AND '.ECD_NUM_NOMEN.' = '.ENT_NUM_NOMEN.
|
|
|
487 |
' AND '.ECD_INDICE.' = '.ECS_ID.
|
|
|
488 |
' ORDER BY '.ENT_NOM_COMPLET_02.' ASC';
|
|
|
489 |
}
|
11 |
jpm |
490 |
|
2 |
jpm |
491 |
$tableau_inclusion = array($tableau_infoDep['NOM'], $nombre_taxon);
|
|
|
492 |
$res = inclusion_html('titre_liste', $tableau_inclusion);
|
|
|
493 |
|
|
|
494 |
$tableau_inclusion = array($tableau_infoDep['SOURCES'], $tableau_infoDep['CORRESPONDANTS']);
|
|
|
495 |
$res .= inclusion_html('info_dep', $tableau_inclusion);
|
|
|
496 |
|
|
|
497 |
//La fonction gérant l'affichage de la liste alphabétique et
|
|
|
498 |
//de l'affichage suite à une seléction dans la liste.
|
|
|
499 |
$tablo_inclusion = array($lettre);
|
24 |
jpm |
500 |
$res .= FRAG_rechercherAvecAlphabet($requete_04, $GLOBALS['_ECHORO_']['url']->getURL(), '&departement='.$tableau_infoDep['NUMERO'].'&nombre_taxon='.$nombre_taxon,
|
2 |
jpm |
501 |
inclusion_html('tab_ouvre_liste_taxon', $tablo_inclusion), inclusion_html('tab_evol_ferme'), $tablo_formatLigne,
|
|
|
502 |
$tablo_formatResultat, $message_alerte, $fragmenteur);
|
|
|
503 |
|
30 |
jpm |
504 |
return remplaceEntiteHTLM($res);
|
11 |
jpm |
505 |
} else {
|
|
|
506 |
//Affichage de la carte de france des départements.
|
|
|
507 |
//L'utilisateur arrive sur la page.
|
2 |
jpm |
508 |
$tableau_inclusion = array($nbre_liste);
|
|
|
509 |
$res = inclusion_html('titre_carte', $tableau_inclusion);//Le titre dans une ligne de tableau
|
|
|
510 |
|
|
|
511 |
//Nous affichons la carte
|
30 |
jpm |
512 |
$res .= $carte_france;
|
2 |
jpm |
513 |
|
|
|
514 |
$res .= inclusion_html('avertissement_carte');//Commentaire dans des lignes de tableau
|
|
|
515 |
|
30 |
jpm |
516 |
return remplaceEntiteHTLM($res);
|
2 |
jpm |
517 |
}//Fin du test de $carte_france.
|
|
|
518 |
}//Fin du test de $lettre
|
|
|
519 |
}
|
|
|
520 |
|
|
|
521 |
function afficherContenuPied()
|
|
|
522 |
{
|
|
|
523 |
return inclusion_html('pied_page');
|
|
|
524 |
}
|
|
|
525 |
|
|
|
526 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
527 |
// | PIED du PROGRAMME |
|
|
|
528 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
529 |
|
|
|
530 |
|
|
|
531 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
|
|
532 |
*
|
|
|
533 |
* $Log: not supported by cvs2svn $
|
30 |
jpm |
534 |
* Revision 1.7 2005/05/19 07:37:47 jpm
|
|
|
535 |
* Correction des bogues et derniers réglages avant mise en ligne du site v4.
|
|
|
536 |
*
|
29 |
jpm |
537 |
* Revision 1.6 2005/03/15 15:10:40 jpm
|
|
|
538 |
* Ajout de l'API formulaire.
|
|
|
539 |
*
|
27 |
jpm |
540 |
* Revision 1.5 2005/02/24 17:06:17 jpm
|
|
|
541 |
* Changement du nom d'une fonction.
|
|
|
542 |
*
|
24 |
jpm |
543 |
* Revision 1.4 2005/02/23 17:31:04 jpm
|
|
|
544 |
* Modification de noms de classes css.
|
|
|
545 |
*
|
23 |
jpm |
546 |
* Revision 1.3 2005/02/22 19:36:03 jpm
|
|
|
547 |
* Suppression de code html superflu.
|
|
|
548 |
*
|
13 |
jpm |
549 |
* Revision 1.2 2005/02/22 16:39:20 jpm
|
|
|
550 |
* Changement divers pour l'adaptation à Papyrus.
|
|
|
551 |
*
|
11 |
jpm |
552 |
* Revision 1.1 2005/02/21 19:36:57 jpm
|
|
|
553 |
* Ajout du code de l'appli de tela v3.
|
2 |
jpm |
554 |
*
|
11 |
jpm |
555 |
*
|
2 |
jpm |
556 |
* +-- Fin du code ----------------------------------------------------------------------------------------+
|
|
|
557 |
*/
|
|
|
558 |
?>
|