Rev 252 | Rev 290 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: pap_rendu.inc.php,v 1.11 2005-02-28 11:20:42 jpm Exp $
/**
* Rendu : programme traitant l'url demandée et retournant la page compressé au navigateur.
*
* Ce programme contient la partie collectant les informations sur la page demandée par le navigateur client.
* Elle vérifie que la page ne soit pas déjà présente en cache et la renvoie si elle est disponible.
* Elle recherche ensuite l'application liée à la page demandée. Elle exécute cette application et récupère le
* contenu XHTML à afficher, le stocke en cache, le compresse et le renvoi au navigateur client.
*
*@package Papyrus
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author Alexandre GRANIER <alexadandre@tela-botanica.org>
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.11 $ $Date: 2005-02-28 11:20:42 $
// +------------------------------------------------------------------------------------------------------+
*/
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/** <BR> Inclusion de la bibliothèque de fonctions servant à l'insertion de meta informations pour une page donnée.*/
include_once GEN_CHEMIN_BIBLIO.'pap_meta.fonct.php';
/** <BR> Inclusion de la bibliothèque de fonctions servant à l'insertion de styles pour une page donnée.*/
include_once GEN_CHEMIN_BIBLIO.'pap_style.fonct.php';
/** <BR> Inclusion de la bibliothèque de fonctions servant à l'insertion de scripts pour une page donnée.*/
include_once GEN_CHEMIN_BIBLIO.'pap_script.fonct.php';
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
// +------------------------------------------------------------------------------------------------------+
// Recherche du squelette de la page demandée.
// Ouverture du squelette
if (empty($_GEN_commun['info_menu']->gm_fichier_squelette)) {
if (isset($_GEN_commun['traduction_info_site'])) {
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $_GEN_commun['traduction_info_site']->gs_fichier_squelette;
} else {
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $_GEN_commun['info_site']->gs_fichier_squelette;
}
} else {
if (isset($_GEN_commun['traduction_info_menu'])) {
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $_GEN_commun['traduction_info_menu']->gs_fichier_squelette;
} else {
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $_GEN_commun['info_menu']->gm_fichier_squelette;
}
}
// Si l'information concernant le chemin est réellement un chemin
if (! file_exists($GLOBALS['_PAPYRUS_']['general']['chemin_squelette'])) {
//Si ce n'est qu'un nom de fichier squelette
$GLOBALS['_PAPYRUS_']['general']['chemin_test'] = GEN_CHEMIN_SITES.
$_GEN_commun['info_site']->gs_code_alpha.'/'.
$_GEN_commun['i18n'].'/'.GEN_DOSSIER_SQUELETTE.'/'.$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'];
if (! file_exists($GLOBALS['_PAPYRUS_']['general']['chemin_test'])) {
die('ERREUR Papyrus : Impossible de trouver de fichier de squelette. <br />'.
'Chemin fichier squelette : '.$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'].' <br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__ );
} else {
$GLOBALS['_PAPYRUS_']['general']['chemin_squelette'] = $GLOBALS['_PAPYRUS_']['general']['chemin_test'];
}
}
// +------------------------------------------------------------------------------------------------------+
// Récupération du contenu du fichier de squelette de la page demandée.
/*
// Lecture du fichier de squelette XHTML en PHP 4.1.2
$tab_fichier_squelette = file($chemin_squelette);
$contenu_squelette = '';
for ($i = 0; $i < count($tab_fichier_squelette); $i++) {
$contenu_squelette .= $tab_fichier_squelette[$i];
}
*/
// Lecture du fichier de squelette XHTML en PHP 4.3
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] = file_get_contents($GLOBALS['_PAPYRUS_']['general']['chemin_squelette']);
// +------------------------------------------------------------------------------------------------------+
// Recherche des informations pour la complétion de l'entête du squelette de la page demandée.
// Construction du titre.
if (! empty($_GEN_commun['info_menu']->gm_titre)) {
$GLOBALS['_PAPYRUS_']['page']['titre'] = htmlentities($_GEN_commun['info_menu']->gm_titre);
} else if (! empty($_GEN_commun['info_menu']->gm_titre_alternatif)) {
$GLOBALS['_PAPYRUS_']['page']['titre'] = htmlentities($_GEN_commun['info_menu']->gm_titre_alternatif);
} else {
$GLOBALS['_PAPYRUS_']['page']['titre'] = htmlentities($_GEN_commun['info_menu']->gm_nom);
}
$GLOBALS['_PAPYRUS_']['rendu']['TITRE_PAGE'] = $GLOBALS['_PAPYRUS_']['page']['titre'];
// Construction des infos sur le site
$GLOBALS['_PAPYRUS_']['page']['nom_site'] = htmlentities($_GEN_commun['info_site']->gs_nom);
$GLOBALS['_PAPYRUS_']['rendu']['SITE_NOM'] = $GLOBALS['_PAPYRUS_']['page']['nom_site'];
$GLOBALS['_PAPYRUS_']['page']['langue_site'] = htmlentities($_GEN_commun['i18n']);
$GLOBALS['_PAPYRUS_']['rendu']['SITE_LANGUE'] = $GLOBALS['_PAPYRUS_']['page']['langue_site'];
$GLOBALS['_PAPYRUS_']['page']['code_alpha_site'] = htmlentities($_GEN_commun['info_site']->gs_code_alpha);
$GLOBALS['_PAPYRUS_']['rendu']['SITE_CODE_ALPHA'] = $GLOBALS['_PAPYRUS_']['page']['code_alpha_site'];
// Construction des Meta "http-equiv".
$_GEN_commun['meta_http_equiv'] = array();
$GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres'] = htmlentities($_GEN_commun['info_i18n']->gi_jeu_de_caracteres);
$GLOBALS['_PAPYRUS_']['rendu']['SITE_JEU_DE_CARACTERES'] = $GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres'];
$GLOBALS['_PAPYRUS_']['page']['langue'] = htmlentities($_GEN_commun['info_i18n_langue']->gil_id_langue);
$GLOBALS['_PAPYRUS_']['rendu']['SITE_LANGUE'] = $GLOBALS['_PAPYRUS_']['page']['langue'];
GEN_stockerMetaHttpEquiv('Content-Type', 'text/html; charset='.$GLOBALS['_PAPYRUS_']['page']['jeu_de_caracteres']);
GEN_stockerMetaHttpEquiv('Content-style-type', 'text/css');
GEN_stockerMetaHttpEquiv('Content-script-type', 'text/javascript');
GEN_stockerMetaHttpEquiv('Content-language', $GLOBALS['_PAPYRUS_']['page']['langue']);
// Construction des Meta "name".
$_GEN_commun['meta_name'] = array();
$GLOBALS['_PAPYRUS_']['page']['robot'] = htmlentities($_GEN_commun['info_menu']->gm_robot);
$GLOBALS['_PAPYRUS_']['page']['auteur'] = htmlentities($_GEN_commun['info_menu']->gm_auteur);
if (empty($GLOBALS['_PAPYRUS_']['page']['auteur'])) {
$GLOBALS['_PAPYRUS_']['page']['auteur'] = htmlentities($_GEN_commun['info_site']->gs_auteur);
}
$GLOBALS['_PAPYRUS_']['page']['mots_cles'] = htmlentities($_GEN_commun['info_menu']->gm_mots_cles);
if (empty($GLOBALS['_PAPYRUS_']['page']['mots_cles'])) {
$GLOBALS['_PAPYRUS_']['page']['mots_cles'] = htmlentities($_GEN_commun['info_site']->gs_mots_cles);
}
$GLOBALS['_PAPYRUS_']['page']['description_libre'] = htmlentities($_GEN_commun['info_menu']->gm_description_libre);
if (empty($GLOBALS['_PAPYRUS_']['page']['description_libre'])) {
$GLOBALS['_PAPYRUS_']['page']['description_libre'] = htmlentities($_GEN_commun['info_site']->gs_description);
}
GEN_stockerMetaName('revisit-after', '15 days');
GEN_stockerMetaName('robots', $GLOBALS['_PAPYRUS_']['page']['robot']);
GEN_stockerMetaName('author', $GLOBALS['_PAPYRUS_']['page']['auteur']);
GEN_stockerMetaName('keywords', $GLOBALS['_PAPYRUS_']['page']['mots_cles']);
GEN_stockerMetaName('description', $GLOBALS['_PAPYRUS_']['page']['description_libre']);
// Construction des Meta Meta "name" du Dublin Core.
$GLOBALS['_PAPYRUS_']['page']['titre_alternatif'] = htmlentities($_GEN_commun['info_menu']->gm_titre_alternatif);
$GLOBALS['_PAPYRUS_']['page']['auteur'] = htmlentities($_GEN_commun['info_menu']->gm_auteur);
$GLOBALS['_PAPYRUS_']['page']['description_resume'] = htmlentities($_GEN_commun['info_menu']->gm_description_resume);
$GLOBALS['_PAPYRUS_']['page']['description_table_matieres'] = htmlentities($_GEN_commun['info_menu']->gm_description_table_matieres);
$GLOBALS['_PAPYRUS_']['page']['publieur'] = htmlentities($_GEN_commun['info_menu']->gm_editeur);
$GLOBALS['_PAPYRUS_']['page']['contributeur'] = htmlentities($_GEN_commun['info_menu']->gm_contributeur);
$GLOBALS['_PAPYRUS_']['page']['date_creation'] = htmlentities($_GEN_commun['info_menu']->gm_date_creation);
$GLOBALS['_PAPYRUS_']['page']['date_soumission'] = htmlentities($_GEN_commun['info_menu']->gm_date_soumission);
$GLOBALS['_PAPYRUS_']['page']['date_acceptation'] = htmlentities($_GEN_commun['info_menu']->gm_date_acceptation);
$GLOBALS['_PAPYRUS_']['page']['periode_validite'] = htmlentities($_GEN_commun['info_menu']->gm_date_debut_validite);
$GLOBALS['_PAPYRUS_']['page']['date_copyright'] = htmlentities($_GEN_commun['info_menu']->gm_date_copyright);
$GLOBALS['_PAPYRUS_']['page']['source'] = htmlentities($_GEN_commun['info_menu']->gm_source);
if ($_GEN_commun['info_i18n_pays']->gip_id_pays != '') {
$GLOBALS['_PAPYRUS_']['page']['langue_rfc_3066'] = $GLOBALS['_PAPYRUS_']['page']['langue'].'-'.htmlentities($_GEN_commun['info_i18n_pays']->gip_id_pays);
} else {
$GLOBALS['_PAPYRUS_']['page']['langue_rfc_3066'] = $GLOBALS['_PAPYRUS_']['page']['langue'];
}
$GLOBALS['_PAPYRUS_']['page']['type_portee_spatiale'] = htmlentities($_GEN_commun['info_menu']->gm_ce_type_portee_spatiale);
$GLOBALS['_PAPYRUS_']['page']['portee_spatiale'] = htmlentities($_GEN_commun['info_menu']->gm_portee_spatiale);
$GLOBALS['_PAPYRUS_']['page']['type_portee_temporelle'] = htmlentities($_GEN_commun['info_menu']->gm_ce_type_portee_temporelle);
$GLOBALS['_PAPYRUS_']['page']['portee_temporelle'] = htmlentities($_GEN_commun['info_menu']->gm_portee_temporelle);
$GLOBALS['_PAPYRUS_']['page']['licence'] = htmlentities($_GEN_commun['info_menu']->gm_licence);
$GLOBALS['_PAPYRUS_']['page']['public'] = htmlentities($_GEN_commun['info_menu']->gm_public);
$GLOBALS['_PAPYRUS_']['page']['public_niveau'] = htmlentities($_GEN_commun['info_menu']->gm_public_niveau);
GEN_stockerMetaNameDC('DC.Title', $GLOBALS['_PAPYRUS_']['page']['titre'], $GLOBALS['_PAPYRUS_']['page']['langue']);
GEN_stockerMetaNameDC('DC.Title.alternative', $GLOBALS['_PAPYRUS_']['page']['titre_alternatif'], $GLOBALS['_PAPYRUS_']['page']['langue']);
GEN_stockerMetaNameDC('DC.Creator', $GLOBALS['_PAPYRUS_']['page']['auteur']);
GEN_stockerMetaNameDC('DC.Subject', $GLOBALS['_PAPYRUS_']['page']['mots_cles'], $GLOBALS['_PAPYRUS_']['page']['langue']);
GEN_stockerMetaNameDC('DC.Description', $GLOBALS['_PAPYRUS_']['page']['description_libre'], $GLOBALS['_PAPYRUS_']['page']['langue']);
GEN_stockerMetaNameDC('DC.Description.abstract', $GLOBALS['_PAPYRUS_']['page']['description_resume'], $GLOBALS['_PAPYRUS_']['page']['langue']);
GEN_stockerMetaNameDC('DC.Description.tableOfContents', $GLOBALS['_PAPYRUS_']['page']['description_table_matieres'], $GLOBALS['_PAPYRUS_']['page']['langue']);
GEN_stockerMetaNameDC('DC.Publisher', $GLOBALS['_PAPYRUS_']['page']['publieur']);
GEN_stockerMetaNameDC('DC.Contributor', $GLOBALS['_PAPYRUS_']['page']['contributeur']);
GEN_stockerMetaNameDC('DC.Date.created', $GLOBALS['_PAPYRUS_']['page']['date_creation'], '', 'W3CDTF');
GEN_stockerMetaNameDC('DC.Date.valid', $GLOBALS['_PAPYRUS_']['page']['periode_validite'], '', 'W3CDTF');
//Ajouter la gestion des dates valid et available en utilisant les dates de la table gen_page_contenu.
GEN_stockerMetaNameDC('DC.Date.dateSubmitted', $GLOBALS['_PAPYRUS_']['page']['date_soumission'], '', 'W3CDTF');
GEN_stockerMetaNameDC('DC.Date.dateCopyrighted', $GLOBALS['_PAPYRUS_']['page']['date_copyright'], '', 'W3CDTF');
GEN_stockerMetaNameDC('DC.Date.dateAccepted', $GLOBALS['_PAPYRUS_']['page']['date_acceptation'], '', 'W3CDTF');
GEN_stockerMetaNameDC('DC.Source', $GLOBALS['_PAPYRUS_']['page']['source'], '', 'URI');
GEN_stockerMetaNameDC('DC.Language', $GLOBALS['_PAPYRUS_']['page']['langue_rfc_3066'], '', 'RFC3066');
GEN_stockerMetaNameDC('DC.Coverage.spatial', $GLOBALS['_PAPYRUS_']['page']['portee_spatiale'], '', $GLOBALS['_PAPYRUS_']['page']['type_portee_spatiale']);
GEN_stockerMetaNameDC('DC.Coverage.temporal', $GLOBALS['_PAPYRUS_']['page']['portee_temporelle'], '', $GLOBALS['_PAPYRUS_']['page']['type_portee_temporelle']);
GEN_stockerMetaNameDC('DC.Rights', $GLOBALS['_PAPYRUS_']['page']['licence'], '', 'URI');
GEN_stockerMetaNameDC('DC.Audience', $GLOBALS['_PAPYRUS_']['page']['public']);
GEN_stockerMetaNameDC('DC.Audience.educationLevel', $GLOBALS['_PAPYRUS_']['page']['public_niveau']);
// Construction des CSS
// Déclaration des constantes contenant les CSS à afficher sur la page.
$_GEN_commun['style_type'] = 'text/css';
$_GEN_commun['style_integree'] = '';
$_GEN_commun['style_externe'] = array();
if (GEN_DEBOGAGE) {
GEN_stockerStyleExterne('Débogage', GEN_CHEMIN_PAP.'presentations/css/debogage.css');
}
// Construction du Javascript
// Déclaration des constantes contenant le Javascript à afficher sur la page.
$_GEN_commun['script_type'] = 'text/javascript';
$_GEN_commun['script_code'] = '';
$_GEN_commun['script_fonction'] = array();
$_GEN_commun['script_fichier'] = array();
// +------------------------------------------------------------------------------------------------------+
// Gestion des inclusions des fichiers d'applettes
for ($i = 0; $i < count($_GEN_commun['info_applette']); $i++) {
// Nous vérifions que le chemin vers l'applette existe.
if (file_exists($_GEN_commun['info_applette'][$i]->gap_chemin)) {
include_once($_GEN_commun['info_applette'][$i]->gap_chemin);
// Nous récupérons l'expression régulière de la balise pour l'utiliser lors de l'appel
// de la fonction de l'applette. L'appel des fonctions des applettes à lieu aprés l'appel
// de l'application pour permettre à l'appli de modifier certains paramêtres (identification, ordre des menus).
$_GEN_commun['info_applette'][$i]->applette_balise = $_GEN_commun['info_applette_balise'];
$_GEN_commun['info_applette'][$i]->applette_fonction = $_GEN_commun['info_applette_nom_fonction'];
} else {
// Ne devrait pas arréter le programme! Mais instancier le gestionnaire de déboguage.
die('ERREUR Papyrus : Impossible de trouver le fichier de l\'applette. <br />'.
'Nom applette : '.$_GEN_commun['info_applette'][$i]->gap_nom.' <br />'.
'Chemin fichier applette : '.$_GEN_commun['info_applette'][$i]->gap_chemin.' <br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__ );
}
}
// +------------------------------------------------------------------------------------------------------+
// Gestion de l'intégration de l'application liée au menu
// Une fois les applettes appelées est executées nous appelons l'application qui peut avoir
// besoins des infos des applettes (c'est le cas, pour l'applette IDENTIFICATION).
$GLOBALS['_PAPYRUS_']['general']['application_chemin'] = '';
if (isset($_GEN_commun['info_application']->gap_chemin)) {
$GLOBALS['_PAPYRUS_']['general']['application_chemin'] = $_GEN_commun['info_application']->gap_chemin;
}
// $application_chemin contient le chemin de l'application
// Si $application_chemin est vide, on défini putFrame comme ne retournant rien.
if (empty($GLOBALS['_PAPYRUS_']['general']['application_chemin']) ) {
function afficherContenuCorps()
{
return '<p class="pap_erreur">'.'Pas d\'application.'.'</p>';
}
} else {
if (file_exists($GLOBALS['_PAPYRUS_']['general']['application_chemin'])) {
include_once($GLOBALS['_PAPYRUS_']['general']['application_chemin']);
} else {
die('ERREUR Papyrus : application impossible à charger. <br />'.
'Chemin application : '.$GLOBALS['_PAPYRUS_']['general']['application_chemin'].' <br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__ );
}
}
// +------------------------------------------------------------------------------------------------------+
// Recherche des informations provenant de l'application pour la complétion du squelette
// Contenu navigation
// Appel de la fonction afficherContenuNavigation() si elle existe.
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_NAVIGATION'] = (function_exists('afficherContenuNavigation') ? afficherContenuNavigation() : '<!-- '.'Aucune navigation'.' -->');
// Contenu tête
// Appel de la fonction afficherContenuTete() si elle existe.
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_TETE'] = (function_exists('afficherContenuTete') ? afficherContenuTete() : '<!-- '.'Aucun contenu tête'.' -->');
// Contenu corps
// Appel de la fonction afficherContenuCorps().
if (function_exists('afficherContenuCorps') ) {
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] = afficherContenuCorps();
} else {
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] =
'ERREUR Papyrus : fonction afficherContenuCorps() introuvable dans l\'application demandée. <br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__;
}
// Contenu pied
// Appel de la fonction afficherContenuPied() si elle existe.
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_PIED'] = (function_exists('afficherContenuPied') ? afficherContenuPied() : '<!-- '.'Aucun contenu pied'.' -->');
// +------------------------------------------------------------------------------------------------------+
// Gestion de l'espace de nom pour les balise Papyrus
$_GEN_commun['balise_prefixe'] = 'PAPYRUS_';
// +------------------------------------------------------------------------------------------------------+
// Gestion des appels des fonctions d'applettes
for ($i = 0; $i < count($_GEN_commun['info_applette']); $i++) {
// Recherche du nombre de balise d'une applette donnée présentes dans le squelette
$GLOBALS['_PAPYRUS_']['applette']['nbr_balise'] = preg_match_all( '/<!-- '.$_GEN_commun['balise_prefixe'].'('.$_GEN_commun['info_applette'][$i]->applette_balise.') -->/',
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'],
$GLOBALS['_PAPYRUS_']['applette']['applet_arguments'],
PREG_SET_ORDER);
// Si on trouve au moins une balise, on lance la boucle pour les remplacer
for ($j = 0; $j <= ($GLOBALS['_PAPYRUS_']['applette']['nbr_balise'] - 1); $j++) {
// Nous vérifions que le nom de la fonction principale de l'applette existe.
if (function_exists($_GEN_commun['info_applette'][$i]->applette_fonction)) {
// Nous comptabilisons le nombre d'utilisation des applettes dans un squelette:
if (!isset($GLOBALS['_PAPYRUS_']['applette']['comptage'][$_GEN_commun['info_applette'][$i]->applette_fonction])) {
$GLOBALS['_PAPYRUS_']['applette']['comptage'][$_GEN_commun['info_applette'][$i]->applette_fonction] = 1;
} else {
$GLOBALS['_PAPYRUS_']['applette']['comptage'][$_GEN_commun['info_applette'][$i]->applette_fonction]++;
}
$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] =
call_user_func( $_GEN_commun['info_applette'][$i]->applette_fonction,
$GLOBALS['_PAPYRUS_']['applette']['applet_arguments'][$j],
$_GEN_commun);
} else {
$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] =
'<!-- '."\n".
$GLOBALS['_PAPYRUS_']['applette']['applet_arguments'][$j][1].' : '.
'fonction de l\'applette "'.$_GEN_commun['info_applette'][$i]->gap_nom.'" introuvable! '."\n".
'Fonction : '.$_GEN_commun['info_applette'][$i]->applette_fonction."\n".
' -->';
}
// Remplacement des balises d'applette de Génésia dans le squelette
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] =
str_replace( '<!-- '.$_GEN_commun['balise_prefixe'].$GLOBALS['_PAPYRUS_']['applette']['applet_arguments'][$j][1].' -->',
$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'],
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette']);
}
}
// +------------------------------------------------------------------------------------------------------+
// Continuation recherche d'info provenant de Papyrus pour la complétion du squelette
// Une fois l'application appelé est executé nous affichons le contenu de l'entête qui a pu
// être modifié par l'application.
$GLOBALS['_PAPYRUS_']['rendu']['META_HTTP_EQUIV'] = GEN_afficherMeta('http-equiv');
$GLOBALS['_PAPYRUS_']['rendu']['META_NAME'] = GEN_afficherMeta('name');
$GLOBALS['_PAPYRUS_']['rendu']['META_NAME_DC'] = GEN_afficherMeta('dc');
// Nous récupérons tout les styles CSS pour l'afficher dans l'entête de la page.
$GLOBALS['_PAPYRUS_']['rendu']['STYLES'] = GEN_afficherStyle();
// Nous récupérons tout le Javascript pour l'afficher dans l'entête de la page.
$GLOBALS['_PAPYRUS_']['rendu']['SCRIPTS'] = GEN_afficherScript();
// +------------------------------------------------------------------------------------------------------+
// Remplacement des balises Papyrus dans le squelette
foreach ($GLOBALS['_PAPYRUS_']['rendu'] as $GLOBALS['_PAPYRUS_']['tmp']['cle'] => $GLOBALS['_PAPYRUS_']['tmp']['val']) {
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] =
str_replace( '<!-- '.$_GEN_commun['balise_prefixe'].$GLOBALS['_PAPYRUS_']['tmp']['cle'].' -->',
$GLOBALS['_PAPYRUS_']['tmp']['val'],
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette']);
}
// +------------------------------------------------------------------------------------------------------+
// Stokage du squelette dans un variable globale aprés avoir remplacer les balises Papyrus.
$_GEN_commun['sortie'] = $GLOBALS['_PAPYRUS_']['general']['contenu_squelette'];
/* +--Fin du code ---------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.10 2005/01/26 16:20:46 jpm
* Correction bogue meta : auteurs et mots-clés mélangés.
*
* Revision 1.9 2004/12/06 19:39:40 jpm
* Correction langue DC.
*
* Revision 1.8 2004/11/26 19:02:07 jpm
* Comptabilisation du nombre d'appel de chaque applette dans le squelette.
*
* Revision 1.7 2004/11/24 18:33:29 jpm
* Encapsulation des variables dans le tableau global _PAPYRUS_.
*
* Revision 1.6 2004/11/15 17:40:21 jpm
* Gestion d'un espace de nom pour les balises Papyrus.
*
* Revision 1.5 2004/10/26 18:42:54 jpm
* Gestion de la fonction de navigation pour les appli Papyrus.
*
* Revision 1.4 2004/10/25 16:28:47 jpm
* Ajout de nouvelles balises Papyrus, ajout vérification mise à jour de Papyrus, meilleure gestion des sessions...
*
* Revision 1.3 2004/10/22 17:23:35 jpm
* Amélioration de la gestion de l'erreur si pas d'appli.
*
* Revision 1.2 2004/06/17 08:04:44 jpm
* Changement de constante pour les chemin d'accès à la biblio de code de Papyrus.
*
* Revision 1.1 2004/06/16 08:13:58 jpm
* Changement de nom de Génésia en Papyrus.
* Changement de l'arborescence.
*
* Revision 1.32 2004/05/10 12:24:55 jpm
* Amélioration de la recherche des fichiers de squelette.
*
* Revision 1.31 2004/05/05 10:42:35 jpm
* Amélioration de la gestion de l'internationalisation.
*
* Revision 1.30 2004/05/05 08:25:37 jpm
* Modification de la façon d'ajouter la feuille de style de débogage pour qu'elle soit prise en compte par défaut.
*
* Revision 1.29 2004/05/03 14:12:04 jpm
* Suppression du fichier bibliothèquie de fonctions sur gen_menu.
*
* Revision 1.28 2004/05/03 11:21:58 jpm
* Fin de la gestion des applettes et suppression de l'info_menu_hierarchie de _GEN_commun.
*
* Revision 1.27 2004/05/01 17:22:55 jpm
* Appel de la bibliothèque de fonctions concernant les menus.
*
* Revision 1.26 2004/05/01 16:19:36 jpm
* Suppression du code ayant pu être transformé en applettes (menu multi-niveaux, menu unique, menu commun, identification, sélecteur de sites).
*
* Revision 1.25 2004/05/01 11:39:38 jpm
* Déplacement du code gérant les applettes et du code de récupération du contenu du fichier squelette.
*
* Revision 1.24 2004/04/28 12:04:31 jpm
* Changement du modèle de la base de données.
*
* Revision 1.23 2004/04/22 08:30:47 jpm
* Transformation de $GS_GLOBAL en $_GEN_commun.
*
* Revision 1.22 2004/04/21 07:55:02 jpm
* Ajout de la feuille de style de débogage si le débogage de Génésia est activé.
*
* Revision 1.19 2004/04/09 16:20:54 jpm
* Extraction de la gestion du cache et de l'envoi.
* Gestion des tables i18n.
*
* Revision 1.18 2004/04/08 12:29:48 jpm
* Début amélioration de la gestion du cache et de la compression des pages de Génésia.
*
* Revision 1.17 2004/04/05 16:38:04 jpm
* Utilisation des nouvelles fonctions gérant l'insertion du Javascript.
*
* Revision 1.16 2004/04/02 16:30:56 jpm
* Gestion de la balise Génésia IDENTIFICATION permettant l'envoie d'un formulaire de login.
*
* Revision 1.15 2004/04/01 11:27:13 jpm
* Ajout et modification de commentaires pour PhpDocumentor.
*
* Revision 1.14 2004/03/31 16:50:10 jpm
* Prise en compte du nouveau modèle de Génésia révision 1.9.
*
* Revision 1.13 2004/03/27 11:07:45 jpm
* Modification des commentaires vis à vis du nouveau modèle.
* Mise en conformité avec la convention de codage.
* Amélioration du code.
*
* Revision 1.12 2004/03/23 17:06:44 jpm
* Ajout de commentaire dans l'entête.
* Mise en conformité avec la convention de codage.
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>