Subversion Repositories eFlore/Archives.chorologie

Rev

Rev 2 | Rev 13 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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