Subversion Repositories Applications.papyrus

Rev

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

Rev Author Line No. Line
5 jpm 1
<?php
2
//vim: set expandtab tabstop=4 shiftwidth=4:
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2003 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// |                                                                                                      |
9
// | This library is free software; you can redistribute it and/or                                        |
10
// | modify it under the terms of the GNU Lesser General Public                                           |
11
// | License as published by the Free Software Foundation; either                                         |
12
// | version 2.1 of the License, or (at your option) any later version.                                   |
13
// |                                                                                                      |
14
// | This library is distributed in the hope that it will be useful,                                      |
15
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
16
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
17
// | Lesser General Public License for more details.                                                      |
18
// |                                                                                                      |
19
// | You should have received a copy of the GNU Lesser General Public                                     |
20
// | License along with this library; if not, write to the Free Software                                  |
21
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// |                                                                                                      |
23
// +------------------------------------------------------------------------------------------------------+
754 ddelon 24
// CVS : $Id: pap_initialise_info.inc.php,v 1.24 2006-03-02 10:49:49 ddelon Exp $
5 jpm 25
/**
26
*Initialisation de Papyrus : vérification et récupération de paramètres généraux.
27
*
28
* La page contient le code initialisant l'éxecution du rendu d'une page par Papyrus.
29
* Nous y trouvons la recherche des informations disponibles sur :
30
* - le site présent sur le serveur demandé,
31
* - l'identification,
32
* - la langue,
33
* - le menu,
34
* - la page
35
* - l'application
36
*
37
*@package Papyrus
38
//Auteur original :
286 jpm 39
*@author            Jean-Pascal MILCENT <jpm@tela-botanica.org>
5 jpm 40
//Autres auteurs :
41
*@author            Alexandre GRANIER <alex@tela-botanica.org>
286 jpm 42
*@author            Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
5 jpm 43
*@copyright         Tela-Botanica 2000-2004
754 ddelon 44
*@version           $Revision: 1.24 $ $Date: 2006-03-02 10:49:49 $
5 jpm 45
// +------------------------------------------------------------------------------------------------------+
46
*/
47
 
48
// +------------------------------------------------------------------------------------------------------+
49
// |                                            ENTÊTE du PROGRAMME                                       |
50
// +------------------------------------------------------------------------------------------------------+
331 jpm 51
/** Inclusion de l'objet PEAR servant à négocier le language avec le navigateur client. */
402 jpm 52
require_once PAP_CHEMIN_API_PEAR.'HTTP.php';
331 jpm 53
/** Inclusion de la classe PEAR gérant les URL : Utilisé pour l'url demandée par le client.*/
402 jpm 54
require_once PAP_CHEMIN_API_PEAR.'Net/URL.php';
331 jpm 55
/** Inclusion de la bibliothèque de fonctions servant à l'initialisation des variables globales de Papyrus. */
56
require_once GEN_CHEMIN_BIBLIO.'pap_initialisation.fonct.php';
57
/** Inclusion de la classe Papyrus gérant les URL : Utilisé pour l'url demandée par le client.*/
58
require_once GEN_CHEMIN_BIBLIO_CLASSE.'pap_url.class.php';
5 jpm 59
 
60
// +------------------------------------------------------------------------------------------------------+
61
// |                                            CORPS du PROGRAMME                                        |
62
// +------------------------------------------------------------------------------------------------------+
63
 
64
// +------------------------------------------------------------------------------------------------------+
754 ddelon 65
// Gestion des sites : disponibles sur le serveur courant.
120 jpm 66
// Liste des catégories de site à prendre en compte :
754 ddelon 67
// Pas de site, ni de menu dans l'URL, recherche du site par défaut
120 jpm 68
$site_liste_id = '102, 103';// 102 = site "principal" et 103 = site "externe"
69
if ( (! isset($_GET[GEN_URL_CLE_SITE]) || empty($_GET[GEN_URL_CLE_SITE])) && (! isset($_GET[GEN_URL_CLE_MENU]) || empty($_GET[GEN_URL_CLE_MENU])) ) {
70
    $requete =  'SELECT gen_site.*, GSR02.* '.
71
                'FROM gen_site, gen_site_relation AS GSR01, gen_site_relation AS GSR02 '.
72
                'WHERE GSR01.gsr_id_site_01 = GSR01.gsr_id_site_02 '.
73
                'AND GSR01.gsr_id_valeur = 101 '.// 101 = site défaut
74
                'AND GSR01.gsr_id_site_01 = gs_id_site '.
75
                'AND GSR02.gsr_id_site_01 = GSR02.gsr_id_site_02 '.
76
                'AND GSR02.gsr_id_valeur IN ('.$site_liste_id.') '.
77
                'AND GSR02.gsr_id_site_01 = gs_id_site';
754 ddelon 78
 
5 jpm 79
    $resultat = $db->query($requete);
80
    if (DB::isError($resultat)) {
81
        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
82
    }
754 ddelon 83
 
5 jpm 84
    // Aucun site trouvé
85
    if ($resultat->numRows() == 0) {
93 jpm 86
        // Appel à l'application Installateur si nécessaire
87
        /** <br> Inclusion du programme Installateur de Papyrus.
88
        * L'abscence de site oblige à relancer l'installation et le script sql qui regénèrera la base de données.*/
89
        include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php';
90
        $_GEN_commun['sortie'] = afficherContenuCorps();
91
        include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';
92
        // Fin du programme Papyrus.
93
        exit(0);
5 jpm 94
    }
95
    // Nous avons trouvé un site.
96
    $_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
97
    $resultat->free();
98
    if (GEN_URL_ID_TYPE_SITE == 'int') {
99
        $_GEN_commun['url_site'] = $_GEN_commun['info_site']->gs_code_num;
100
    } else {
101
        $_GEN_commun['url_site'] = $_GEN_commun['info_site']->gs_code_alpha;
102
    }
754 ddelon 103
 // Le code du menu est présent dans l'url mais pas celui du site
120 jpm 104
} else if ( (! isset($_GET[GEN_URL_CLE_SITE]) || empty($_GET[GEN_URL_CLE_SITE])) && (isset($_GET[GEN_URL_CLE_MENU]) || !empty($_GET[GEN_URL_CLE_MENU])) ) {
754 ddelon 105
    // Nous récupérons les infos du menu et du sites dans la variable globale de Papyrus.
120 jpm 106
    $_GEN_commun['url_menu'] = $_GET[GEN_URL_CLE_MENU];
107
    // Récupération des informations sur le menu demandé
108
    $requete =  'SELECT * '.
109
                'FROM gen_menu '.
157 jpm 110
                'WHERE ';
120 jpm 111
    $requete .= (GEN_URL_ID_TYPE_MENU == 'int')
112
        ? 'gm_code_num = '.$_GEN_commun['url_menu']
113
        : 'gm_code_alpha = "'.$_GEN_commun['url_menu'].'"';
436 ddelon 114
 
120 jpm 115
    $resultat = $db->query($requete);
116
    (DB::isError($resultat))
117
        ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
436 ddelon 118
       : '';
754 ddelon 119
 
120 jpm 120
    $_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
121
    $resultat->free();
157 jpm 122
    if ($_GEN_commun['info_menu']->gm_ce_site != 0) {
123
        // Récupération des infos du site
124
        $requete =  'SELECT * '.
125
                    'FROM gen_site, gen_site_relation '.
126
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
127
                    'AND gsr_id_valeur IN ('.$site_liste_id.') '.
128
                    'AND gsr_id_site_01 = gs_id_site '.
129
                    'AND gs_id_site = '. $_GEN_commun['info_menu']->gm_ce_site;
754 ddelon 130
 
157 jpm 131
        $resultat = $db->query($requete);
132
        (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
754 ddelon 133
 
157 jpm 134
        $_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
135
        $_GEN_commun['url_site'] = (GEN_URL_ID_TYPE_SITE == 'int')
136
            ? $_GEN_commun['info_site']->gs_code_num
137
            : $_GEN_commun['info_site']->gs_code_alpha;
138
        $resultat->free();
139
    } else {
140
        // Récupération des infos du site
141
        $requete =  'SELECT * '.
142
                    'FROM gen_site, gen_site_relation '.
143
                    'WHERE gsr_id_site_01 = gsr_id_site_02 '.
144
                    'AND gsr_id_valeur = 101 '.
145
                    'AND gsr_id_site_01 = gs_id_site ';
754 ddelon 146
 
157 jpm 147
        $resultat = $db->query($requete);
148
        (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
754 ddelon 149
 
157 jpm 150
        $_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
151
        $_GEN_commun['url_site'] = (GEN_URL_ID_TYPE_SITE == 'int')
152
            ? $_GEN_commun['info_site']->gs_code_num
153
            : $_GEN_commun['info_site']->gs_code_alpha;
154
        $resultat->free();
155
    }
5 jpm 156
} else {
157
    // Récupération de la valeur identifiant le site depuis l'url
158
    $_GEN_commun['url_site'] = $_GET[GEN_URL_CLE_SITE];
754 ddelon 159
 
5 jpm 160
    // Récupération des informations sur le site
161
    $requete =  'SELECT * '.
162
                'FROM gen_site, gen_site_relation '.
163
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
120 jpm 164
                'AND gsr_id_valeur IN ('.$site_liste_id.') '.
5 jpm 165
                'AND gsr_id_site_01 = gs_id_site '.
166
                'AND ';
167
    $requete .= (GEN_URL_ID_TYPE_SITE == 'int')
168
        ? 'gs_code_num = '.$_GEN_commun['url_site']
169
        : 'gs_code_alpha = "'.$_GEN_commun['url_site'].'"';
754 ddelon 170
 
5 jpm 171
    $resultat = $db->query($requete);
172
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
173
    $_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
174
    $resultat->free();
175
}
176
 
177
//Gestion de l'erreur aucun site trouvable.
178
if (! isset($_GEN_commun['info_site'])) {
93 jpm 179
    // Appel à l'application Installateur si nécessaire
180
    /** <br> Inclusion du programme Installateur de Papyrus.
181
    * L'abscence de site oblige à relancer l'installation et le script sql qui regénèrera la base de données.*/
182
    include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php';
183
    $_GEN_commun['sortie'] .= afficherContenuCorps();
184
    include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';
185
    // Fin du programme Papyrus.
186
    exit(0);
117 jpm 187
} else if ($_GEN_commun['info_site']->gsr_id_valeur == 103) {
188
    // Gestion de la redirection pour les sites "externes"
189
    header('Location:'.$_GEN_commun['info_site']->gs_url);
190
    exit(0);
5 jpm 191
}
192
 
193
// Recherche de la présence de la valeur d'i18n dans l'url
754 ddelon 194
if ( (isset($_GET[GEN_URL_CLE_I18N])) && (!empty($_GET[GEN_URL_CLE_I18N])) ) {
195
    $_GEN_commun['i18n'] = $_GET[GEN_URL_CLE_I18N];
5 jpm 196
} else {
754 ddelon 197
  $_GEN_commun['i18n'] = GEN_I18N_ID_DEFAUT;
5 jpm 198
}
199
 
754 ddelon 200
//print "hola";
201
//print $_GEN_commun['i18n'];
202
//print "hola";
203
 
5 jpm 204
// Nous récupérons des informations sur l'internationalisation
205
$requete =  'SELECT * '.
206
            'FROM gen_i18n '.
207
            'WHERE gi_id_i18n = "'.$_GEN_commun['i18n'].'"';
208
 
209
$resultat = $db->query($requete);
210
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
211
 
212
$_GEN_commun['info_i18n'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
213
$resultat->free();
214
 
443 ddelon 215
 
5 jpm 216
// Récupération des informations sur la langue
217
$requete =  'SELECT * '.
218
            'FROM gen_i18n_langue '.
219
            'WHERE gil_id_langue = "'.$_GEN_commun['info_i18n']->gi_ce_langue.'"';
220
$resultat = $db->query($requete);
221
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
222
 
223
$_GEN_commun['info_i18n_langue'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
224
$resultat->free();
225
 
226
// Récupération des informations sur le pays
227
$requete =  'SELECT * '.
228
            'FROM gen_i18n_pays '.
229
            'WHERE gip_id_pays = "'.$_GEN_commun['info_i18n']->gi_ce_pays.'"';
230
$resultat = $db->query($requete);
231
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
232
 
233
$_GEN_commun['info_i18n_pays'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
234
$resultat->free();
235
 
236
// +------------------------------------------------------------------------------------------------------+
237
// Gestion des menus
238
 
239
// Nous vérifions le cas où le code du menu est introuvable dans l'url.
240
if ( (! isset($_GET[GEN_URL_CLE_MENU])) || (empty($_GET[GEN_URL_CLE_MENU])) ) {
241
    // Recherche du premier menu du site courant:
242
    $requete =  'SELECT gen_menu.* '.
243
                'FROM gen_menu, gen_menu_relation '.
244
                'WHERE gm_ce_site = '.$_GEN_commun['info_site']->gs_id_site.' '.
245
                'AND gmr_id_menu_01 = gm_id_menu '.
246
                'AND gmr_id_menu_01 = gmr_id_menu_02 '.
247
                'AND gmr_id_valeur = 101 ';// 101 = menu par "defaut"
754 ddelon 248
 
5 jpm 249
    $resultat = $db->query($requete);
250
    (DB::isError($resultat))
251
        ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
252
        : '';
253
    // Nous avons trouvé un menu "défaut" pour le site courant.
254
    $_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
255
    $resultat->free();
754 ddelon 256
 
448 ddelon 257
    if (isset($_GEN_commun['url_menu'])) {
258
	    // Stockage du code du menu demandée dans la variable globale de Papyrus.
259
	    if (GEN_URL_ID_TYPE_MENU == 'int') {
260
	        $_GEN_commun['url_menu'] = $_GEN_commun['info_menu']->gm_code_num;
261
	    } else {
262
	        $_GEN_commun['url_menu'] = $_GEN_commun['info_menu']->gm_code_alpha;
263
	    }
5 jpm 264
    }
448 ddelon 265
}
266
 
267
else
268
if (! isset($_GET['url_menu']) && empty($_GEN_commun['url_menu'])) {
120 jpm 269
    // Le code du menu est présent dans l'url et il n'a pas encore été récupéré
270
    // Nous le récupérons dans la variable globale de Papyrus.
5 jpm 271
    $_GEN_commun['url_menu'] = $_GET[GEN_URL_CLE_MENU];
754 ddelon 272
 
5 jpm 273
    // Récupération des informations sur le menu demandé
274
    $requete = 'SELECT * '.
275
                'FROM gen_menu '.
157 jpm 276
                'WHERE ';
5 jpm 277
    $requete .= (GEN_URL_ID_TYPE_MENU == 'int')
278
        ? 'gm_code_num = '.$_GEN_commun['url_menu']
279
        : 'gm_code_alpha = "'.$_GEN_commun['url_menu'].'"';
754 ddelon 280
 
5 jpm 281
    $resultat = $db->query($requete);
282
    (DB::isError($resultat))
283
        ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
284
        : '';
754 ddelon 285
 
5 jpm 286
    $_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
287
    $resultat->free();
288
}
289
 
290
// +------------------------------------------------------------------------------------------------------+
291
// Gestion des traductions
292
 
293
// Si le résultat de la négociation de l'internationalisation donne une langue différente
294
//  de celle du site principal, nous récupérons les éventuelles valeurs traduite pour le site.
754 ddelon 295
 
5 jpm 296
if ($_GEN_commun['i18n'] != $_GEN_commun['info_site']->gs_ce_i18n) {
297
    // Récupération des informations sur la traduction du site
298
    $requete =  'SELECT * '.
299
                'FROM gen_site '.
300
                'WHERE gs_ce_i18n = "'.$_GEN_commun['i18n'].'" '.
301
                'AND gs_code_alpha = "'.$_GEN_commun['info_site']->gs_code_alpha.'"';
754 ddelon 302
 
5 jpm 303
    $resultat = $db->query($requete);
304
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
754 ddelon 305
 
306
    // Nous crééons l'entrée 'traduction_info_site' dans _GEN_commun que si nous avons bien trouvé une
5 jpm 307
    // traduction pour le site. Il faut donc tester l'existence de cette entrée avant de l'utiliser.
308
    if ($resultat->numRows() > 0) {
309
        $_GEN_commun['traduction_info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
310
    }
311
    $resultat->free();
312
}
313
 
314
// Si le résultat de la négociation de l'internationalisation donne une langue différente
315
//  de celle du menu, nous récupérons les éventuelles valeurs traduite pour le menu.
754 ddelon 316
 
448 ddelon 317
if ((isset($_GEN_commun['info_menu'])) && ($_GEN_commun['i18n'] != $_GEN_commun['info_menu']->gm_ce_i18n)) {
5 jpm 318
    // Récupération des informations sur la traduction du menu
319
    $requete =  'SELECT * '.
320
                'FROM gen_menu '.
321
                'WHERE gm_ce_i18n = "'.$_GEN_commun['i18n'].'" '.
322
                'AND gm_code_alpha = "'.$_GEN_commun['info_menu']->gm_code_alpha.'"';
754 ddelon 323
 
5 jpm 324
    $resultat = $db->query($requete);
325
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
754 ddelon 326
 
327
    // Nous crééons l'entrée 'traduction_info_menu' dans _GEN_commun que si nous avons bien trouvé une
5 jpm 328
    // traduction pour le menu. Il faut donc tester l'existence de cette entrée avant de l'utiliser.
329
    if ($resultat->numRows() > 0) {
330
        $_GEN_commun['traduction_info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
331
    }
332
    $resultat->free();
333
}
334
 
335
// +------------------------------------------------------------------------------------------------------+
336
// Gestion de l'application du menu demandé.
337
 
338
// Recherche de la première application liée
93 jpm 339
if (isset($_GEN_commun['info_menu']->gm_id_menu)) {
340
    $info_appli_menu = GEN_donnerIdPremiereApplicationLiee($_GEN_commun['info_menu']->gm_id_menu);
341
    if (is_array($info_appli_menu)) {
342
        $id_application = $info_appli_menu['gm_ce_application'];
343
        $id_menu_actif = $info_appli_menu['gm_id_menu'];
754 ddelon 344
 
93 jpm 345
        // Si le menu n'a pas d'application lié, on recalcule l'objet $_GEN_commun['info_menu']
346
        if ($id_menu_actif != $_GEN_commun['info_menu']->gm_id_menu) {
347
            $requete =  'SELECT gen_menu.* '.
348
                        'FROM gen_menu '.
349
                        'WHERE gm_id_menu = '.$id_menu_actif;
754 ddelon 350
 
93 jpm 351
            $resultat = $db->query($requete);
352
            (DB::isError($resultat))
353
                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
354
                : '';
355
            // Nous avons trouvé un menu "défaut" pour le site courant.
356
            $_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
357
            $resultat->free();
358
        }
754 ddelon 359
 
360
 
93 jpm 361
        // Recherche des informations sur l'application liée
362
        $requete_applicaton =   'SELECT * '.
363
                                'FROM gen_application '.
364
                                'WHERE gap_id_application = '.$id_application;
754 ddelon 365
 
93 jpm 366
        $resultat_applicaton = $db->query($requete_applicaton);
367
        (DB::isError($resultat_applicaton))
368
            ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_applicaton->getMessage(), $requete_applicaton))
369
            : '';
754 ddelon 370
 
93 jpm 371
        $_GEN_commun['info_application'] = $resultat_applicaton->fetchRow(DB_FETCHMODE_OBJECT) ;
372
        $resultat_applicaton->free();
112 jpm 373
    } else {
374
        // Gestion des erreurs sur la recherche de l'application liée.
273 jpm 375
        // Finalement il a été décidé de ne pas afficher cette information sous la forme d'erreur.
376
        //trigger_error('application du menu demandée introuvable', E_USER_NOTICE);
93 jpm 377
    }
16 alex 378
}
379
 
5 jpm 380
// +------------------------------------------------------------------------------------------------------+
381
// Gestion des arguments de l'application
382
 
93 jpm 383
if (isset($_GEN_commun['info_menu']->gm_application_arguments)) {
384
    $arguments = explode(' ', $_GEN_commun['info_menu']->gm_application_arguments);
754 ddelon 385
 
93 jpm 386
    // Initialisaton de la variable globale $GS_ARGUMENTS
387
    $_GEN_commun['info_application']->cache = false;
388
    $_GEN_commun['info_application']->cache_duree = 0;
754 ddelon 389
 
93 jpm 390
    for ($i = 0; $i < count($arguments); $i++) {
391
        $attr = explode('=', $arguments[$i]);
754 ddelon 392
 
93 jpm 393
        if ($attr[0] == 'cache_duree') {
394
            $_GEN_commun['info_application']->cache_duree = $attr[1];
395
            if ($_GEN_commun['info_application']->cache_duree > 0) {
396
                $_GEN_commun['info_application']->cache = true;
397
            }
398
        } else if ($attr[0] != '') {
399
            $_GEN_commun['info_application']->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
5 jpm 400
        }
401
    }
402
}
403
 
404
// +------------------------------------------------------------------------------------------------------+
405
// Gestion des applettes
406
 
407
$requete =  'SELECT * '.
408
            'FROM gen_application '.
409
            'WHERE gap_bool_applette = 1 ';
410
$resultat = $_GEN_commun['pear_db']->query($requete);
411
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
412
 
413
$_GEN_commun['info_applette'] = array();
414
$i = 0;
415
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
416
    $_GEN_commun['info_applette'][$i] = $ligne;
417
    $i++;
418
}
419
$resultat->free();
420
 
421
// +------------------------------------------------------------------------------------------------------+
422
// Gestion de l'objet URL
423
 
331 jpm 424
$_GEN_commun['url'] = & new Pap_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
5 jpm 425
 
93 jpm 426
if ( (isset($_GEN_commun['url_site'])) && (!empty($_GEN_commun['url_site'])) ) {
427
    $_GEN_commun['url']->addQueryString(GEN_URL_CLE_SITE, $_GEN_commun['url_site']);
428
}
429
 
430
if ( (isset($_GEN_commun['url_menu'])) && (!empty($_GEN_commun['url_menu'])) ) {
431
    $_GEN_commun['url']->addQueryString(GEN_URL_CLE_MENU, $_GEN_commun['url_menu']);
432
}
433
 
5 jpm 434
if ( (isset($_GET[GEN_URL_CLE_DATE])) && (!empty($_GET[GEN_URL_CLE_DATE])) ) {
435
    $_GEN_commun['url_date'] = $_GET[GEN_URL_CLE_DATE];
436
    $_GEN_commun['url']->addQueryString(GEN_URL_CLE_DATE, $_GEN_commun['url_date']);
437
}
438
 
439
if ( (isset($_GET[GEN_URL_CLE_FORMAT])) && (!empty($_GET[GEN_URL_CLE_FORMAT])) ) {
440
    $_GEN_commun['url_format'] = $_GET[GEN_URL_CLE_FORMAT];
331 jpm 441
    $_GEN_commun['url']->addQueryString(GEN_URL_CLE_FORMAT, $_GEN_commun['url_format']);
5 jpm 442
}
443
 
444
/* +--Fin du code ---------------------------------------------------------------------------------------+
445
* $Log: not supported by cvs2svn $
754 ddelon 446
* Revision 1.23.2.2  2005/12/20 14:40:24  ddelon
447
* Fusion Head vers Livraison
448
*
449
* Revision 1.23.2.1  2005/12/01 23:31:57  ddelon
450
* Merge Head vers multilinguisme
451
*
452
* Revision 1.23  2005/09/22 14:02:49  ddelon
453
* nettoyage annuaire et php5
454
*
448 ddelon 455
* Revision 1.22  2005/09/20 17:01:22  ddelon
456
* php5 et bugs divers
457
*
443 ddelon 458
* Revision 1.21  2005/08/31 17:34:52  ddelon
459
* Integrateur Wikini et administration des Wikini
460
*
436 ddelon 461
* Revision 1.20  2005/06/24 10:48:35  jpm
462
* Modification des chemins des fichiers pour fonctionnement avec API Pear locale.
463
*
402 jpm 464
* Revision 1.19  2005/04/14 13:52:37  jpm
465
* Utilisation de la classe Pap_URL.
466
*
331 jpm 467
* Revision 1.18  2005/02/28 11:20:42  jpm
468
* Modification des auteurs.
469
*
286 jpm 470
* Revision 1.17  2005/02/23 15:35:04  jpm
471
* L'erreur "pas d'application" a été supprimé une message dans le corps du texte fourni déjà cette information.
472
*
273 jpm 473
* Revision 1.16  2005/02/17 17:51:40  florian
474
* Correction bug monde sans menu ni appli
475
*
262 florian 476
* Revision 1.15  2004/12/06 12:12:28  jpm
477
* Début de gestion des auth multiples.
478
*
207 jpm 479
* Revision 1.14  2004/11/15 17:14:09  jpm
480
* Gestion des url avec seulement le code d'un menu.
481
*
157 jpm 482
* Revision 1.13  2004/11/03 17:14:38  jpm
483
* Gestion des sites externes.
484
*
120 jpm 485
* Revision 1.12  2004/10/26 18:42:21  jpm
486
* Gestion des sites externes.
487
*
117 jpm 488
* Revision 1.11  2004/10/25 16:28:47  jpm
489
* Ajout de nouvelles balises Papyrus, ajout vérification mise à jour de Papyrus, meilleure gestion des sessions...
490
*
112 jpm 491
* Revision 1.10  2004/10/22 17:23:59  jpm
492
* Début amélioration de la gestion des erreurs et de l'installation.
493
*
93 jpm 494
* Revision 1.9  2004/10/15 18:29:19  jpm
495
* Modif pour gérer l'appli installateur de Papyrus.
496
*
67 jpm 497
* Revision 1.8  2004/09/23 14:30:53  jpm
498
* Correction bogue sur les menus.
499
*
50 jpm 500
* Revision 1.7  2004/09/23 10:46:46  jpm
501
* Amélioration de la gestion du menu actif quand un menu n'a pas d'application liée.
502
*
47 jpm 503
* Revision 1.6  2004/09/10 16:38:34  jpm
504
* Ajout de l'initialisation d'une variable stockant les infos de débogage.
505
*
34 jpm 506
* Revision 1.5  2004/06/30 07:35:16  jpm
507
* Correction d'un bogue du à une mauvaise gestion de la résolution des conflits entre fichier CVS.
508
*
23 jpm 509
* Revision 1.4  2004/06/30 07:25:37  jpm
510
* Ajout d'un commentaire.
511
*
21 jpm 512
* Revision 1.3  2004/06/18 15:52:45  alex
513
* Actualisation de la variable $_GEN_commun['info_menu'] lorsque un menu n'a pas d'application lié
514
*
16 alex 515
* Revision 1.2  2004/06/17 07:03:01  jpm
516
* Correction d'un bogue concernant l'internationalisation par défaut quand la langue du navigateur ne correspond pas à celle du site.
517
*
13 jpm 518
* Revision 1.1  2004/06/16 08:13:20  jpm
519
* Changement de nom de Génésia en Papyrus.
520
* Changement de l'arborescence.
521
*
5 jpm 522
* Revision 1.24  2004/05/05 14:33:37  jpm
523
* Gestion de l'indication de langue dans l'url.
524
* Utile que si on veut forcer la langue.
525
*
526
* Revision 1.23  2004/05/05 10:42:35  jpm
527
* Amélioration de la gestion de l'internationalisation.
528
*
529
* Revision 1.22  2004/05/04 16:17:05  jpm
530
* Légère amélioration du code (libération de ressource).
531
 
532
 de ressource).
533
*
534
* Revision 1.21  2004/05/03 11:21:58  jpm
535
* Fin de la gestion des applettes et suppression de l'info_menu_hierarchie de _GEN_commun.
536
* Ajout de la récupération d'une info sur la hiérarchie.
537
* Surement à supprimer car inutile.
538
* Ajout de la récupération d'une info sur la hiérarchie.
539
* Surement à supprimer car inutile.
540
* Changement du modèle de la base de données.
541
* Revision 1.19  2004/04/28 12:04:31  jpm
542
* Changement du modèle de la base de données.
543
*
544
* Revision 1.18  2004/04/22 08:28:12  jpm
545
* Transformation de $GS_GLOBAL en $_GEN_commun.
546
*
547
* Revision 1.17  2004/04/09 16:43:32  jpm
548
* Suppression d'un blanc.
549
* Récupération de la création de l'objet URL.
550
* Revision 1.16  2004/04/09 16:20:11  jpm
551
* Récupération de la création de l'objet URL.
552
* Gestion des tables i18n.
553
* Utilisation de la classe Pear HTTP pour la négociation du langage à utiliser pour le site.
554
* Revision 1.15  2004/04/05 16:37:43  jpm
555
* Utilisation de la classe Pear HTTP pour la négociation du langage à utiliser pour le site.
556
* Déplacement dans le fichier gen_initialisation_pear.inc.php de la création des objets Pear Net_URL et Auth.
557
* Revision 1.14  2004/04/02 16:29:30  jpm
558
* Déplacement dans le fichier gen_initialisation_pear.inc.php de la création des objets Pear Net_URL et Auth.
559
*
560
* Revision 1.13  2004/04/01 11:27:13  jpm
561
* Ajout et modification de commentaires pour PhpDocumentor.
562
* Prise en compte du nouveau modèle de Génésia révision 1.9.
563
* Revision 1.12  2004/03/31 16:50:04  jpm
564
* Prise en compte du nouveau modèle de Papyrus révision 1.9.
565
* Déplacement des fonctions de gestion d'erreur dans la bibliotheque de l'application Installateur.
566
* Modification des commentaires vis à vis du nouveau modèle.
567
* Déplacement des fonctions de gestion d'erreur dans la bibliotheque de l'application Installateur.
568
* Suppression de l'attribution d'une configuration par défaut.
569
* Changement et simplification des noms des variables globales.
570
* Traduction en français de certaines variables et partie de code.
571
* Remplacement de variable par des constante provenant du fichier de configuration.
572
* Traduction en français de certaines variables et partie de code.
573
* Mise en forme requête sql.
574
* Revision 1.10  2004/03/24 07:20:03  jpm
575
* Mise en forme requête sql.
576
* Ajout de commentaire dans l'entête.
577
* Mise en conformité avec la convention de codage.
578
* Ajout de commentaire dans l'entête.
579
* Mise en conformité avec la convention de codage.
580
*
581
* Revision 1.8  2004/03/23 16:31:54  jpm
582
* Ajout du code provenant de gen_noyau.inc.php.
583
* Ajout, formatage et traduction des commentaires.
584
*
585
* Amélioration de la conformité avec la convention de codage.
586
* Changement requête sql pour le nouveau modèle de Génésia.
587
* Amélioration de la conformité avec la convention de codage.
588
* Changement requête sql pour le nouveau modèle de Papyrus.
589
*
590
* Correction des requêtes sql pour mise en conformité avec le nouveau modèle de Génésia et la convention de codage.
591
* Ajout de commentaires et mise en forme.
592
* Correction des requêtes sql pour mise en conformité avec le nouveau modèle de Papyrus et la convention de codage.
593
*
594
* Revision 1.5  2003/12/16 16:57:59  alex
595
* mise à jour pour compatibilité avec genesia
596
* Ajout de commentaires et début de mise en conformité
597
* Revision 1.4  2003/11/24 16:05:02  jpm
598
* Ajout de commentaires et début de mise en conformité
599
* avec la convention de codage.
600
*
601
*
602
* +--Fin du code ----------------------------------------------------------------------------------------+
603
*/
604
?>