Subversion Repositories eFlore/Archives.eflore-consultation-v2

Rev

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

Rev 110 Rev 117
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.1                                                                                      |
4
// | PHP version 5.0.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 eRibo.                                                                          |
8
// | This file is part of eRibo.                                                                          |
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: fiche_synthese_xhtml.php,v 1.5 2005-01-25 12:26:19 jpm Exp $
24
// CVS : $Id: fiche_synthese_xhtml.php,v 1.6 2005-01-26 10:44:57 jpm Exp $
25
/**
25
/**
26
* Vue affichant la fiche de synthèse d'un nom dans le projet donné
26
* Vue affichant la fiche de synthèse d'un nom dans le projet donné
27
*
27
*
28
* Permet de retourner le html correspondant à la fiche de synthèse d'un nom
28
* Permet de retourner le html correspondant à la fiche de synthèse d'un nom
29
* dans un projet donné.
29
* dans un projet donné.
30
*
30
*
31
*@package eFlore
31
*@package eFlore
32
*@subpackage Vues
32
*@subpackage Vues
33
//Auteur original :
33
//Auteur original :
34
*@author        Frédéric LEGENS <flegens@free.fr>
34
*@author        Frédéric LEGENS <flegens@free.fr>
35
//Autres auteurs :
35
//Autres auteurs :
36
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
36
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
37
*@copyright     Tela-Botanica 2000-2004
37
*@copyright     Tela-Botanica 2000-2004
38
*@version       $Revision: 1.5 $ $Date: 2005-01-25 12:26:19 $
38
*@version       $Revision: 1.6 $ $Date: 2005-01-26 10:44:57 $
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
40
*/
40
*/
41
 
41
 
42
// +------------------------------------------------------------------------------------------------------+
42
// +------------------------------------------------------------------------------------------------------+
43
// |                                            ENTETE du PROGRAMME                                       |
43
// |                                            ENTETE du PROGRAMME                                       |
44
// +------------------------------------------------------------------------------------------------------+
44
// +------------------------------------------------------------------------------------------------------+
45
require_once EFSE_CHEMIN_FONCTION.'eribo_encodage.fonct.php';
45
require_once EFSE_CHEMIN_FONCTION.'eribo_encodage.fonct.php';
46
 
46
 
47
// +------------------------------------------------------------------------------------------------------+
47
// +------------------------------------------------------------------------------------------------------+
48
// |                                            CLASSE de la VUE                                          |
48
// |                                            CLASSE de la VUE                                          |
49
// +------------------------------------------------------------------------------------------------------+
49
// +------------------------------------------------------------------------------------------------------+
50
class fiche_synthese_xhtml implements iVue {
50
class fiche_synthese_xhtml implements iVue {
51
    
51
    
52
    protected $leBlock;
52
    protected $leBlock;
53
    
53
    
54
    function __construct($unBlock)
54
    function __construct($unBlock)
55
    {
55
    {
56
        $this->leBlock = $unBlock;
56
        $this->leBlock = $unBlock;
57
    }
57
    }
58
    
58
    
59
    function serialiser()
59
    function serialiser()
60
    {
60
    {
61
        // La page xhtml :
61
        // La page xhtml :
62
        $retour = '<?xml version="1.0" encoding="iso-8859-15" ?>'."\n";
62
        $retour = '<?xml version="1.0" encoding="iso-8859-15" ?>'."\n";
63
        $retour .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "../../../commun/generique/dtd/xhtml1-strict.dtd">'."\n";
63
        $retour .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "../../../commun/generique/dtd/xhtml1-strict.dtd">'."\n";
64
        $retour .= '<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" >'."\n";
64
        $retour .= '<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" >'."\n";
65
        
65
        
66
        $retour .= '<head>'."\n";
66
        $retour .= '<head>'."\n";
67
        $retour .= '<!-- BEGIN entete -->'."\n";
67
        $retour .= '<!-- BEGIN entete -->'."\n";
68
        $retour .= '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />'."\n";
68
        $retour .= '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />'."\n";
69
        $retour .= '<meta http-equiv="Content-style-type" content="text/css" />'."\n";
69
        $retour .= '<meta http-equiv="Content-style-type" content="text/css" />'."\n";
70
        $retour .= '<meta http-equiv="Content-script-type" content="text/javascript" />'."\n";
70
        $retour .= '<meta http-equiv="Content-script-type" content="text/javascript" />'."\n";
71
        $retour .= '<meta http-equiv="Content-language" content="fr" />'."\n";
71
        $retour .= '<meta http-equiv="Content-language" content="fr" />'."\n";
72
        $retour .= '<title>Synthèse d\'un nom latin</title>'."\n";
72
        $retour .= '<title>Synthèse d\'un nom latin</title>'."\n";
73
        $retour .= '<!-- END entete -->'."\n";
73
        $retour .= '<!-- END entete -->'."\n";
74
        $retour .= '</head>'."\n";
74
        $retour .= '</head>'."\n";
75
        
75
        
76
        $retour .= '<body>'."\n";
76
        $retour .= '<body>'."\n";
77
        $retour .= '<!-- BEGIN corps -->'."\n";
77
        $retour .= '<!-- BEGIN corps -->'."\n";
78
        $retour .= '<h1>'.'Synthèse d\'un nom latin'.'</h1>'."\n";
78
        $retour .= '<h1>'.'Synthèse d\'un nom latin'.'</h1>'."\n";
79
        $retour .= '<h2>'.'Informations sur le nom :'.'</h2>'."\n";
79
        $retour .= '<h2>'.'Informations sur le nom :'.'</h2>'."\n";
80
        $retour .= '<p>'."\n";
80
        $retour .= '<p>'."\n";
81
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>NOM_LATIN','afficherNomInfos');
81
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>NOM_LATIN','afficherNomInfos');
82
        $retour .= '</p>'."\n";
82
        $retour .= '</p>'."\n";
83
        $retour .= '<h2>'.'Présent dans : '.'</h2>'."\n";
83
        $retour .= '<h2>'.'Présent dans : '.'</h2>'."\n";
84
        $retour .= '<form id="eflore_form_projet" action="{UrlProjetChangement}" method="post">'."\n";
84
        $retour .= '<form id="eflore_form_projet" action="{UrlProjetChangement}" method="post">'."\n";
85
        $retour .= '<p>'."\n";
85
        $retour .= '<p>'."\n";
86
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>NOM_LATIN','afficherChampNom');
86
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>NOM_LATIN','afficherChampNom');
87
        $retour .= '<select id="nvp" name="nvp">'."\n";
87
        $retour .= '<select id="nvp" name="nvp">'."\n";
88
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>NOM_SELECTION_PROJETS','afficherListeProjets', null, TRUE);
88
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>NOM_SELECTION_PROJETS','afficherListeProjets', null, TRUE);
89
        $retour .= '</select>'."\n";
89
        $retour .= '</select>'."\n";
90
        $retour .= '<input type="submit" value="ok" />'."\n";
90
        $retour .= '<input type="submit" value="ok" />'."\n";
91
        $retour .= '</p>'."\n";
91
        $retour .= '</p>'."\n";
92
        $retour .= '</form>'."\n";
92
        $retour .= '</form>'."\n";
93
        
93
        
94
        // Gestion du nom correct
94
        // Gestion du nom correct
95
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>PROJET_VERSION','afficherNomProjetVersion');
95
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>PROJET_VERSION','afficherNomProjetVersion');
96
        $aso_param['statut_id'] = 3;
96
        $aso_param['statut_id'] = 3;
97
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherNomCorrect', $aso_param, TRUE);
97
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherNomCorrect', $aso_param, TRUE);
98
        
98
        
99
        // Gestion de la recherche Google
99
        // Gestion de la recherche Google
100
        $retour .= '<h2>'.'Rechercher des illustrations avec Google : '.'</h2>'."\n";
100
        $retour .= '<h2>'.'Rechercher des illustrations avec Google : '.'</h2>'."\n";
101
        $aso_param['statut_id'] = 3;
101
        $aso_param['statut_id'] = 3;
102
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherRechercheGoogle', $aso_param, TRUE);
102
        $retour .= $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherRechercheGoogle', $aso_param, TRUE);
103
        
103
        
104
        // Gestion de la synonymie
104
        // Gestion de la synonymie
105
        // Gestion des noms dont le statut n'est pas renseigné
105
        // Gestion des noms dont le statut n'est pas renseigné
106
        $aso_param['statut_id'] = 0;
106
        $aso_param['statut_id'] = 0;
107
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
107
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
108
        if (!empty($retour_syno)) {
108
        if (!empty($retour_syno)) {
109
            $synonymie = '<h3>'.'Statut non renseigné : '.'</h3>'."\n";
109
            $synonymie = '<h3>'.'Statut non renseigné : '.'</h3>'."\n";
110
            $synonymie .= '<ol>'."\n";
110
            $synonymie .= '<ol>'."\n";
111
            $synonymie .= $retour_syno;
111
            $synonymie .= $retour_syno;
112
            $synonymie .= '</ol>'."\n";
112
            $synonymie .= '</ol>'."\n";
113
            $retour_syno_final .= $synonymie;
113
            $retour_syno_final .= $synonymie;
114
        }
114
        }
115
        
115
        
116
        // Gestion des noms dont le statut est inconnu
116
        // Gestion des noms dont le statut est inconnu
117
        $aso_param['statut_id'] = 1;
117
        $aso_param['statut_id'] = 1;
118
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
118
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
119
        if (!empty($retour_syno)) {
119
        if (!empty($retour_syno)) {
120
            $synonymie = '<h3>'.'Statut inconnu : '.'</h3>'."\n";
120
            $synonymie = '<h3>'.'Statut inconnu : '.'</h3>'."\n";
121
            $synonymie .= '<ol>'."\n";
121
            $synonymie .= '<ol>'."\n";
122
            $synonymie .= $retour_syno;
122
            $synonymie .= $retour_syno;
123
            $synonymie .= '</ol>'."\n";
123
            $synonymie .= '</ol>'."\n";
124
            $retour_syno_final .= $synonymie;
124
            $retour_syno_final .= $synonymie;
125
        }
125
        }
126
        
126
        
127
        // Gestion des noms dont le statut pose problème
127
        // Gestion des noms dont le statut pose problème
128
        $aso_param['statut_id'] = 2;
128
        $aso_param['statut_id'] = 2;
129
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
129
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
130
        if (!empty($retour_syno)) {
130
        if (!empty($retour_syno)) {
131
            $synonymie = '<h3>'.'Statut posant problème : '.'</h3>'."\n";
131
            $synonymie = '<h3>'.'Statut posant problème : '.'</h3>'."\n";
132
            $synonymie .= '<ol>'."\n";
132
            $synonymie .= '<ol>'."\n";
133
            $synonymie .= $retour_syno;
133
            $synonymie .= $retour_syno;
134
            $synonymie .= '</ol>'."\n";
134
            $synonymie .= '</ol>'."\n";
135
            $retour_syno_final .= $synonymie;
135
            $retour_syno_final .= $synonymie;
136
        }
136
        }
137
        // Gestion des synonymes taxonomiques
137
        // Gestion des synonymes taxonomiques
138
        $aso_param['statut_id'] = 4;
138
        $aso_param['statut_id'] = 4;
139
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
139
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
140
        if (!empty($retour_syno)) {
140
        if (!empty($retour_syno)) {
141
            $synonymie = '<h3>'.'Synonymes taxonomiques : '.'</h3>'."\n";
141
            $synonymie = '<h3>'.'Synonymes taxonomiques : '.'</h3>'."\n";
142
            $synonymie .= '<ol>'."\n";
142
            $synonymie .= '<ol>'."\n";
143
            $synonymie .= $retour_syno;
143
            $synonymie .= $retour_syno;
144
            $synonymie .= '</ol>'."\n";
144
            $synonymie .= '</ol>'."\n";
145
            $retour_syno_final .= $synonymie;
145
            $retour_syno_final .= $synonymie;
146
        }
146
        }
147
        
147
        
148
        // Gestion des synonymes nomenclaturaux
148
        // Gestion des synonymes nomenclaturaux
149
        $aso_param['statut_id'] = 5;
149
        $aso_param['statut_id'] = 5;
150
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
150
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
151
        if (!empty($retour_syno)) {
151
        if (!empty($retour_syno)) {
152
            $synonymie = '<h3>'.'Synonymes nomenclaturaux : '.'</h3>'."\n";
152
            $synonymie = '<h3>'.'Synonymes nomenclaturaux : '.'</h3>'."\n";
153
            $synonymie .= '<ol>'."\n";
153
            $synonymie .= '<ol>'."\n";
154
            $synonymie .= $retour_syno;
154
            $synonymie .= $retour_syno;
155
            $synonymie .= '</ol>'."\n";
155
            $synonymie .= '</ol>'."\n";
156
            $retour_syno_final .= $synonymie;
156
            $retour_syno_final .= $synonymie;
157
        }
157
        }
158
        
158
        
159
        // Gestion des synonymes indéterminés
159
        // Gestion des synonymes indéterminés
160
        $aso_param['statut_id'] = 6;
160
        $aso_param['statut_id'] = 6;
161
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
161
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
162
        if (!empty($retour_syno)) {
162
        if (!empty($retour_syno)) {
163
            $synonymie = '<h3>'.'Synonymes indéterminés : '.'</h3>'."\n";
163
            $synonymie = '<h3>'.'Synonymes indéterminés : '.'</h3>'."\n";
164
            $synonymie .= '<ol>'."\n";
164
            $synonymie .= '<ol>'."\n";
165
            $synonymie .= $retour_syno;
165
            $synonymie .= $retour_syno;
166
            $synonymie .= '</ol>'."\n";
166
            $synonymie .= '</ol>'."\n";
167
            $retour_syno_final .= $synonymie;
167
            $retour_syno_final .= $synonymie;
168
        }
168
        }
169
        
169
        
170
        // Gestion des synonymes "inclu dans"
170
        // Gestion des synonymes "inclu dans"
171
        $aso_param['statut_id'] = 7;
171
        $aso_param['statut_id'] = 7;
172
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
172
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
173
        if (!empty($retour_syno)) {
173
        if (!empty($retour_syno)) {
174
            $synonymie = '<h3>'.'Synonymes "inclu dans": '.'</h3>'."\n";
174
            $synonymie = '<h3>'.'Synonymes "inclu dans": '.'</h3>'."\n";
175
            $synonymie .= '<ol>'."\n";
175
            $synonymie .= '<ol>'."\n";
176
            $synonymie .= $retour_syno;
176
            $synonymie .= $retour_syno;
177
            $synonymie .= '</ol>'."\n";
177
            $synonymie .= '</ol>'."\n";
178
            $retour_syno_final .= $synonymie;
178
            $retour_syno_final .= $synonymie;
179
        }
179
        }
180
        
180
        
181
        // Gestion des synonymes au sens de
181
        // Gestion des synonymes au sens de
182
        $aso_param['statut_id'] = 8;
182
        $aso_param['statut_id'] = 8;
183
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
183
        $retour_syno = $this->leBlock->afficherPattern('FICHE_SYNTHESE>TAXON_NOMS>NOM_LATIN','afficherSynonyme', $aso_param, TRUE);
184
        if (!empty($retour_syno)) {
184
        if (!empty($retour_syno)) {
185
            $synonymie = '<h3>'.'Synonymes "au sens de (<i>sensu</i>)": '.'</h3>'."\n";
185
            $synonymie = '<h3>'.'Synonymes "au sens de (<i>sensu</i>)": '.'</h3>'."\n";
186
            $synonymie .= '<ol>'."\n";
186
            $synonymie .= '<ol>'."\n";
187
            $synonymie .= $retour_syno;
187
            $synonymie .= $retour_syno;
188
            $synonymie .= '</ol>'."\n";
188
            $synonymie .= '</ol>'."\n";
189
            $retour_syno_final .= $synonymie;
189
            $retour_syno_final .= $synonymie;
190
        }
190
        }
191
        if (empty($retour_syno_final)) {
191
        if (empty($retour_syno_final)) {
192
            $retour .= '<h2>'.'Synonymie : '.'</h2>'."\n";
192
            $retour .= '<h2>'.'Synonymie : '.'</h2>'."\n";
193
            $retour .= '<p>'.'Aucune synonymie pour ce nom dans ce projet.'.'</p>'."\n";
193
            $retour .= '<p>'.'Aucune synonymie pour ce nom dans ce projet.'.'</p>'."\n";
194
        } else {
194
        } else {
195
            $retour .= '<h2>'.'Synonymie : '.'</h2>'."\n";
195
            $retour .= '<h2>'.'Synonymie : '.'</h2>'."\n";
196
            $retour .= $retour_syno_final;
196
            $retour .= $retour_syno_final;
197
        }
197
        }
198
        
198
        
199
        // Gestion des noms vernaculaires
199
        // Gestion des noms vernaculaires
200
        $nom_verna_lignes = $this->leBlock->afficherPattern('FICHE_SYNTHESE>VERNACULAIRE_NOMS','afficherNomVernaculaire');
200
        $nom_verna_lignes = $this->leBlock->afficherPattern('FICHE_SYNTHESE>VERNACULAIRE_NOMS','afficherNomVernaculaire');
201
        if (empty($nom_verna_lignes)) {
201
        if (empty($nom_verna_lignes)) {
202
            $retour .= '<h2>'.'Noms vernaculaires :'.'</h2>'."\n";
202
            $retour .= '<h2>'.'Noms vernaculaires :'.'</h2>'."\n";
203
            $retour .= '<p>'.'Aucun nom vernaculaire pour ce taxon dans ce projet.'.'</p>'."\n";
203
            $retour .= '<p>'.'Aucun nom vernaculaire pour ce taxon dans ce projet.'.'</p>'."\n";
204
        } else {
204
        } else {
205
            $retour .= '<h2>'.'Noms vernaculaires : '.'</h2>'."\n";
205
            $retour .= '<h2>'.'Noms vernaculaires : '.'</h2>'."\n";
206
            $retour .= '<table id="tableau_nom_verna">'."\n";
206
            $retour .= '<table id="tableau_nom_verna">'."\n";
207
            $retour .= '  <thead>'."\n";
207
            $retour .= '  <thead>'."\n";
208
            $retour .= '    <tr><th>'.'Langue'.'</th><th>'.'Pays'.'</th><th>'.'Nom'.'</th><th>'.'Emploi'.'</th><th>'.'Genre et nombre'.'</th></tr>'."\n";
208
            $retour .= '    <tr><th>'.'Langue'.'</th><th>'.'Pays'.'</th><th>'.'Nom'.'</th><th>'.'Emploi'.'</th><th>'.'Genre et nombre'.'</th></tr>'."\n";
209
            $retour .= '  </thead>'."\n";
209
            $retour .= '  </thead>'."\n";
210
            $retour .= '  <tbody>'."\n";
210
            $retour .= '  <tbody>'."\n";
211
            $retour .= $nom_verna_lignes;
211
            $retour .= $nom_verna_lignes;
212
            $retour .= '  </tbody>'."\n";
212
            $retour .= '  </tbody>'."\n";
213
            $retour .= '</table>'."\n";
213
            $retour .= '</table>'."\n";
214
        }
214
        }
215
        
215
        
216
        $retour .= '<!-- END corps -->'."\n";
216
        $retour .= '<!-- END corps -->'."\n";
217
        
217
        
218
        $retour .= '<!-- BEGIN pied -->'."\n";
218
        $retour .= '<!-- BEGIN pied -->'."\n";
219
        $retour .= '<p>'.'Si vous constatez des erreurs ou des insuffisances en consultant cet index, veuillez contacter '."\n";
219
        $retour .= '<p>'.'Si vous constatez des erreurs ou des insuffisances en consultant cet index, veuillez contacter '."\n";
220
        $retour .= '  <a href="mailto:eflore_remarques@tela-botanica.org">l\'équipe d\'eFlore</a>.'."\n";
220
        $retour .= '  <a href="mailto:eflore_remarques@tela-botanica.org">l\'équipe d\'eFlore</a>.'."\n";
221
        $retour .= '</p>'."\n";
221
        $retour .= '</p>'."\n";
222
        $retour .= '<p>'."\n";
222
        $retour .= '<p>'."\n";
223
        $retour .= '  <a href="http://jigsaw.w3.org/css-validator/check/referer">'."\n";
223
        $retour .= '  <a href="http://jigsaw.w3.org/css-validator/check/referer">'."\n";
224
        $retour .= '    <img class="reference" src="/accueil/images/references/css.png" alt="CSS valide!" />'."\n";
224
        $retour .= '    <img class="reference" src="/accueil/images/references/css.png" alt="CSS valide!" />'."\n";
225
        $retour .= '  </a>'."\n";
225
        $retour .= '  </a>'."\n";
226
        $retour .= '  <a href="http://validator.w3.org/check?uri=referer">'."\n";
226
        $retour .= '  <a href="http://validator.w3.org/check?uri=referer">'."\n";
227
        $retour .= '    <img class="reference" src="/accueil/images/references/xhtml11.png" alt="XHTML 1.1 valide!" />'."\n";
227
        $retour .= '    <img class="reference" src="/accueil/images/references/xhtml11.png" alt="XHTML 1.1 valide!" />'."\n";
228
        $retour .= '  </a>'."\n";
228
        $retour .= '  </a>'."\n";
229
        $retour .= '  <a href="http://frenchmozilla.org">'."\n";
229
        $retour .= '  <a href="http://frenchmozilla.org">'."\n";
230
        $retour .= '    <img class="reference" src="/accueil/images/references/firefox.png" alt="Télécharger un très bon navigateur!" />'."\n";
230
        $retour .= '    <img class="reference" src="/accueil/images/references/firefox.png" alt="Télécharger un très bon navigateur!" />'."\n";
231
        $retour .= '  </a>'."\n";
231
        $retour .= '  </a>'."\n";
232
        $retour .= '</p>'."\n";
232
        $retour .= '</p>'."\n";
233
        
233
        
234
        $retour .= '<!-- END pied -->'."\n";
234
        $retour .= '<!-- END pied -->'."\n";
235
        
235
        
236
        $retour .= '</body>'."\n";
236
        $retour .= '</body>'."\n";
237
        $retour .= '</html>'."\n";
237
        $retour .= '</html>'."\n";
238
        
238
        
239
        // Envoi au navigateur après décodage de l'utf8
239
        // Envoi au navigateur après encodage en entité des caractères posant problème
240
        echo remplaceEntiteHTLM($retour);
240
        echo remplaceEntiteHTLM($retour);
241
    }
241
    }
242
}
242
}
243
 
243
 
244
// +------------------------------------------------------------------------------------------------------+
244
// +------------------------------------------------------------------------------------------------------+
245
// |                                            LISTE des FONCTIONS                                       |
245
// |                                            LISTE des FONCTIONS                                       |
246
// +------------------------------------------------------------------------------------------------------+
246
// +------------------------------------------------------------------------------------------------------+
247
function construireNomLatin($donnees, $bool_nom_court = FALSE)
247
function construireNomLatin($donnees, $bool_nom_court = FALSE)
248
{
248
{
249
// Constitution du nom:
249
// Constitution du nom:
250
    $nom = '';
250
    $nom = '';
251
    
251
    
252
    if (!empty($donnees['en_nom_supra_generique'])) {
252
    if (!empty($donnees['en_nom_supra_generique'])) {
253
        $nom .= $donnees['en_nom_supra_generique'];
253
        $nom .= $donnees['en_nom_supra_generique'];
254
    } else if (!empty($donnees['en_epithete_infra_generique'])){
254
    } else if (!empty($donnees['en_epithete_infra_generique'])){
255
        $nom .= $donnees['en_epithete_infra_generique'];
255
        $nom .= $donnees['en_epithete_infra_generique'];
256
    } else {
256
    } else {
257
        if (!empty($donnees['en_nom_genre'])) {
257
        if (!empty($donnees['en_nom_genre'])) {
258
            $nom .= $donnees['en_nom_genre'];
258
            $nom .= $donnees['en_nom_genre'];
259
        }
259
        }
260
        if (!empty($donnees['en_epithete_espece'])) {
260
        if (!empty($donnees['en_epithete_espece'])) {
261
            $nom .= ' '.$donnees['en_epithete_espece'];
261
            $nom .= ' '.$donnees['en_epithete_espece'];
262
        }
262
        }
263
        if (!empty($donnees['en_epithete_infra_specifique'])) {
263
        if (!empty($donnees['en_epithete_infra_specifique'])) {
264
            if (!empty($donnees['enrg_abreviation_rang'])) {
264
            if (!empty($donnees['enrg_abreviation_rang'])) {
265
                $nom .= ' '.$donnees['enrg_abreviation_rang'].'';
265
                $nom .= ' '.$donnees['enrg_abreviation_rang'].'';
266
            }
266
            }
267
            $nom .= ' '.$donnees['en_epithete_infra_specifique'];
267
            $nom .= ' '.$donnees['en_epithete_infra_specifique'];
268
        }
268
        }
269
    }
269
    }
270
    if (!$bool_nom_court) {
270
    if (!$bool_nom_court) {
271
        $auteur_basio = '';
271
        $auteur_basio = '';
272
        $auteur_modif = '';
272
        $auteur_modif = '';
273
        if (!empty($donnees['intitule_abrege_auteur_basio_ex']) && $donnees['en_ce_auteur_basio_ex'] != 0) {
273
        if (!empty($donnees['intitule_abrege_auteur_basio_ex']) && $donnees['en_ce_auteur_basio_ex'] != 0) {
274
            $auteur_basio .= $donnees['intitule_abrege_auteur_basio_ex'];
274
            $auteur_basio .= $donnees['intitule_abrege_auteur_basio_ex'];
275
            if (!empty($donnees['intitule_abrege_auteur_basio'])) {
275
            if (!empty($donnees['intitule_abrege_auteur_basio'])) {
276
                $auteur_basio .= ' ex '.$donnees['intitule_abrege_auteur_basio'];
276
                $auteur_basio .= ' ex '.$donnees['intitule_abrege_auteur_basio'];
277
            }
277
            }
278
        } else if (!empty($donnees['intitule_abrege_auteur_basio']) && $donnees['en_ce_auteur_basio'] != 0) {
278
        } else if (!empty($donnees['intitule_abrege_auteur_basio']) && $donnees['en_ce_auteur_basio'] != 0) {
279
            
279
            
280
            $auteur_basio .= $donnees['intitule_abrege_auteur_basio'];
280
            $auteur_basio .= $donnees['intitule_abrege_auteur_basio'];
281
        }
281
        }
282
        if (!empty($donnees['intitule_abrege_auteur_modif_ex']) && $donnees['en_ce_auteur_modif_ex'] != 0) {
282
        if (!empty($donnees['intitule_abrege_auteur_modif_ex']) && $donnees['en_ce_auteur_modif_ex'] != 0) {
283
            $auteur_modif .= $donnees['intitule_abrege_auteur_modif_ex'];
283
            $auteur_modif .= $donnees['intitule_abrege_auteur_modif_ex'];
284
            if (!empty($donnees['intitule_abrege_auteur_modif'])) {
284
            if (!empty($donnees['intitule_abrege_auteur_modif'])) {
285
                $auteur_modif .= ' ex '.$donnees['intitule_abrege_auteur_modif'];
285
                $auteur_modif .= ' ex '.$donnees['intitule_abrege_auteur_modif'];
286
            }
286
            }
287
        } else if (!empty($donnees['intitule_abrege_auteur_modif']) && $donnees['en_ce_auteur_modif'] != 0) {
287
        } else if (!empty($donnees['intitule_abrege_auteur_modif']) && $donnees['en_ce_auteur_modif'] != 0) {
288
            $auteur_modif .= $donnees['intitule_abrege_auteur_modif'];
288
            $auteur_modif .= $donnees['intitule_abrege_auteur_modif'];
289
        }
289
        }
290
        if (!empty($auteur_modif)) {
290
        if (!empty($auteur_modif)) {
291
            $nom .= ' ('.$auteur_basio.') ex '.$auteur_modif;
291
            $nom .= ' ('.$auteur_basio.') ex '.$auteur_modif;
292
        } else {
292
        } else {
293
            $nom .= ' '.$auteur_basio;
293
            $nom .= ' '.$auteur_basio;
294
        }
294
        }
295
    }
295
    }
296
    
296
    
297
    return $nom;
297
    return $nom;
298
}
298
}
299
 
299
 
300
function afficherChampNom($donnees)
300
function afficherChampNom($donnees)
301
{
301
{
302
    $retour = '';
302
    $retour = '';
303
    $retour .= '<input type="hidden" id="nn" name="nn" value="'.$donnees['en_id_nom'].'" />'."\n";
303
    $retour .= '<input type="hidden" id="nn" name="nn" value="'.$donnees['en_id_nom'].'" />'."\n";
304
    $retour .= '<input type="hidden" id="cle" name="cle" value="synthese" />'."\n";
304
    $retour .= '<input type="hidden" id="cle" name="cle" value="synthese" />'."\n";
305
    return $retour;
305
    return $retour;
306
}
306
}
307
 
307
 
308
function afficherNomInfos($donnees)
308
function afficherNomInfos($donnees)
309
{
309
{
310
    $retour = '';
310
    $retour = '';
311
    //$retour .= '<pre>'.print_r($donnees, true).'</pre>';
311
    //$retour .= '<pre>'.print_r($donnees, true).'</pre>';
312
    $retour .= 'Numéro nomenclatural absolu : '.$donnees['en_id_nom']."\n";
312
    $retour .= 'Numéro nomenclatural absolu : '.$donnees['en_id_nom']."\n";
313
    $retour .= '<br />';
313
    $retour .= '<br />';
314
    $retour .= 'Nom sélectionné précédemment : '.construireNomLatin($donnees).'<br />'."\n";
314
    $retour .= 'Nom sélectionné précédemment : '.construireNomLatin($donnees).'<br />'."\n";
315
    return $retour;
315
    return $retour;
316
}
316
}
317
 
317
 
318
function afficherNomProjetVersion($donnees)
318
function afficherNomProjetVersion($donnees)
319
{
319
{
320
    $retour = '';
320
    $retour = '';
321
    $retour .= '<h2>'.'Nom correct dans le projet : '.$donnees['eprv_nom'].'</h2>'."\n";
321
    $retour .= '<h2>'.'Nom correct dans le projet : '.$donnees['eprv_nom'].'</h2>'."\n";
322
    return $retour;
322
    return $retour;
323
}
323
}
324
 
324
 
325
function afficherListeProjets($donnees)
325
function afficherListeProjets($donnees)
326
{
326
{
327
    $retour = '';
327
    $retour = '';
328
    //$retour .= '<pre>'.print_r($donnees, true).'</pre>';
328
    //$retour .= '<pre>'.print_r($donnees, true).'</pre>';
329
    if ($donnees['FICHE_SYNTHESE']['nvp'] == $donnees['NOM_SELECTION_PROJETS']['eprv_id_version']) {
329
    if ($donnees['FICHE_SYNTHESE']['nvp'] == $donnees['NOM_SELECTION_PROJETS']['eprv_id_version']) {
330
        $retour .= '  <option value="'.$donnees['NOM_SELECTION_PROJETS']['eprv_id_version'].'" selected="selected">';
330
        $retour .= '  <option value="'.$donnees['NOM_SELECTION_PROJETS']['eprv_id_version'].'" selected="selected">';
331
        $retour .= $donnees['NOM_SELECTION_PROJETS']['eprv_nom'].' - '.$donnees['NOM_SELECTION_PROJETS']['epr_intitule_projet'];
331
        $retour .= $donnees['NOM_SELECTION_PROJETS']['eprv_nom'].' - '.$donnees['NOM_SELECTION_PROJETS']['epr_intitule_projet'];
332
        $retour .= '</option>'."\n";
332
        $retour .= '</option>'."\n";
333
    } else {
333
    } else {
334
        $retour .= '  <option value="'.$donnees['NOM_SELECTION_PROJETS']['eprv_id_version'].'">';
334
        $retour .= '  <option value="'.$donnees['NOM_SELECTION_PROJETS']['eprv_id_version'].'">';
335
        $retour .= $donnees['NOM_SELECTION_PROJETS']['eprv_nom'].' - '.$donnees['NOM_SELECTION_PROJETS']['epr_intitule_projet'];
335
        $retour .= $donnees['NOM_SELECTION_PROJETS']['eprv_nom'].' - '.$donnees['NOM_SELECTION_PROJETS']['epr_intitule_projet'];
336
        $retour .= '</option>'."\n";
336
        $retour .= '</option>'."\n";
337
    }
337
    }
338
    return $retour;
338
    return $retour;
339
}
339
}
340
 
340
 
341
function afficherNomCorrect($donnees, $aso_param)
341
function afficherNomCorrect($donnees, $aso_param)
342
{
342
{
343
    $retour = '';
343
    $retour = '';
344
    //$retour .= '<pre>'.print_r($aso_param, true).'</pre>';
344
    //$retour .= '<pre>'.print_r($aso_param, true).'</pre>';
345
    if ($donnees['TAXON_NOMS']['esns_id_statut'] == $aso_param['statut_id']) {
345
    if ($donnees['TAXON_NOMS']['esns_id_statut'] == $aso_param['statut_id']) {
346
        $retour .= '<p><strong>'.$donnees['NOM_LATIN']['eni_intitule_nom'].'</strong></p>'."\n";
346
        $retour .= '<p><strong>'.$donnees['NOM_LATIN']['eni_intitule_nom'].'</strong></p>'."\n";
347
    }
347
    }
348
    return $retour;
348
    return $retour;
349
}
349
}
350
 
350
 
351
function afficherRechercheGoogle($donnees, $aso_param)
351
function afficherRechercheGoogle($donnees, $aso_param)
352
{
352
{
353
    $retour = '';
353
    $retour = '';
354
    //$retour .= '<pre>'.print_r($aso_param, true).'</pre>';
354
    //$retour .= '<pre>'.print_r($aso_param, true).'</pre>';
355
    if ($donnees['TAXON_NOMS']['esns_id_statut'] == $aso_param['statut_id']) {
355
    if ($donnees['TAXON_NOMS']['esns_id_statut'] == $aso_param['statut_id']) {
356
        $retour .= '<form method="get" action="http://images.google.fr/images">'."\n";
356
        $retour .= '<form method="get" action="http://images.google.fr/images">'."\n";
357
        $retour .= '<p>'."\n";
357
        $retour .= '<p>'."\n";
358
        $retour .= '<a href="http://www.google.com/" title="Aller sur Google France">'."\n";
358
        $retour .= '<a href="http://www.google.com/" title="Aller sur Google France">'."\n";
359
        $retour .= '    <img src="http://www.google.com/logos/Logo_25wht.gif" alt="Google" />'."\n";
359
        $retour .= '    <img src="http://www.google.com/logos/Logo_25wht.gif" alt="Google" />'."\n";
360
        $retour .= '</a>'."\n";
360
        $retour .= '</a>'."\n";
361
        $retour .= '<input type="text" name="q" size="25" maxlength="255" value="'.construireNomLatin($donnees['NOM_LATIN'], TRUE).'" />'."\n";
361
        $retour .= '<input type="text" name="q" size="25" maxlength="255" value="'.construireNomLatin($donnees['NOM_LATIN'], TRUE).'" />'."\n";
362
        $retour .= '<input type="hidden" name="ie" value="ISO-8859-1" />'."\n";
362
        $retour .= '<input type="hidden" name="ie" value="ISO-8859-1" />'."\n";
363
        $retour .= '<input type="hidden" name="oe" value="ISO-8859-1" />'."\n";
363
        $retour .= '<input type="hidden" name="oe" value="ISO-8859-1" />'."\n";
364
        $retour .= '<input type="hidden" name="hl" value="fr" />'."\n";
364
        $retour .= '<input type="hidden" name="hl" value="fr" />'."\n";
365
        $retour .= '<input type="submit" name="btnG" value="Recherche Google" />'."\n";
365
        $retour .= '<input type="submit" name="btnG" value="Recherche Google" />'."\n";
366
        $retour .= '</p>'."\n";
366
        $retour .= '</p>'."\n";
367
        $retour .= '</form>'."\n";
367
        $retour .= '</form>'."\n";
368
    }
368
    }
369
    return $retour;
369
    return $retour;
370
}
370
}
371
 
371
 
372
function afficherSynonyme($donnees, $aso_param)
372
function afficherSynonyme($donnees, $aso_param)
373
{
373
{
374
    $retour = '';
374
    $retour = '';
375
    //$retour .= '<pre>'.print_r($donnees, true).'</pre>';
375
    //$retour .= '<pre>'.print_r($donnees, true).'</pre>';
376
    if ($donnees['TAXON_NOMS']['esns_id_statut'] == $aso_param['statut_id']) {
376
    if ($donnees['TAXON_NOMS']['esns_id_statut'] == $aso_param['statut_id']) {
377
        $retour .= '  <li>'.$donnees['NOM_LATIN']['eni_intitule_nom'].'</li>'."\n";
377
        $retour .= '  <li>'.$donnees['NOM_LATIN']['eni_intitule_nom'].'</li>'."\n";
378
    }
378
    }
379
    return $retour;
379
    return $retour;
380
}
380
}
381
 
381
 
382
function afficherNomVernaculaire($donnees)
382
function afficherNomVernaculaire($donnees)
383
{
383
{
384
    $retour = '';
384
    $retour = '';
385
    $retour .= '    <tr>';
385
    $retour .= '    <tr>';
386
    $retour .= '<td title="'.$donnees['el_nom_langue_principal'].'">'.$donnees['el_code_langue'].'</td>';
386
    $retour .= '<td title="'.$donnees['el_nom_langue_principal'].'">'.$donnees['el_code_langue'].'</td>';
387
    $retour .= '<td title="'.$donnees['ezg_intitule_principal_zg'].'">'.$donnees['ezg_code_zg'].'</td>';
387
    $retour .= '<td title="'.$donnees['ezg_intitule_principal_zg'].'">'.$donnees['ezg_code_zg'].'</td>';
388
    if ($donnees['evce_id_emploi'] == 0) {// Non renseigné
388
    if ($donnees['evce_id_emploi'] == 0) {// Non renseigné
389
        $retour .= '<td>'.$donnees['ev_intitule_nom_vernaculaire'].'</td>';
389
        $retour .= '<td>'.$donnees['ev_intitule_nom_vernaculaire'].'</td>';
390
        $retour .= '<td>&nbsp;</td>';
390
        $retour .= '<td>&nbsp;</td>';
391
    } else if ($donnees['evce_id_emploi'] == 3) {// Recommandé ou typique
391
    } else if ($donnees['evce_id_emploi'] == 3) {// Recommandé ou typique
392
        $retour .= '<td><strong>'.$donnees['ev_intitule_nom_vernaculaire'].'</strong></td>';
392
        $retour .= '<td><strong>'.$donnees['ev_intitule_nom_vernaculaire'].'</strong></td>';
393
        $retour .= '<td><strong>'.$donnees['evce_intitule_conseil_emlploi'].'</strong></td>';
393
        $retour .= '<td><strong>'.$donnees['evce_intitule_conseil_emlploi'].'</strong></td>';
394
    } else if ($donnees['evce_id_emploi'] == 2) {// Secondaire ou régional
394
    } else if ($donnees['evce_id_emploi'] == 2) {// Secondaire ou régional
395
        $retour .= '<td><emphasis>'.$donnees['ev_intitule_nom_vernaculaire'].'</emphasis></td>';
395
        $retour .= '<td><emphasis>'.$donnees['ev_intitule_nom_vernaculaire'].'</emphasis></td>';
396
        $retour .= '<td><emphasis>'.$donnees['evce_intitule_conseil_emlploi'].'</emphasis></td>';
396
        $retour .= '<td><emphasis>'.$donnees['evce_intitule_conseil_emlploi'].'</emphasis></td>';
397
    } else {
397
    } else {
398
        $retour .= '<td>'.$donnees['ev_intitule_nom_vernaculaire'].'</td>';
398
        $retour .= '<td>'.$donnees['ev_intitule_nom_vernaculaire'].'</td>';
399
        $retour .= '<td>'.$donnees['evce_intitule_conseil_emlploi'].'</td>';
399
        $retour .= '<td>'.$donnees['evce_intitule_conseil_emlploi'].'</td>';
400
    }
400
    }
401
    if ($donnees['egn_id_genre_nombre'] == 0) {
401
    if ($donnees['egn_id_genre_nombre'] == 0) {
402
        $retour .= '<td>&nbsp;</td>';
402
        $retour .= '<td>&nbsp;</td>';
403
    } else {
403
    } else {
404
        $retour .= '<td>'.$donnees['egn_intitule'].'</td>';
404
        $retour .= '<td>'.$donnees['egn_intitule'].'</td>';
405
    }
405
    }
406
    $retour .= '</tr>'."\n";
406
    $retour .= '</tr>'."\n";
407
    return $retour;
407
    return $retour;
408
}
408
}
409
 
409
 
410
// +------------------------------------------------------------------------------------------------------+
410
// +------------------------------------------------------------------------------------------------------+
411
// |                                            PIED du PROGRAMME                                         |
411
// |                                            PIED du PROGRAMME                                         |
412
// +------------------------------------------------------------------------------------------------------+
412
// +------------------------------------------------------------------------------------------------------+
413
 
413
 
414
 
414
 
415
 
415
 
416
/* +--Fin du code ----------------------------------------------------------------------------------------+
416
/* +--Fin du code ----------------------------------------------------------------------------------------+
417
*
417
*
418
* $Log: not supported by cvs2svn $
418
* $Log: not supported by cvs2svn $
-
 
419
* Revision 1.5  2005/01/25 12:26:19  jpm
-
 
420
* Utilisation de mot clé pour le template à la place des urls.
-
 
421
*
419
* Revision 1.4  2005/01/24 16:53:25  jpm
422
* Revision 1.4  2005/01/24 16:53:25  jpm
420
* Modification des méthodes permettant la récupération des données de la hiérarchie.
423
* Modification des méthodes permettant la récupération des données de la hiérarchie.
421
*
424
*
422
* Revision 1.3  2005/01/19 12:58:19  jpm
425
* Revision 1.3  2005/01/19 12:58:19  jpm
423
* Début des tests pour gérer le formulaire de changement de projet.
426
* Début des tests pour gérer le formulaire de changement de projet.
424
*
427
*
425
*
428
*
426
* +-- Fin du code ----------------------------------------------------------------------------------------+
429
* +-- Fin du code ----------------------------------------------------------------------------------------+
427
*/
430
*/
428
?>
431
?>