Subversion Repositories eFlore/Archives.chorologie

Rev

Rev 32 | Rev 35 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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