Subversion Repositories Applications.papyrus

Rev

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

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