Subversion Repositories eFlore/Archives.herbiers

Rev

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

Rev Author Line No. Line
2 jp_milcent 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 Herbier.                                                                        |
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
// +------------------------------------------------------------------------------------------------------+
6 jp_milcent 24
// CVS : $Id: herbier.php,v 1.3 2006-10-30 18:57:17 jp_milcent Exp $
2 jp_milcent 25
/**
26
* Application Herbier
27
*
28
* Cette application permet de consulter et d'administrer des collection botanique comprise dans le modèle
29
* d'Herbier.
30
* Ce fichier permet d'appeler les fichiers partagés par l'ensemble des applications d'Hebier.
31
* Il permet aussi d'appeler les fichiers de chaque application spécifique et de vérifier s'il y a besoin
32
* que l'utilisateur soit identifié ou pas.
33
* Il joue le role de controlleur.
34
*
35
*@package Herbier
36
//Auteur original :
37
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
38
//Autres auteurs :
39
*@author        Jean-Pascal MILCENT <jpm@clapas.org>
40
*@copyright     Tela-Botanica 2000-2005
6 jp_milcent 41
*@version       $Revision: 1.3 $ $Date: 2006-10-30 18:57:17 $
2 jp_milcent 42
// +------------------------------------------------------------------------------------------------------+
43
*/
44
 
45
// +------------------------------------------------------------------------------------------------------+
46
// |                                            ENTETE du PROGRAMME                                       |
47
// +------------------------------------------------------------------------------------------------------+
6 jp_milcent 48
// +------------------------------------------------------------------------------------------------------+
49
// Gestion du chemin de l'application et de son dossier de configuration
50
/** Constante "dynamique" stockant le chemin absolue de base de l'application recherche de plante.*/
51
define('HB_CHEMIN_APPLI', dirname(realpath(__FILE__)).GEN_SEP);
52
/** Constante "dynamique" stockant le chemin relatif de base de l'application recherche de plante.*/
53
define('HB_CHEMIN_APPLI_RELATIF', str_replace($_SERVER['DOCUMENT_ROOT'], '', HB_CHEMIN_APPLI));
54
/** Constante stockant le chemin vers le dossier configuration.*/
55
define('HB_CHEMIN_CONFIG', HB_CHEMIN_APPLI.'configuration'.GEN_SEP);
2 jp_milcent 56
/** Inclusion du fichier de configuration de la base de données de BiblioBota.*/
6 jp_milcent 57
require_once HB_CHEMIN_CONFIG.'hb_config_bdd.inc.php';
2 jp_milcent 58
/** Inclusion du fichier de configuration général de BiblioBota.*/
6 jp_milcent 59
require_once HB_CHEMIN_CONFIG.'hb_config.inc.php';
2 jp_milcent 60
 
61
/** Inclusion de l'API Débogage */
62
require_once HB_CHEMIN_API_DEBOGAGE.'BOG_sql.fonct.php';
63
/** Inclusion de la bibliothèque de fonctions communes aux applications de Herbier */
64
require_once HB_CHEMIN_BIBLIO.'hb_commun.fonct.php';
65
/** Inclusion de la classe PEAR d'abstraction de base de donnée. */
4 jp_milcent 66
require_once HB_CHEMIN_API_PEAR.'DB.php';
2 jp_milcent 67
/** Inclusion de la classe PEAR de gestion des URL. */
6 jp_milcent 68
require_once HB_CHEMIN_API_PEAR.'Net'.GEN_SEP.'URL.php';
2 jp_milcent 69
/** Inclusion du fichier de configuration des url de BiblioBota.*/
70
require_once HB_CHEMIN_CONFIG.'hb_config_url.inc.php';
71
 
72
/** Definition de la variable globale stokant la connexion à la base de données. */
73
$GLOBALS['_HERBIER_']['bdd'] =& DB::connect(HB_DSN);
74
if (DB::isError($GLOBALS['_HERBIER_']['bdd'])) {
75
    die (BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), null, $GLOBALS['_HERBIER_']['bdd']->getMessage()));
76
}
77
 
78
// Stockage des styles de l'application
79
GEN_stockerStyleExterne('herbier', HB_CHEMIN_STYLES.'herbier.css');
80
 
81
// Appel du fichier de traduction des textes de l'application Herbier
82
if (file_exists(HB_CHEMIN_LANGUES.'hb_langue_'.HB_I18N.'.inc.php')) {
83
    /** Inclusion du fichier de traduction de l'application Herbier. */
84
    include_once HB_CHEMIN_LANGUES.'hb_langue_'.HB_I18N.'.inc.php';
85
} else {
86
    /** Inclusion du fichier de traduction fr par défaut. */
87
    include_once HB_CHEMIN_LANGUES.'hb_langue_fr.inc.php';
88
}
89
 
90
// +------------------------------------------------------------------------------------------------------+
91
// |                                            CORPS du PROGRAMME                                        |
92
// +------------------------------------------------------------------------------------------------------+
93
/** Fonction afficherContenuNavigation() - Fonction appelé par le gestionnaire Papyrus.
94
*
95
* Elle retourne les onglets de l'application Herbier.
96
* Todo : Il serait nécessaire de revoir les arguments passés dans les liens. Il y a
97
* surement moyen de simplifier les choses.
98
*
99
* @return  string  du code XHTML correspondant à la zone d'onglets de l'application.
100
*/
101
function afficherContenuNavigation()
102
{
103
    $sortie = '';
104
    // Dans le cas où nous sommes passé en consultation avancée...
105
    $class_onglet_herbier = 'menu_inactif';
106
    $class_onglet_collection = 'menu_inactif';
107
    if (isset($_GET['consultation'])) {
108
        if ($_GET['consultation'] == 'herbier') {
109
            $class_onglet_herbier = 'menu_actif';
110
        } else if ($_GET['consultation'] == 'collection') {
111
            $class_onglet_collection = 'menu_actif';
112
        }
113
        $sortie .= '<ul class="onglets">'."\n";
114
        $sortie .= '<li class="'.$class_onglet_herbier.'" >'."\n";
115
        $sortie .= '    <a '.
116
                        'href="'.HB_URL_COURANTE_CONSULTATION_FICHE_HERBIER.'&amp;id_org='.$_GET['id_org'].'">'.
117
                        'Herbier'.
118
                        '</a> '."\n";
119
        $sortie .= '</li>'."\n";
120
        $sortie .= '<li class="'.$class_onglet_collection.'">'."\n";
121
        $sortie .= '    <a '.
122
                        'href="'.HB_URL_COURANTE_CONSULTATION_FICHE_COLECTION.'&amp;id_org='.$_GET['id_org'].'">'.
123
                        'Collection'.
124
                        '</a> '."\n";
125
        $sortie .= '</li>'."\n";
126
        $sortie .= '</ul>'."\n";
127
    }
128
    return $sortie;
129
}
130
/** Fonction afficherContenuNavigation() - Fonction appelé par le gestionnaire Papyrus.
131
*
132
* Elle retourne les onglets de l'application Herbier.
133
* Todo : Il serait nécessaire de revoir les arguments passés dans les liens. Il y a
134
* surement moyen de simplifier les choses.
135
*
136
* @return  string  du code XHTML correspondant à la zone d'onglets de l'application.
137
*/
138
function afficherContenuMenu()
139
{
4 jp_milcent 140
	// +------------------------------------------------------------------------------------------------------+
141
	// Initialisation de la	 base de données
142
	$bdd_id = mysql_connect(HB_BDD_SERVEUR, HB_BDD_UTILISATEUR, HB_BDD_MOT_DE_PASSE, true) or die("Impossible de se connecter à la base de données: " . mysql_error());
143
    mysql_select_db(HB_BDD_NOM, $bdd_id);
144
 
2 jp_milcent 145
    // +------------------------------------------------------------------------------------------------------+
146
    // Initialisation des variables
147
    $sortie = '';
148
    if (!defined('HB_ARGUMENT_AUTH') || HB_ARGUMENT_AUTH == 0 || (HB_ARGUMENT_AUTH == 1 && $GLOBALS['_HERBIER_']['auth']->getAuth())) {
149
        // Nous incluons l'application demandée :
150
        $chemin_application = HB_CHEMIN_APPLI.HB_ARGUMENT_APPLI.GEN_SEP.HB_ARGUMENT_APPLI.'.menu.php';
151
        if (file_exists($chemin_application)) {
152
            include_once $chemin_application;
153
        }
154
    }
4 jp_milcent 155
 
156
	// +------------------------------------------------------------------------------------------------------+
157
	// Fermeture de la	connection à la base de données
158
    mysql_close($bdd_id);
159
 
2 jp_milcent 160
    return $sortie;
161
}
162
/** Fonction afficherContenuTete() - Fonction appelé par le gestionnaire Papyrus.
163
*
164
* Elle retourne l'entête de l'application Herbier.
165
* Todo : Il serait nécessaire de revoir les arguments passés dans les liens. Il y a
166
* surement moyen de simplifier les choses.
167
*
168
* @return  string  du code XHTML correspondant à la zone d'entête de l'application.
169
*/
170
function afficherContenuTete()
171
{
172
    $sortie = '';
173
    if (isset($_GET['consultation'])) {
174
        $sortie .= '<p>'."\n";
175
        $sortie .= '    <a href="'.HB_URL_COURANTE.'">'.'Retour'.'</a>'."\n";
176
        $sortie .= '</p>'."\n";
177
    }
178
    return $sortie;
179
}
180
 
181
/** Fonction afficherContenuCorps() - Fonction appelé par le gestionnaire Papyrus.
182
*
183
* Elle retourne le contenu de l'application Herbier.
184
*
185
* @return  string  du code XHTML correspondant au contenu renvoyé par l'application.
186
*/
187
function afficherContenuCorps()
188
{
4 jp_milcent 189
 	// +------------------------------------------------------------------------------------------------------+
190
	// Initialisation de la	 base de données
191
	$bdd_id = mysql_connect(HB_BDD_SERVEUR, HB_BDD_UTILISATEUR, HB_BDD_MOT_DE_PASSE, true) or die("Impossible de se connecter à la base de données: " . mysql_error());
192
    mysql_select_db(HB_BDD_NOM, $bdd_id);
193
 
2 jp_milcent 194
    // +------------------------------------------------------------------------------------------------------+
195
    // Initialisation des variables
196
    $sortie = '';
197
    if (!defined('HB_ARGUMENT_AUTH') || HB_ARGUMENT_AUTH == 0 || (HB_ARGUMENT_AUTH == 1 && $GLOBALS['_HERBIER_']['auth']->getAuth())) {
198
        // Nous incluons l'application demandée :
199
        $chemin_application = HB_CHEMIN_APPLI.HB_ARGUMENT_APPLI.GEN_SEP.HB_ARGUMENT_APPLI.'.php';
200
        if (file_exists($chemin_application)) {
201
            include_once $chemin_application;
202
        } else {
203
            $sortie = '<p class="pap_erreur">'.'Application inexistantes!'.'</p>';
204
        }
205
    } elseif (HB_ARGUMENT_AUTH == 1) {
206
        return GEN_afficherInfoIdentification($GLOBALS['_HERBIER_']['url']->getURL());
207
    } else {
208
        $sortie =   '<p class="pap_erreur">'.
209
                    'ERREUR : problème!'.'<br />'.'LIGNE : '. __LINE__ .'<br />'.'FICHIER : '. __FILE__ .
210
                    '</p>';
211
    }
4 jp_milcent 212
 
213
	// +------------------------------------------------------------------------------------------------------+
214
	// Fermeture de la	connection à la base de données
215
    mysql_close($bdd_id);
216
 
2 jp_milcent 217
    return $sortie;
218
}
219
 
220
// +------------------------------------------------------------------------------------------------------+
221
// |                                            PIED du PROGRAMME                                         |
222
// +------------------------------------------------------------------------------------------------------+
223
 
224
 
225
/* +--Fin du code ----------------------------------------------------------------------------------------+
226
*
227
* $Log: not supported by cvs2svn $
6 jp_milcent 228
* Revision 1.2  2006/09/22 09:19:28  jp_milcent
229
* Utilisation de mysql_connect et mysql_select_db suite à disfonctionnement.
230
* Amélioration de la gestion des chemins des fichiers inclus.
231
*
4 jp_milcent 232
* Revision 1.1  2005/11/23 10:32:32  jp_milcent
233
* Ajout au dépot de l'application Herbiers.
234
* Elle doit à terme migrer dans eFlore.
235
*
2 jp_milcent 236
* Revision 1.3  2005/05/18 07:30:13  jpm
237
* Correction des bogues et derniers réglages avant mise en ligne du site v4.
238
*
239
* Revision 1.2  2005/04/06 13:35:04  jpm
240
* Modification vis à vis de l'application Administration.
241
*
242
* Revision 1.1  2005/03/08 14:17:19  jpm
243
* Ajout des fichiers principaux.
244
*
245
*
246
* +-- Fin du code ----------------------------------------------------------------------------------------+
247
*/
248
?>