5 |
jpm |
1 |
<?php
|
|
|
2 |
/*vim: set expandtab tabstop=4 shiftwidth=4: */
|
|
|
3 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
4 |
// | PHP version 4.1 |
|
|
|
5 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
6 |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
|
|
|
7 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
8 |
// | This library is free software; you can redistribute it and/or |
|
|
|
9 |
// | modify it under the terms of the GNU Lesser General Public |
|
|
|
10 |
// | License as published by the Free Software Foundation; either |
|
|
|
11 |
// | version 2.1 of the License, or (at your option) any later version. |
|
|
|
12 |
// | |
|
|
|
13 |
// | This library is distributed in the hope that it will be useful, |
|
|
|
14 |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
|
15 |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
|
|
16 |
// | Lesser General Public License for more details. |
|
|
|
17 |
// | |
|
|
|
18 |
// | You should have received a copy of the GNU Lesser General Public |
|
|
|
19 |
// | License along with this library; if not, write to the Free Software |
|
|
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
|
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
352 |
jpm |
22 |
// CVS : $Id: pap_rendu.inc.php,v 1.13 2005-04-21 16:46:39 jpm Exp $
|
5 |
jpm |
23 |
/**
|
|
|
24 |
* Rendu : programme traitant l'url demandée et retournant la page compressé au navigateur.
|
|
|
25 |
*
|
|
|
26 |
* Ce programme contient la partie collectant les informations sur la page demandée par le navigateur client.
|
|
|
27 |
* Elle vérifie que la page ne soit pas déjà présente en cache et la renvoie si elle est disponible.
|
|
|
28 |
* Elle recherche ensuite l'application liée à la page demandée. Elle exécute cette application et récupère le
|
|
|
29 |
* contenu XHTML à afficher, le stocke en cache, le compresse et le renvoi au navigateur client.
|
|
|
30 |
*
|
|
|
31 |
*@package Papyrus
|
|
|
32 |
//Auteur original :
|
286 |
jpm |
33 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
5 |
jpm |
34 |
//Autres auteurs :
|
|
|
35 |
*@author Alexandre GRANIER <alexadandre@tela-botanica.org>
|
286 |
jpm |
36 |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
|
5 |
jpm |
37 |
*@copyright Tela-Botanica 2000-2004
|
352 |
jpm |
38 |
*@version $Revision: 1.13 $ $Date: 2005-04-21 16:46:39 $
|
5 |
jpm |
39 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
40 |
*/
|
|
|
41 |
|
|
|
42 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
43 |
// | ENTÊTE du PROGRAMME |
|
|
|
44 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
45 |
|
352 |
jpm |
46 |
/** Inclusion de la bibliothèque de fonctions servant à l'insertion de meta informations pour une page donnée.*/
|
14 |
jpm |
47 |
include_once GEN_CHEMIN_BIBLIO.'pap_meta.fonct.php';
|
5 |
jpm |
48 |
|
352 |
jpm |
49 |
/** Inclusion de la bibliothèque de fonctions servant à l'insertion de styles pour une page donnée.*/
|
14 |
jpm |
50 |
include_once GEN_CHEMIN_BIBLIO.'pap_style.fonct.php';
|
5 |
jpm |
51 |
|
352 |
jpm |
52 |
/** Inclusion de la bibliothèque de fonctions servant à l'insertion de scripts pour une page donnée.*/
|
14 |
jpm |
53 |
include_once GEN_CHEMIN_BIBLIO.'pap_script.fonct.php';
|
5 |
jpm |
54 |
|
352 |
jpm |
55 |
/** Inclusion de la bibliothèque PEAR Text_Wiki.*/
|
|
|
56 |
include_once PAP_CHEMIN_API_PEAR.'Text/Wiki.php';
|
|
|
57 |
|
|
|
58 |
/** Inclusion de la bibliothèque Text_Wiki_Papyrus.*/
|
|
|
59 |
include_once GEN_CHEMIN_API.'text/wiki_papyrus/Papyrus.class.php';
|
|
|
60 |
|
5 |
jpm |
61 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
62 |
// | CORPS du PROGRAMME |
|
|
|
63 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
64 |
|
|
|
65 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
66 |
// Recherche du squelette de la page demandée.
|
|
|
67 |
|
|
|
68 |
// Ouverture du squelette
|
290 |
jpm |
69 |
if (empty($GLOBALS['_GEN_commun']['info_menu']->gm_fichier_squelette)) {
|
|
|
70 |
if (isset($GLOBALS['_GEN_commun']['traduction_info_site'])) {
|
|
|
71 |
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $GLOBALS['_GEN_commun']['traduction_info_site']->gs_fichier_squelette;
|
5 |
jpm |
72 |
} else {
|
290 |
jpm |
73 |
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $GLOBALS['_GEN_commun']['info_site']->gs_fichier_squelette;
|
5 |
jpm |
74 |
}
|
|
|
75 |
} else {
|
290 |
jpm |
76 |
if (isset($GLOBALS['_GEN_commun']['traduction_info_menu'])) {
|
|
|
77 |
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $GLOBALS['_GEN_commun']['traduction_info_menu']->gs_fichier_squelette;
|
5 |
jpm |
78 |
} else {
|
290 |
jpm |
79 |
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $GLOBALS['_GEN_commun']['info_menu']->gm_fichier_squelette;
|
5 |
jpm |
80 |
}
|
|
|
81 |
}
|
|
|
82 |
// Si l'information concernant le chemin est réellement un chemin
|
169 |
jpm |
83 |
if (! file_exists($GLOBALS['_PAPYRUS_']['general']['chemin_squelette'])) {
|
5 |
jpm |
84 |
//Si ce n'est qu'un nom de fichier squelette
|
169 |
jpm |
85 |
$GLOBALS['_PAPYRUS_']['general']['chemin_test'] = GEN_CHEMIN_SITES.
|
290 |
jpm |
86 |
$GLOBALS['_GEN_commun']['info_site']->gs_code_alpha.'/'.
|
|
|
87 |
$GLOBALS['_GEN_commun']['i18n'].'/'.GEN_DOSSIER_SQUELETTE.'/'.$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'];
|
169 |
jpm |
88 |
if (! file_exists($GLOBALS['_PAPYRUS_']['general']['chemin_test'])) {
|
|
|
89 |
die('ERREUR Papyrus : Impossible de trouver de fichier de squelette. <br />'.
|
|
|
90 |
'Chemin fichier squelette : '.$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'].' <br />'.
|
5 |
jpm |
91 |
'Ligne n° : '. __LINE__ .'<br />'.
|
|
|
92 |
'Fichier : '. __FILE__ );
|
|
|
93 |
} else {
|
169 |
jpm |
94 |
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $GLOBALS['_PAPYRUS_']['general']['chemin_test'];
|
5 |
jpm |
95 |
}
|
|
|
96 |
}
|
|
|
97 |
|
|
|
98 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
99 |
// Récupération du contenu du fichier de squelette de la page demandée.
|
159 |
jpm |
100 |
/*
|
5 |
jpm |
101 |
// Lecture du fichier de squelette XHTML en PHP 4.1.2
|
|
|
102 |
$tab_fichier_squelette = file($chemin_squelette);
|
|
|
103 |
$contenu_squelette = '';
|
|
|
104 |
for ($i = 0; $i < count($tab_fichier_squelette); $i++) {
|
|
|
105 |
$contenu_squelette .= $tab_fichier_squelette[$i];
|
|
|
106 |
}
|
159 |
jpm |
107 |
*/
|
5 |
jpm |
108 |
// Lecture du fichier de squelette XHTML en PHP 4.3
|
169 |
jpm |
109 |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] = file_get_contents($GLOBALS['_PAPYRUS_']['general']['chemin_squelette']);
|
5 |
jpm |
110 |
|
159 |
jpm |
111 |
|
5 |
jpm |
112 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
113 |
// Recherche des informations pour la complétion de l'entête du squelette de la page demandée.
|
|
|
114 |
|
|
|
115 |
// Construction du titre.
|
290 |
jpm |
116 |
if (! empty($GLOBALS['_GEN_commun']['info_menu']->gm_titre)) {
|
|
|
117 |
$GLOBALS['_PAPYRUS_']['page']['titre'] = htmlentities($GLOBALS['_GEN_commun']['info_menu']->gm_titre);
|
|
|
118 |
} else if (! empty($GLOBALS['_GEN_commun']['info_menu']->gm_titre_alternatif)) {
|
|
|
119 |
$GLOBALS['_PAPYRUS_']['page']['titre'] = htmlentities($GLOBALS['_GEN_commun']['info_menu']->gm_titre_alternatif);
|
5 |
jpm |
120 |
} else {
|
290 |
jpm |
121 |
$GLOBALS['_PAPYRUS_']['page']['titre'] = htmlentities($GLOBALS['_GEN_commun']['info_menu']->gm_nom);
|
5 |
jpm |
122 |
}
|
169 |
jpm |
123 |
$GLOBALS['_PAPYRUS_']['rendu']['TITRE_PAGE'] = $GLOBALS['_PAPYRUS_']['page']['titre'];
|
5 |
jpm |
124 |
|
112 |
jpm |
125 |
// Construction des infos sur le site
|
290 |
jpm |
126 |
$GLOBALS['_PAPYRUS_']['page']['nom_site'] = htmlentities($GLOBALS['_GEN_commun']['info_site']->gs_nom);
|
169 |
jpm |
127 |
$GLOBALS['_PAPYRUS_']['rendu']['SITE_NOM'] = $GLOBALS['_PAPYRUS_']['page']['nom_site'];
|
290 |
jpm |
128 |
$GLOBALS['_PAPYRUS_']['page']['langue_site'] = htmlentities($GLOBALS['_GEN_commun']['i18n']);
|
169 |
jpm |
129 |
$GLOBALS['_PAPYRUS_']['rendu']['SITE_LANGUE'] = $GLOBALS['_PAPYRUS_']['page']['langue_site'];
|
290 |
jpm |
130 |
$GLOBALS['_PAPYRUS_']['page']['code_alpha_site'] = htmlentities($GLOBALS['_GEN_commun']['info_site']->gs_code_alpha);
|
169 |
jpm |
131 |
$GLOBALS['_PAPYRUS_']['rendu']['SITE_CODE_ALPHA'] = $GLOBALS['_PAPYRUS_']['page']['code_alpha_site'];
|
5 |
jpm |
132 |
|
|
|
133 |
// Construction des Meta "http-equiv".
|
|
|
134 |
$_GEN_commun['meta_http_equiv'] = array();
|
169 |
jpm |
135 |
$GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres'] = htmlentities($_GEN_commun['info_i18n']->gi_jeu_de_caracteres);
|
|
|
136 |
$GLOBALS['_PAPYRUS_']['rendu']['SITE_JEU_DE_CARACTERES'] = $GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres'];
|
|
|
137 |
$GLOBALS['_PAPYRUS_']['page']['langue'] = htmlentities($_GEN_commun['info_i18n_langue']->gil_id_langue);
|
|
|
138 |
$GLOBALS['_PAPYRUS_']['rendu']['SITE_LANGUE'] = $GLOBALS['_PAPYRUS_']['page']['langue'];
|
|
|
139 |
GEN_stockerMetaHttpEquiv('Content-Type', 'text/html; charset='.$GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres']);
|
5 |
jpm |
140 |
GEN_stockerMetaHttpEquiv('Content-style-type', 'text/css');
|
|
|
141 |
GEN_stockerMetaHttpEquiv('Content-script-type', 'text/javascript');
|
169 |
jpm |
142 |
GEN_stockerMetaHttpEquiv('Content-language', $GLOBALS['_PAPYRUS_']['page']['langue']);
|
5 |
jpm |
143 |
|
|
|
144 |
// Construction des Meta "name".
|
|
|
145 |
$_GEN_commun['meta_name'] = array();
|
169 |
jpm |
146 |
$GLOBALS['_PAPYRUS_']['page']['robot'] = htmlentities($_GEN_commun['info_menu']->gm_robot);
|
|
|
147 |
$GLOBALS['_PAPYRUS_']['page']['auteur'] = htmlentities($_GEN_commun['info_menu']->gm_auteur);
|
252 |
jpm |
148 |
if (empty($GLOBALS['_PAPYRUS_']['page']['auteur'])) {
|
169 |
jpm |
149 |
$GLOBALS['_PAPYRUS_']['page']['auteur'] = htmlentities($_GEN_commun['info_site']->gs_auteur);
|
5 |
jpm |
150 |
}
|
169 |
jpm |
151 |
$GLOBALS['_PAPYRUS_']['page']['mots_cles'] = htmlentities($_GEN_commun['info_menu']->gm_mots_cles);
|
|
|
152 |
if (empty($GLOBALS['_PAPYRUS_']['page']['mots_cles'])) {
|
252 |
jpm |
153 |
$GLOBALS['_PAPYRUS_']['page']['mots_cles'] = htmlentities($_GEN_commun['info_site']->gs_mots_cles);
|
5 |
jpm |
154 |
}
|
169 |
jpm |
155 |
$GLOBALS['_PAPYRUS_']['page']['description_libre'] = htmlentities($_GEN_commun['info_menu']->gm_description_libre);
|
252 |
jpm |
156 |
if (empty($GLOBALS['_PAPYRUS_']['page']['description_libre'])) {
|
169 |
jpm |
157 |
$GLOBALS['_PAPYRUS_']['page']['description_libre'] = htmlentities($_GEN_commun['info_site']->gs_description);
|
5 |
jpm |
158 |
}
|
|
|
159 |
GEN_stockerMetaName('revisit-after', '15 days');
|
169 |
jpm |
160 |
GEN_stockerMetaName('robots', $GLOBALS['_PAPYRUS_']['page']['robot']);
|
|
|
161 |
GEN_stockerMetaName('author', $GLOBALS['_PAPYRUS_']['page']['auteur']);
|
|
|
162 |
GEN_stockerMetaName('keywords', $GLOBALS['_PAPYRUS_']['page']['mots_cles']);
|
|
|
163 |
GEN_stockerMetaName('description', $GLOBALS['_PAPYRUS_']['page']['description_libre']);
|
5 |
jpm |
164 |
|
|
|
165 |
// Construction des Meta Meta "name" du Dublin Core.
|
169 |
jpm |
166 |
$GLOBALS['_PAPYRUS_']['page']['titre_alternatif'] = htmlentities($_GEN_commun['info_menu']->gm_titre_alternatif);
|
|
|
167 |
$GLOBALS['_PAPYRUS_']['page']['auteur'] = htmlentities($_GEN_commun['info_menu']->gm_auteur);
|
|
|
168 |
$GLOBALS['_PAPYRUS_']['page']['description_resume'] = htmlentities($_GEN_commun['info_menu']->gm_description_resume);
|
|
|
169 |
$GLOBALS['_PAPYRUS_']['page']['description_table_matieres'] = htmlentities($_GEN_commun['info_menu']->gm_description_table_matieres);
|
|
|
170 |
$GLOBALS['_PAPYRUS_']['page']['publieur'] = htmlentities($_GEN_commun['info_menu']->gm_editeur);
|
|
|
171 |
$GLOBALS['_PAPYRUS_']['page']['contributeur'] = htmlentities($_GEN_commun['info_menu']->gm_contributeur);
|
|
|
172 |
$GLOBALS['_PAPYRUS_']['page']['date_creation'] = htmlentities($_GEN_commun['info_menu']->gm_date_creation);
|
|
|
173 |
$GLOBALS['_PAPYRUS_']['page']['date_soumission'] = htmlentities($_GEN_commun['info_menu']->gm_date_soumission);
|
|
|
174 |
$GLOBALS['_PAPYRUS_']['page']['date_acceptation'] = htmlentities($_GEN_commun['info_menu']->gm_date_acceptation);
|
|
|
175 |
$GLOBALS['_PAPYRUS_']['page']['periode_validite'] = htmlentities($_GEN_commun['info_menu']->gm_date_debut_validite);
|
|
|
176 |
$GLOBALS['_PAPYRUS_']['page']['date_copyright'] = htmlentities($_GEN_commun['info_menu']->gm_date_copyright);
|
|
|
177 |
$GLOBALS['_PAPYRUS_']['page']['source'] = htmlentities($_GEN_commun['info_menu']->gm_source);
|
213 |
jpm |
178 |
if ($_GEN_commun['info_i18n_pays']->gip_id_pays != '') {
|
|
|
179 |
$GLOBALS['_PAPYRUS_']['page']['langue_rfc_3066'] = $GLOBALS['_PAPYRUS_']['page']['langue'].'-'.htmlentities($_GEN_commun['info_i18n_pays']->gip_id_pays);
|
|
|
180 |
} else {
|
|
|
181 |
$GLOBALS['_PAPYRUS_']['page']['langue_rfc_3066'] = $GLOBALS['_PAPYRUS_']['page']['langue'];
|
|
|
182 |
}
|
169 |
jpm |
183 |
$GLOBALS['_PAPYRUS_']['page']['type_portee_spatiale'] = htmlentities($_GEN_commun['info_menu']->gm_ce_type_portee_spatiale);
|
|
|
184 |
$GLOBALS['_PAPYRUS_']['page']['portee_spatiale'] = htmlentities($_GEN_commun['info_menu']->gm_portee_spatiale);
|
|
|
185 |
$GLOBALS['_PAPYRUS_']['page']['type_portee_temporelle'] = htmlentities($_GEN_commun['info_menu']->gm_ce_type_portee_temporelle);
|
|
|
186 |
$GLOBALS['_PAPYRUS_']['page']['portee_temporelle'] = htmlentities($_GEN_commun['info_menu']->gm_portee_temporelle);
|
|
|
187 |
$GLOBALS['_PAPYRUS_']['page']['licence'] = htmlentities($_GEN_commun['info_menu']->gm_licence);
|
|
|
188 |
$GLOBALS['_PAPYRUS_']['page']['public'] = htmlentities($_GEN_commun['info_menu']->gm_public);
|
|
|
189 |
$GLOBALS['_PAPYRUS_']['page']['public_niveau'] = htmlentities($_GEN_commun['info_menu']->gm_public_niveau);
|
|
|
190 |
GEN_stockerMetaNameDC('DC.Title', $GLOBALS['_PAPYRUS_']['page']['titre'], $GLOBALS['_PAPYRUS_']['page']['langue']);
|
|
|
191 |
GEN_stockerMetaNameDC('DC.Title.alternative', $GLOBALS['_PAPYRUS_']['page']['titre_alternatif'], $GLOBALS['_PAPYRUS_']['page']['langue']);
|
|
|
192 |
GEN_stockerMetaNameDC('DC.Creator', $GLOBALS['_PAPYRUS_']['page']['auteur']);
|
|
|
193 |
GEN_stockerMetaNameDC('DC.Subject', $GLOBALS['_PAPYRUS_']['page']['mots_cles'], $GLOBALS['_PAPYRUS_']['page']['langue']);
|
|
|
194 |
GEN_stockerMetaNameDC('DC.Description', $GLOBALS['_PAPYRUS_']['page']['description_libre'], $GLOBALS['_PAPYRUS_']['page']['langue']);
|
|
|
195 |
GEN_stockerMetaNameDC('DC.Description.abstract', $GLOBALS['_PAPYRUS_']['page']['description_resume'], $GLOBALS['_PAPYRUS_']['page']['langue']);
|
|
|
196 |
GEN_stockerMetaNameDC('DC.Description.tableOfContents', $GLOBALS['_PAPYRUS_']['page']['description_table_matieres'], $GLOBALS['_PAPYRUS_']['page']['langue']);
|
|
|
197 |
GEN_stockerMetaNameDC('DC.Publisher', $GLOBALS['_PAPYRUS_']['page']['publieur']);
|
|
|
198 |
GEN_stockerMetaNameDC('DC.Contributor', $GLOBALS['_PAPYRUS_']['page']['contributeur']);
|
|
|
199 |
GEN_stockerMetaNameDC('DC.Date.created', $GLOBALS['_PAPYRUS_']['page']['date_creation'], '', 'W3CDTF');
|
|
|
200 |
GEN_stockerMetaNameDC('DC.Date.valid', $GLOBALS['_PAPYRUS_']['page']['periode_validite'], '', 'W3CDTF');
|
5 |
jpm |
201 |
//Ajouter la gestion des dates valid et available en utilisant les dates de la table gen_page_contenu.
|
169 |
jpm |
202 |
GEN_stockerMetaNameDC('DC.Date.dateSubmitted', $GLOBALS['_PAPYRUS_']['page']['date_soumission'], '', 'W3CDTF');
|
|
|
203 |
GEN_stockerMetaNameDC('DC.Date.dateCopyrighted', $GLOBALS['_PAPYRUS_']['page']['date_copyright'], '', 'W3CDTF');
|
|
|
204 |
GEN_stockerMetaNameDC('DC.Date.dateAccepted', $GLOBALS['_PAPYRUS_']['page']['date_acceptation'], '', 'W3CDTF');
|
|
|
205 |
GEN_stockerMetaNameDC('DC.Source', $GLOBALS['_PAPYRUS_']['page']['source'], '', 'URI');
|
|
|
206 |
GEN_stockerMetaNameDC('DC.Language', $GLOBALS['_PAPYRUS_']['page']['langue_rfc_3066'], '', 'RFC3066');
|
|
|
207 |
GEN_stockerMetaNameDC('DC.Coverage.spatial', $GLOBALS['_PAPYRUS_']['page']['portee_spatiale'], '', $GLOBALS['_PAPYRUS_']['page']['type_portee_spatiale']);
|
|
|
208 |
GEN_stockerMetaNameDC('DC.Coverage.temporal', $GLOBALS['_PAPYRUS_']['page']['portee_temporelle'], '', $GLOBALS['_PAPYRUS_']['page']['type_portee_temporelle']);
|
|
|
209 |
GEN_stockerMetaNameDC('DC.Rights', $GLOBALS['_PAPYRUS_']['page']['licence'], '', 'URI');
|
|
|
210 |
GEN_stockerMetaNameDC('DC.Audience', $GLOBALS['_PAPYRUS_']['page']['public']);
|
|
|
211 |
GEN_stockerMetaNameDC('DC.Audience.educationLevel', $GLOBALS['_PAPYRUS_']['page']['public_niveau']);
|
5 |
jpm |
212 |
|
|
|
213 |
// Construction des CSS
|
|
|
214 |
// Déclaration des constantes contenant les CSS à afficher sur la page.
|
290 |
jpm |
215 |
$GLOBALS['_GEN_commun']['style_type'] = 'text/css';
|
|
|
216 |
$GLOBALS['_GEN_commun']['style_integree'] = '';
|
|
|
217 |
$GLOBALS['_GEN_commun']['style_externe'] = array();
|
5 |
jpm |
218 |
if (GEN_DEBOGAGE) {
|
|
|
219 |
GEN_stockerStyleExterne('Débogage', GEN_CHEMIN_PAP.'presentations/css/debogage.css');
|
|
|
220 |
}
|
|
|
221 |
|
|
|
222 |
// Construction du Javascript
|
|
|
223 |
// Déclaration des constantes contenant le Javascript à afficher sur la page.
|
290 |
jpm |
224 |
$GLOBALS['_GEN_commun']['script_type'] = 'text/javascript';
|
|
|
225 |
$GLOBALS['_GEN_commun']['script_code'] = '';
|
|
|
226 |
$GLOBALS['_GEN_commun']['script_fonction'] = array();
|
|
|
227 |
$GLOBALS['_GEN_commun']['script_fichier'] = array();
|
5 |
jpm |
228 |
|
|
|
229 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
230 |
// Gestion des inclusions des fichiers d'applettes
|
|
|
231 |
|
|
|
232 |
for ($i = 0; $i < count($_GEN_commun['info_applette']); $i++) {
|
|
|
233 |
// Nous vérifions que le chemin vers l'applette existe.
|
|
|
234 |
if (file_exists($_GEN_commun['info_applette'][$i]->gap_chemin)) {
|
|
|
235 |
include_once($_GEN_commun['info_applette'][$i]->gap_chemin);
|
|
|
236 |
// Nous récupérons l'expression régulière de la balise pour l'utiliser lors de l'appel
|
|
|
237 |
// de la fonction de l'applette. L'appel des fonctions des applettes à lieu aprés l'appel
|
|
|
238 |
// de l'application pour permettre à l'appli de modifier certains paramêtres (identification, ordre des menus).
|
290 |
jpm |
239 |
$GLOBALS['_GEN_commun']['info_applette'][$i]->applette_balise = $GLOBALS['_GEN_commun']['info_applette_balise'];
|
|
|
240 |
$GLOBALS['_GEN_commun']['info_applette'][$i]->applette_fonction = $GLOBALS['_GEN_commun']['info_applette_nom_fonction'];
|
5 |
jpm |
241 |
} else {
|
|
|
242 |
// Ne devrait pas arréter le programme! Mais instancier le gestionnaire de déboguage.
|
169 |
jpm |
243 |
die('ERREUR Papyrus : Impossible de trouver le fichier de l\'applette. <br />'.
|
290 |
jpm |
244 |
'Nom applette : '.$GLOBALS['_GEN_commun']['info_applette'][$i]->gap_nom.' <br />'.
|
|
|
245 |
'Chemin fichier applette : '.$GLOBALS['_GEN_commun']['info_applette'][$i]->gap_chemin.' <br />'.
|
5 |
jpm |
246 |
'Ligne n° : '. __LINE__ .'<br />'.
|
|
|
247 |
'Fichier : '. __FILE__ );
|
|
|
248 |
}
|
|
|
249 |
}
|
|
|
250 |
|
|
|
251 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
252 |
// Gestion de l'intégration de l'application liée au menu
|
|
|
253 |
|
|
|
254 |
// Une fois les applettes appelées est executées nous appelons l'application qui peut avoir
|
|
|
255 |
// besoins des infos des applettes (c'est le cas, pour l'applette IDENTIFICATION).
|
169 |
jpm |
256 |
$GLOBALS['_PAPYRUS_']['general']['application_chemin'] = '';
|
290 |
jpm |
257 |
if (isset($GLOBALS['_GEN_commun']['info_application']->gap_chemin)) {
|
|
|
258 |
$GLOBALS['_PAPYRUS_']['general']['application_chemin'] = $GLOBALS['_GEN_commun']['info_application']->gap_chemin;
|
92 |
jpm |
259 |
}
|
5 |
jpm |
260 |
|
|
|
261 |
// $application_chemin contient le chemin de l'application
|
|
|
262 |
// Si $application_chemin est vide, on défini putFrame comme ne retournant rien.
|
|
|
263 |
|
169 |
jpm |
264 |
if (empty($GLOBALS['_PAPYRUS_']['general']['application_chemin']) ) {
|
5 |
jpm |
265 |
function afficherContenuCorps()
|
|
|
266 |
{
|
92 |
jpm |
267 |
return '<p class="pap_erreur">'.'Pas d\'application.'.'</p>';
|
5 |
jpm |
268 |
}
|
|
|
269 |
} else {
|
169 |
jpm |
270 |
if (file_exists($GLOBALS['_PAPYRUS_']['general']['application_chemin'])) {
|
|
|
271 |
include_once($GLOBALS['_PAPYRUS_']['general']['application_chemin']);
|
5 |
jpm |
272 |
} else {
|
169 |
jpm |
273 |
die('ERREUR Papyrus : application impossible à charger. <br />'.
|
|
|
274 |
'Chemin application : '.$GLOBALS['_PAPYRUS_']['general']['application_chemin'].' <br />'.
|
5 |
jpm |
275 |
'Ligne n° : '. __LINE__ .'<br />'.
|
|
|
276 |
'Fichier : '. __FILE__ );
|
|
|
277 |
}
|
|
|
278 |
}
|
|
|
279 |
|
|
|
280 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
281 |
// Recherche des informations provenant de l'application pour la complétion du squelette
|
|
|
282 |
|
118 |
jpm |
283 |
// Contenu navigation
|
|
|
284 |
// Appel de la fonction afficherContenuNavigation() si elle existe.
|
169 |
jpm |
285 |
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_NAVIGATION'] = (function_exists('afficherContenuNavigation') ? afficherContenuNavigation() : '<!-- '.'Aucune navigation'.' -->');
|
118 |
jpm |
286 |
|
5 |
jpm |
287 |
// Contenu tête
|
|
|
288 |
// Appel de la fonction afficherContenuTete() si elle existe.
|
169 |
jpm |
289 |
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_TETE'] = (function_exists('afficherContenuTete') ? afficherContenuTete() : '<!-- '.'Aucun contenu tête'.' -->');
|
5 |
jpm |
290 |
|
|
|
291 |
// Contenu corps
|
|
|
292 |
// Appel de la fonction afficherContenuCorps().
|
|
|
293 |
if (function_exists('afficherContenuCorps') ) {
|
169 |
jpm |
294 |
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] = afficherContenuCorps();
|
5 |
jpm |
295 |
} else {
|
169 |
jpm |
296 |
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] =
|
|
|
297 |
'ERREUR Papyrus : fonction afficherContenuCorps() introuvable dans l\'application demandée. <br />'.
|
5 |
jpm |
298 |
'Ligne n° : '. __LINE__ .'<br />'.
|
|
|
299 |
'Fichier : '. __FILE__;
|
|
|
300 |
}
|
|
|
301 |
// Contenu pied
|
|
|
302 |
// Appel de la fonction afficherContenuPied() si elle existe.
|
169 |
jpm |
303 |
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_PIED'] = (function_exists('afficherContenuPied') ? afficherContenuPied() : '<!-- '.'Aucun contenu pied'.' -->');
|
5 |
jpm |
304 |
|
|
|
305 |
// +------------------------------------------------------------------------------------------------------+
|
159 |
jpm |
306 |
// Gestion de l'espace de nom pour les balise Papyrus
|
290 |
jpm |
307 |
$GLOBALS['_GEN_commun']['balise_prefixe'] = 'PAPYRUS_';
|
159 |
jpm |
308 |
|
|
|
309 |
// +------------------------------------------------------------------------------------------------------+
|
5 |
jpm |
310 |
// Gestion des appels des fonctions d'applettes
|
|
|
311 |
|
290 |
jpm |
312 |
for ($i = 0; $i < count($GLOBALS['_GEN_commun']['info_applette']); $i++) {
|
5 |
jpm |
313 |
// Recherche du nombre de balise d'une applette donnée présentes dans le squelette
|
290 |
jpm |
314 |
$GLOBALS['_PAPYRUS_']['applette']['nbr_balise'] = preg_match_all(
|
|
|
315 |
'/<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].'('.$GLOBALS['_GEN_commun']['info_applette'][$i]->applette_balise.') -->/',
|
|
|
316 |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'],
|
|
|
317 |
$GLOBALS['_PAPYRUS_']['applette']['applet_arguments'],
|
|
|
318 |
PREG_SET_ORDER);
|
5 |
jpm |
319 |
// Si on trouve au moins une balise, on lance la boucle pour les remplacer
|
169 |
jpm |
320 |
for ($j = 0; $j <= ($GLOBALS['_PAPYRUS_']['applette']['nbr_balise'] - 1); $j++) {
|
5 |
jpm |
321 |
// Nous vérifions que le nom de la fonction principale de l'applette existe.
|
290 |
jpm |
322 |
if (function_exists($GLOBALS['_GEN_commun']['info_applette'][$i]->applette_fonction)) {
|
184 |
jpm |
323 |
// Nous comptabilisons le nombre d'utilisation des applettes dans un squelette:
|
290 |
jpm |
324 |
if (!isset($GLOBALS['_PAPYRUS_']['applette']['comptage'][$GLOBALS['_GEN_commun']['info_applette'][$i]->applette_fonction])) {
|
|
|
325 |
$GLOBALS['_PAPYRUS_']['applette']['comptage'][$GLOBALS['_GEN_commun']['info_applette'][$i]->applette_fonction] = 1;
|
184 |
jpm |
326 |
} else {
|
290 |
jpm |
327 |
$GLOBALS['_PAPYRUS_']['applette']['comptage'][$GLOBALS['_GEN_commun']['info_applette'][$i]->applette_fonction]++;
|
184 |
jpm |
328 |
}
|
169 |
jpm |
329 |
$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] =
|
290 |
jpm |
330 |
call_user_func( $GLOBALS['_GEN_commun']['info_applette'][$i]->applette_fonction,
|
184 |
jpm |
331 |
$GLOBALS['_PAPYRUS_']['applette']['applet_arguments'][$j],
|
290 |
jpm |
332 |
$GLOBALS['_GEN_commun']);
|
5 |
jpm |
333 |
} else {
|
169 |
jpm |
334 |
$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] =
|
290 |
jpm |
335 |
'<!-- '."\n".
|
|
|
336 |
$GLOBALS['_PAPYRUS_']['applette']['applet_arguments'][$j][1].' : '.
|
|
|
337 |
'fonction de l\'applette "'.$GLOBALS['_GEN_commun']['info_applette'][$i]->gap_nom.'" introuvable! '."\n".
|
|
|
338 |
'Fonction : '.$GLOBALS['_GEN_commun']['info_applette'][$i]->applette_fonction."\n".
|
|
|
339 |
' -->';
|
5 |
jpm |
340 |
}
|
|
|
341 |
// Remplacement des balises d'applette de Génésia dans le squelette
|
169 |
jpm |
342 |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] =
|
290 |
jpm |
343 |
str_replace( '<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].$GLOBALS['_PAPYRUS_']['applette']['applet_arguments'][$j][1].' -->',
|
|
|
344 |
$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'],
|
|
|
345 |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette']);
|
5 |
jpm |
346 |
}
|
|
|
347 |
}
|
|
|
348 |
|
|
|
349 |
// +------------------------------------------------------------------------------------------------------+
|
159 |
jpm |
350 |
// Continuation recherche d'info provenant de Papyrus pour la complétion du squelette
|
5 |
jpm |
351 |
|
|
|
352 |
// Une fois l'application appelé est executé nous affichons le contenu de l'entête qui a pu
|
|
|
353 |
// être modifié par l'application.
|
169 |
jpm |
354 |
$GLOBALS['_PAPYRUS_']['rendu']['META_HTTP_EQUIV'] = GEN_afficherMeta('http-equiv');
|
|
|
355 |
$GLOBALS['_PAPYRUS_']['rendu']['META_NAME'] = GEN_afficherMeta('name');
|
|
|
356 |
$GLOBALS['_PAPYRUS_']['rendu']['META_NAME_DC'] = GEN_afficherMeta('dc');
|
5 |
jpm |
357 |
// Nous récupérons tout les styles CSS pour l'afficher dans l'entête de la page.
|
169 |
jpm |
358 |
$GLOBALS['_PAPYRUS_']['rendu']['STYLES'] = GEN_afficherStyle();
|
5 |
jpm |
359 |
// Nous récupérons tout le Javascript pour l'afficher dans l'entête de la page.
|
169 |
jpm |
360 |
$GLOBALS['_PAPYRUS_']['rendu']['SCRIPTS'] = GEN_afficherScript();
|
5 |
jpm |
361 |
|
|
|
362 |
// +------------------------------------------------------------------------------------------------------+
|
159 |
jpm |
363 |
// Remplacement des balises Papyrus dans le squelette
|
169 |
jpm |
364 |
foreach ($GLOBALS['_PAPYRUS_']['rendu'] as $GLOBALS['_PAPYRUS_']['tmp']['cle'] => $GLOBALS['_PAPYRUS_']['tmp']['val']) {
|
|
|
365 |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] =
|
|
|
366 |
str_replace( '<!-- '.$_GEN_commun['balise_prefixe'].$GLOBALS['_PAPYRUS_']['tmp']['cle'].' -->',
|
|
|
367 |
$GLOBALS['_PAPYRUS_']['tmp']['val'],
|
|
|
368 |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette']);
|
|
|
369 |
}
|
352 |
jpm |
370 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
371 |
// Remplacement des actions Papyrus dans le squelette
|
|
|
372 |
// Création d'un objet Text_Papyrus :
|
|
|
373 |
$papyrus =& new Text_Papyrus();
|
|
|
374 |
// Pour éviter de remplacer les caractères spéciaux du XHTML:
|
|
|
375 |
$papyrus->setFormatConf('Xhtml', 'translate', false);
|
|
|
376 |
// Pour indiquer le jeu de caractères (encodage) de la page courante :
|
|
|
377 |
$papyrus->setRenderConf('Xhtml', 'inclure', 'encodage', $GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres']);
|
|
|
378 |
// Pour indiquer les infos sur les pages des sites à intégrer :
|
|
|
379 |
$papyrus->setRenderConf('Xhtml', 'inclure', 'sites', $GLOBALS['_PAPYRUS_']['inclure_sites']);
|
|
|
380 |
// Application des règles de Papyrus :
|
|
|
381 |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] = $papyrus->transform($GLOBALS['_PAPYRUS_']['general']['contenu_squelette'], 'Xhtml');
|
5 |
jpm |
382 |
|
|
|
383 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
384 |
// Stokage du squelette dans un variable globale aprés avoir remplacer les balises Papyrus.
|
352 |
jpm |
385 |
$GLOBALS['_GEN_commun']['sortie'] = $GLOBALS['_PAPYRUS_']['general']['contenu_squelette'];
|
5 |
jpm |
386 |
|
|
|
387 |
/* +--Fin du code ---------------------------------------------------------------------------------------+
|
|
|
388 |
*
|
|
|
389 |
* $Log: not supported by cvs2svn $
|
352 |
jpm |
390 |
* Revision 1.12 2005/03/02 11:04:36 jpm
|
|
|
391 |
* Modification de l'utilisation d'une variable globale.
|
|
|
392 |
*
|
290 |
jpm |
393 |
* Revision 1.11 2005/02/28 11:20:42 jpm
|
|
|
394 |
* Modification des auteurs.
|
|
|
395 |
*
|
286 |
jpm |
396 |
* Revision 1.10 2005/01/26 16:20:46 jpm
|
|
|
397 |
* Correction bogue meta : auteurs et mots-clés mélangés.
|
|
|
398 |
*
|
252 |
jpm |
399 |
* Revision 1.9 2004/12/06 19:39:40 jpm
|
|
|
400 |
* Correction langue DC.
|
|
|
401 |
*
|
213 |
jpm |
402 |
* Revision 1.8 2004/11/26 19:02:07 jpm
|
|
|
403 |
* Comptabilisation du nombre d'appel de chaque applette dans le squelette.
|
|
|
404 |
*
|
184 |
jpm |
405 |
* Revision 1.7 2004/11/24 18:33:29 jpm
|
|
|
406 |
* Encapsulation des variables dans le tableau global _PAPYRUS_.
|
|
|
407 |
*
|
169 |
jpm |
408 |
* Revision 1.6 2004/11/15 17:40:21 jpm
|
|
|
409 |
* Gestion d'un espace de nom pour les balises Papyrus.
|
|
|
410 |
*
|
159 |
jpm |
411 |
* Revision 1.5 2004/10/26 18:42:54 jpm
|
|
|
412 |
* Gestion de la fonction de navigation pour les appli Papyrus.
|
|
|
413 |
*
|
118 |
jpm |
414 |
* Revision 1.4 2004/10/25 16:28:47 jpm
|
|
|
415 |
* Ajout de nouvelles balises Papyrus, ajout vérification mise à jour de Papyrus, meilleure gestion des sessions...
|
|
|
416 |
*
|
112 |
jpm |
417 |
* Revision 1.3 2004/10/22 17:23:35 jpm
|
|
|
418 |
* Amélioration de la gestion de l'erreur si pas d'appli.
|
|
|
419 |
*
|
92 |
jpm |
420 |
* Revision 1.2 2004/06/17 08:04:44 jpm
|
|
|
421 |
* Changement de constante pour les chemin d'accès à la biblio de code de Papyrus.
|
|
|
422 |
*
|
14 |
jpm |
423 |
* Revision 1.1 2004/06/16 08:13:58 jpm
|
|
|
424 |
* Changement de nom de Génésia en Papyrus.
|
|
|
425 |
* Changement de l'arborescence.
|
|
|
426 |
*
|
5 |
jpm |
427 |
* Revision 1.32 2004/05/10 12:24:55 jpm
|
|
|
428 |
* Amélioration de la recherche des fichiers de squelette.
|
|
|
429 |
*
|
|
|
430 |
* Revision 1.31 2004/05/05 10:42:35 jpm
|
|
|
431 |
* Amélioration de la gestion de l'internationalisation.
|
|
|
432 |
*
|
|
|
433 |
* Revision 1.30 2004/05/05 08:25:37 jpm
|
|
|
434 |
* Modification de la façon d'ajouter la feuille de style de débogage pour qu'elle soit prise en compte par défaut.
|
|
|
435 |
*
|
|
|
436 |
* Revision 1.29 2004/05/03 14:12:04 jpm
|
|
|
437 |
* Suppression du fichier bibliothèquie de fonctions sur gen_menu.
|
|
|
438 |
*
|
|
|
439 |
* Revision 1.28 2004/05/03 11:21:58 jpm
|
|
|
440 |
* Fin de la gestion des applettes et suppression de l'info_menu_hierarchie de _GEN_commun.
|
|
|
441 |
*
|
|
|
442 |
* Revision 1.27 2004/05/01 17:22:55 jpm
|
|
|
443 |
* Appel de la bibliothèque de fonctions concernant les menus.
|
|
|
444 |
*
|
|
|
445 |
* Revision 1.26 2004/05/01 16:19:36 jpm
|
|
|
446 |
* Suppression du code ayant pu être transformé en applettes (menu multi-niveaux, menu unique, menu commun, identification, sélecteur de sites).
|
|
|
447 |
*
|
|
|
448 |
* Revision 1.25 2004/05/01 11:39:38 jpm
|
|
|
449 |
* Déplacement du code gérant les applettes et du code de récupération du contenu du fichier squelette.
|
|
|
450 |
*
|
|
|
451 |
* Revision 1.24 2004/04/28 12:04:31 jpm
|
|
|
452 |
* Changement du modèle de la base de données.
|
|
|
453 |
*
|
|
|
454 |
* Revision 1.23 2004/04/22 08:30:47 jpm
|
|
|
455 |
* Transformation de $GS_GLOBAL en $_GEN_commun.
|
|
|
456 |
*
|
|
|
457 |
* Revision 1.22 2004/04/21 07:55:02 jpm
|
|
|
458 |
* Ajout de la feuille de style de débogage si le débogage de Génésia est activé.
|
|
|
459 |
*
|
|
|
460 |
* Revision 1.19 2004/04/09 16:20:54 jpm
|
|
|
461 |
* Extraction de la gestion du cache et de l'envoi.
|
|
|
462 |
* Gestion des tables i18n.
|
|
|
463 |
*
|
|
|
464 |
* Revision 1.18 2004/04/08 12:29:48 jpm
|
|
|
465 |
* Début amélioration de la gestion du cache et de la compression des pages de Génésia.
|
|
|
466 |
*
|
|
|
467 |
* Revision 1.17 2004/04/05 16:38:04 jpm
|
|
|
468 |
* Utilisation des nouvelles fonctions gérant l'insertion du Javascript.
|
|
|
469 |
*
|
|
|
470 |
* Revision 1.16 2004/04/02 16:30:56 jpm
|
|
|
471 |
* Gestion de la balise Génésia IDENTIFICATION permettant l'envoie d'un formulaire de login.
|
|
|
472 |
*
|
|
|
473 |
* Revision 1.15 2004/04/01 11:27:13 jpm
|
|
|
474 |
* Ajout et modification de commentaires pour PhpDocumentor.
|
|
|
475 |
*
|
|
|
476 |
* Revision 1.14 2004/03/31 16:50:10 jpm
|
|
|
477 |
* Prise en compte du nouveau modèle de Génésia révision 1.9.
|
|
|
478 |
*
|
|
|
479 |
* Revision 1.13 2004/03/27 11:07:45 jpm
|
|
|
480 |
* Modification des commentaires vis à vis du nouveau modèle.
|
|
|
481 |
* Mise en conformité avec la convention de codage.
|
|
|
482 |
* Amélioration du code.
|
|
|
483 |
*
|
|
|
484 |
* Revision 1.12 2004/03/23 17:06:44 jpm
|
|
|
485 |
* Ajout de commentaire dans l'entête.
|
|
|
486 |
* Mise en conformité avec la convention de codage.
|
|
|
487 |
*
|
|
|
488 |
* +-- Fin du code ----------------------------------------------------------------------------------------+
|
|
|
489 |
*/
|
|
|
490 |
?>
|