Subversion Repositories Applications.papyrus

Rev

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

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