Subversion Repositories Applications.papyrus

Rev

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

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