Subversion Repositories eFlore/Archives.eflore-consultation-v1

Rev

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

Rev Author Line No. Line
2 jpm 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2005 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This file is part of Integrateur eFlore.                                                             |
9
// |                                                                                                      |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
11
// | it under the terms of the GNU General Public License as published by                                 |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
13
// | (at your option) any later version.                                                                  |
14
// |                                                                                                      |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
18
// | GNU General Public License for more details.                                                         |
19
// |                                                                                                      |
20
// | You should have received a copy of the GNU General Public License                                    |
21
// | along with Foobar; if not, write to the Free Software                                                |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
23
// +------------------------------------------------------------------------------------------------------+
8 jpm 24
// CVS : $Id: eflore_ancien.php,v 1.2 2005-06-01 18:26:21 jpm Exp $
2 jpm 25
/**
26
* Moteur de recherche eFlore pour les Antilles et la Réunion
27
*
28
*@package eFlore
29
*@subpackage Ancien
30
//Auteur original :
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
32
//Autres auteurs :
33
*@author        Aucun
34
*@copyright     Tela-Botanica 2000-2005
8 jpm 35
*@version       $Revision: 1.2 $ $Date: 2005-06-01 18:26:21 $
2 jpm 36
// +------------------------------------------------------------------------------------------------------+
37
*/
38
 
39
// +------------------------------------------------------------------------------------------------------+
40
// |                                            ENTETE du PROGRAMME                                       |
41
// +------------------------------------------------------------------------------------------------------+
42
/** Inclusion du fichier de configuration général de l'application.*/
43
require_once 'client'.GEN_SEP.'eflore_ancien'.GEN_SEP.'configuration'.GEN_SEP.'eflore_config.inc.php';
44
/** Inclusion du fichier de configuration de la base de données de l'application.*/
45
require_once EF_PATH_CONFIG.'eflore_config_bdd.inc.php';
46
 
47
/** Inclusion de l'API Débogage */
48
require_once EF_PATH_API_BOG.'BOG_sql.fonct.php';
49
 
50
/** Inclusion du fichier permettant d'inclure les données dans du XHTML.*/
51
require_once EF_PATH_BIBLIO.'eflore_affichage_xhtml.fonct.php';
52
/** Inclusion du fichier permettant de réaliser les statistiques.*/
53
require_once EF_PATH_BIBLIO.'eflore_statistique.fonct.php';
54
 
55
/** Definition de la variable globale stokant la connexion à la base de données. */
56
$GLOBALS['db_ef'] = DB::connect(EF_DSN);
57
 
58
/** Inclusion du fichier de langue de l'application eflore. */
59
require_once EF_PATH_LANGUE.'eflore_langue_'.EF_LANGUE.'.inc.php';
60
 
8 jpm 61
// Ajout d'une feuille de style propre à eFlore.
62
GEN_stockerStyleExterne('eflore', EF_PATH_STYLE.'eflore.css');
63
 
64
// Stockage des scripts de l'application
65
GEN_stockerFichierScript('eflore', EF_PATH_SCRIPT.'eflore.js');
66
 
2 jpm 67
// +------------------------------------------------------------------------------------------------------+
68
// |                                            CORPS du PROGRAMME                                        |
69
// +------------------------------------------------------------------------------------------------------+
70
/** Fonction afficherContenuCorps() - Fonction appelé par le gestionnaire Papyrus.
71
*
72
* Elle retourne le contenu de l'application.
73
*
74
* @return  string  du code XHTML correspondant au contenu renvoyé par l'application.
75
*/
76
function afficherContenuCorps()
77
{
78
    global $servicexml, $xslt, $numnom, $numclass, $numtaxo, $alerte, $baseURL;
79
 
80
    $tab_champ = array();
81
    $res = '';
82
    $type_recherche = '';
83
    $envoyer_stat = '';
84
 
85
    if (isset($_POST['eflore_chercher'])) {
86
        $eflore_chercher = 'chercher';
87
    } else if (isset($_GET['eflore_chercher'])) {
88
        $eflore_chercher = 'chercher';
89
    }
90
 
91
    if (isset($_SESSION['radical']) ) {
92
        if (isset($_POST['radical'])) {
93
            if ($_SESSION['radical'] == $_POST['radical']) {
94
                $radical = $_SESSION['radical'];
95
            } else {
96
                $radical = $_POST['radical'];
97
                $_SESSION['radical'] = $radical;
98
            }
99
        } else if (isset($_GET['radical'])) {
100
            if ($_SESSION['radical'] == $_GET['radical']) {
101
                $radical = $_SESSION['radical'];
102
            } else {
103
                $radical = $_GET['radical'];
104
                $_SESSION['radical'] = $radical;
105
            }
106
        } else {
107
            $radical = $_SESSION['radical'];
108
        }
109
    } else if (!isset($_SESSION['radical']) ) {
110
        if (isset($_POST['radical'])) {
111
                $radical = $_POST['radical'];
112
                $_SESSION['radical'] = $radical;
113
        } else if (isset($_GET['radical'])) {
114
            $radical = $_GET['radical'];
115
            $_SESSION['radical'] = $radical;
116
        } else {
117
            $radical = '';
118
        }
119
    }
120
 
121
    if (isset($_SESSION['recherche']) ) {
122
        if (isset($_POST['recherche'])) {
123
            if ($_SESSION['recherche'] == $_POST['recherche']) {
124
                $recherche = $_SESSION['recherche'];
125
            } else {
126
                $recherche = $_POST['recherche'];
127
                $_SESSION['recherche'] = $recherche;
128
            }
129
        } else if (isset($_GET['recherche'])) {
130
            if ($_SESSION['recherche'] == $_GET['recherche']) {
131
                $recherche = $_SESSION['recherche'];
132
            } else {
133
                $recherche = $_GET['recherche'];
134
                $_SESSION['recherche'] = $recherche;
135
            }
136
        } else {
137
            $recherche = $_SESSION['recherche'];
138
        }
139
    } else if (!isset($_SESSION['recherche']) ) {
140
        if (isset($_POST['recherche'])) {
141
                $recherche = $_POST['recherche'];
142
                $_SESSION['recherche'] = $recherche;
143
        } else if (isset($_GET['recherche'])) {
144
            $recherche = $_GET['recherche'];
145
            $_SESSION['recherche'] = $recherche;
146
        } else {
147
            $recherche = '';
148
        }
149
    }
150
 
151
    if (isset($_SESSION['flore']) ) {
152
        if (isset($_POST['flore'])) {
153
            if ($_SESSION['flore'] == $_POST['flore']) {
154
                $flore = $_SESSION['flore'];
155
            } else {
156
                $flore = $_POST['flore'];
157
                $_SESSION['flore'] = $flore;
158
            }
159
        } else if (isset($_GET['flore'])) {
160
            if ($_SESSION['flore'] == $_GET['flore']) {
161
                $flore = $_SESSION['flore'];
162
            } else {
163
                $flore = $_GET['flore'];
164
                $_SESSION['flore'] = $flore;
165
            }
166
        } else {
167
            $flore = $_SESSION['flore'];
168
        }
169
    } else if (!isset($_SESSION['flore'])) {
170
        if (isset($_POST['flore'])) {
171
                $flore = $_POST['flore'];
172
                $_SESSION['flore'] = $flore;
173
        } else if (isset($_GET['flore'])) {
174
            $flore = $_GET['flore'];
175
            $_SESSION['flore'] = $flore;
176
        } else {
177
            $flore = '';
178
        }
179
    }
180
 
181
    $baseURL = $GLOBALS['_GEN_commun']['url']->getURL();
182
 
183
    //ATTENTION : Spécifique Papyrus:
184
    if ( $GLOBALS['_EF_ANCIEN_']['maintenance'] != 'false' ) {//On teste si on est entrain de maintenir l'application ou pas
185
        $date_fin_maintenance = $GLOBALS['_EF_ANCIEN_']['maintenance'];
186
        $res =  inclusion_html('debut_ligne_alerte').
187
                "L'index des plantes est en cours de maintenance jusqu'à ".
188
                "$date_fin_maintenance.<br /> Veuillez nous excusez pour ce désagrément.".
189
                inclusion_html('fin_ligne_alerte');
190
        return $res;
191
    }
192
 
193
    if ($GLOBALS['_EF_ANCIEN_']['statistique'] == 'true'){//On teste si on fait les stats ou pas
194
        //Attribution d'une valeur à la variable type de recherche pour les stats
195
        //en fonction du serviceXML
196
        if ($recherche == 'LATIN'){//dans le cas d'une recherche par nom scientifique
197
            $type_recherche = 'Nom scientifique';
198
        } elseif ($recherche == 'VERNA'){//dans le cas d'une recherche par nom vernaculaire
199
            $type_recherche = 'Nom vernaculaire';
200
        }
201
 
202
        //Ajout des valeurs standard au tableau contenant les champs spécifiques à la tables des données stat d'eflore
203
        $tab_champ['ESD_CHAINE_RECHERCHE'] = $radical;
204
        $tab_champ['ESD_TYPE_RECHERCHE'] = $type_recherche;
205
    }
206
    //ATTENTION : FIN Spécifique Papyrus.
207
 
208
    $ef_suite = false;
209
    if (isset($eflore_chercher) && !empty($recherche) && !empty($radical) && empty($numnom) && empty($numtaxo)) {
210
        $envoyer_stat = true;//active l'envoie des données stat
211
        if (eregi("^%{0,}[A-Za-zÀ-ÖØ-öø-ÿ]%{0,}[A-Za-zÀ-ÖØ-öø-ÿ]?%{0,}$", $radical) ) {
212
            $alerte = message_alerte("02");//alerte utilisation d'au moins 3 caractères alphabétiques
213
            // Ajout du champ résultat au tableau associatif contenant les champs spéficique à la table des données statistiques d'eflore
214
            $tab_champ['ESD_RESULTAT'] = 'moins de 3 caractères';
215
        } elseif (eregi("^%{1,}$", $radical) ) {
216
            $alerte = message_alerte('03');//alerte n'accepte pas seulement le symbole %
217
            // Ajout du champ résultat au tableau associatif contenant les champs spéficique à la table des données statistiques d'eflore
218
            $tab_champ['ESD_RESULTAT'] = 'seulement des %';
219
        } elseif (eregi("[&<>\"]{1,}", $radical) ) {
220
            $alerte = message_alerte('04');//alerte n'accepte pas le symbole "<> dans le radical
221
            // Ajout du champ résultat au tableau associatif contenant les champs spéficique à la table des données statistiques d'eflore
222
            $tab_champ['ESD_RESULTAT'] = 'symbole incorrect';
223
        } else {
224
            $ef_suite = true;
225
        }
226
    } elseif (!isset($eflore_chercher) && !empty($recherche) && empty($radical) && empty($numnom) && empty($numtaxo)) {
227
        $alerte = message_alerte('01');//alerte champ de saisie vide
228
        // Ajout du champ résultat au tableau associatif contenant les champs spéficique à la table des données statistiques d'eflore
229
        $tab_champ['ESD_RESULTAT'] = 'sans radical';
230
        // Active l'envoie des données stat
231
        $envoyer_stat = true;
232
        //Ok car $ef_suite par défaut à false
233
    } elseif (!isset($eflore_chercher) && empty($numnom) && empty($numtaxo)) {
234
        //Ok car $ef_suite par défaut à false
235
    } else {
236
        $ef_suite = true;
237
    }
238
 
239
    // Affichage
240
    if ($ef_suite == true) {
241
        include_once EF_PATH_ROOT.'eflore_transfo_xslt.inc.php';
242
    } else {
243
        // Affichage moteur de recherche
244
        $res .= inclusion_html('rechercher');
245
        $res .= inclusion_html('rechercher_aide');
246
    }
247
 
248
    // Statistique
249
    if ($envoyer_stat == true && $GLOBALS['_EF_ANCIEN_']['statistique'] == 'true'){//On teste si on fait les stats ou pas
250
        efloreDonneeStat($tab_champ);
251
    }
252
 
253
    return $res;
254
}
255
 
256
/** Fonction afficherContenuPied() - Fonction appelé par le gestionnaire Papyrus.
257
*
258
* Elle retourne le pied de l'application.
259
*
260
* @return  string  du code XHTML correspondant au pied renvoyé par l'application.
261
*/
262
function afficherContenuPied()
263
{
264
    return inclusion_html('pied_page');
265
}
266
 
267
// +------------------------------------------------------------------------------------------------------+
268
// |                                            PIED du PROGRAMME                                         |
269
// +------------------------------------------------------------------------------------------------------+
270
 
271
 
272
 
273
/* +--Fin du code ----------------------------------------------------------------------------------------+
274
*
275
* $Log: not supported by cvs2svn $
8 jpm 276
* Revision 1.1  2005/05/24 15:57:48  jpm
277
* Gestion de l'ancienne base.
278
*
2 jpm 279
* Revision 1.3  2005/05/19 15:22:46  jpm
280
* Ajout du remplacement des & par des &amp;
281
*
282
* Revision 1.2  2005/05/19 13:17:02  jpm
283
* Ajout d'une balise div pour encadre le contenu du wikini.
284
*
285
* Revision 1.1  2005/03/02 17:47:05  jpm
286
* Ajout des fichiers necessaires à l'intégrateur de wikini.
287
*
288
*
289
* +-- Fin du code ----------------------------------------------------------------------------------------+
290
*/
291
?>