Rev 95 | Rev 191 | 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) 2001 COUDOUNEAU Laurent (lc@gsite.org) |// | Copyright (C) 1999-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: papyrus.php,v 1.7 2004-11-24 18:33:05 jpm Exp $/*** Papyrus : programme principale appelant différent fichier à inclure dans un ordre précis.** La page contient l'appel aux fonctions de l'application de vérification de l'installation puis* l'appel du fichier réalisant l'initialisation. Enfin, l'appel du fichier réalisant le rendu et* retournant la page au navigateur client.**@package Papyrus//Auteur original :*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>//Autres auteurs :*@author Alexandre GRANIER <alex@tela-botanica.org>*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>*@copyright Tela-Botanica 2000-2004*@version $Revision: 1.7 $ $Date: 2004-11-24 18:33:05 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | ENTÊTE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+// Création des variables globale de Papyrus$GLOBALS['_GEN_commun'] = array();$GLOBALS['_PAPYRUS_'] = array();$GLOBALS['chrono_flash'] = array();// Première mesure du chronométrage$chrono_flash['depart'] = microtime();// Vérification de la configuration de Papyrus/** Inclusion du programme de vérification de Papyrus.* Il vérifie différent paramètres nécessaire au bon fonctionnement de Papyrus,* dont la présence des fichiers de configuration.* C'est en fonction des paramètres déterminés par ce programme que l'application* Installateur est appelée si besoin est.*/require_once 'papyrus/pap_verification.inc.php';$chrono_flash['Vérification'] = microtime();/** Inclusion API débogage : Gestionnaire d'erreur* Ajout de la bibliothèque de fonctions permettant d'encpasuler les erreurs PHP.*/include_once GEN_CHEMIN_API.'debogage_1.0/BOG_Gestionnaire_Erreur.class.php';/** Inclusion API débogage : chronométrage* Ajout de la bibliothèque de fonctions permettant d'analyser le temps d'execution de Papyrus.*/include_once GEN_CHEMIN_API.'debogage_1.0/BOG_chrono.fonct.php';/** Inclusion API débogage : Gestionnaire d'erreurs sql* Ajout de la bibliothèque de fonctions de débogage d'erreurs SQL.*/require_once GEN_CHEMIN_API.'debogage_1.0/BOG_sql.fonct.php';// +------------------------------------------------------------------------------------------------------+// | CORPS du PROGRAMME |// +------------------------------------------------------------------------------------------------------+// +------------------------------------------------------------------------------------------------------+// Création du gestionnaire d'erreur de Papyrus$_GEN_commun['debogage_erreur'] = &new BOG_Gestionnaire_Erreur(GEN_DEBOGAGE_CONTEXTE, GEN_CSS_ERREUR);// +------------------------------------------------------------------------------------------------------+// Appel de l'application Installateur de Papyrus si nécessaireif ($_GEN_commun['erreur_instal_afaire'] == true) {include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php';$_GEN_commun['sortie'] = afficherContenuCorps();include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';// Fin du programme Papyrus.exit(0);}// +------------------------------------------------------------------------------------------------------+// Gestion de la connexion à la base de donnéesrequire_once GEN_CHEMIN_PAP.'pap_connecte_bdd.inc.php';$chrono_flash['Connexion BdD'] = microtime();// +------------------------------------------------------------------------------------------------------+// Initialisation des informations provenant de la base de données de Papyrus/** <br> Inclusion du programme d'initialisation de Papyrus.* Nous récupérons alors les infos sur le site, la langue, le menu, l'application liée et les informations sur la page* depuis la base de données de Papyrus. Ces informations correspondent au paramètres passés dans l'url demandée par* l'utilisateur.Nous créons aussi la représentation sous forme d'objet de l'URL* courante demandée par l'utilisateur.*/require_once GEN_CHEMIN_PAP.'pap_initialise_info.inc.php';$chrono_flash['Initialisation des info'] = microtime();// +------------------------------------------------------------------------------------------------------+// Inclusion des fichiers de traduction de Papyrusif (file_exists(GEN_CHEMIN_LANGUE.'pap_langue_'.$_GEN_commun['i18n'].'.inc.php')) {/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/require_once GEN_CHEMIN_LANGUE.'pap_langue_'.$_GEN_commun['i18n'].'.inc.php';} else {/** Inclusion du fichier de traduction par défaut.*/require_once GEN_CHEMIN_LANGUE.'pap_langue_'.GEN_I18N_ID_DEFAUT.'.inc.php';}// +------------------------------------------------------------------------------------------------------+// Réglage supplémentaire du gestionnaire d'erreurs$_GEN_commun['debogage_erreur']->ecrireLangue($_GEN_commun['i18n']);$_GEN_commun['debogage_erreur']->ecrireTxtTete(PAP_LANG_DEBOG_TETE);$_GEN_commun['debogage_erreur']->ecrireTxtPied(PAP_LANG_DEBOG_PIED);$tab_traduction = array(PAP_LANG_DEBOG_NIVEAU, PAP_LANG_DEBOG_FICHIER, PAP_LANG_DEBOG_LIGNE, PAP_LANG_DEBOG_CONTEXTE);$_GEN_commun['debogage_erreur']->ecrireTraduction($tab_traduction);// +------------------------------------------------------------------------------------------------------+// Initialisation de l'authentification si nécessaire/** <br> Inclusion du programme d'initialisation de Auth et des Sessions utilisées par Papyrus.* Suite à la récupération des infos sur le site, la langue, le menu, l'application liée et les infos sur la page,* nous demandons l'identification et nous déclenchons une session si le site le demande.*/if ($_GEN_commun['info_site']->gs_ce_auth > 0) {include_once GEN_CHEMIN_PAP.'pap_initialise_auth.inc.php';$chrono_flash['Initialisation auth'] = microtime();}// +------------------------------------------------------------------------------------------------------+// Mise en cache de la page si nécessaire/** <br> Inclusion du programme de gestion du cache de Papyrus.* Nous supprimons, si l'application le demande, les pages en cache périmées et nous recherchons* la page demandée dans le cache.Si la page est trouvé nous la renvoyons et le programme* s'arrête ici. Sinon, nous continuons.*/if (isset($_GEN_commun['info_application']->cache) && $_GEN_commun['info_application']->cache) {include_once GEN_CHEMIN_PAP.'pap_cache.inc.php';}// +------------------------------------------------------------------------------------------------------+// Réalisation du rendu de la page/** <br> Inclusion du programme de rendu de Génésia.* Il appelle l'application demandée et créé la page grâce au fichier squelette et aux balises incluses dedans.*/require_once GEN_CHEMIN_PAP.'pap_rendu.inc.php';$chrono_flash['Rendu'] = microtime();// +------------------------------------------------------------------------------------------------------+// Gestion du stockage en cache de la page demandée et de son envoi au navigateur client si nécessaire./** <br> Inclusion du programme d'envoi de la page demandée.* Il stocke la page en cache et la renvoi après compression s'il existe des données à renvoyer.*/if (! empty($_GEN_commun['sortie'])) {if (GEN_DEBOGAGE) {// En cas de chronométrage, nous insérons le tableau des résultats.$debogage = BOG_afficherChrono(12);$_GEN_commun['sortie'] = str_replace('<!-- '.$_GEN_commun['balise_prefixe'].'CHRONOMETRAGE -->', $debogage, $_GEN_commun['sortie']);// Gestion des erreurs et du débogage$_GEN_commun['debogage_info'] .= $_GEN_commun['debogage_erreur']->retournerErreurs();$_GEN_commun['sortie'] = str_replace('<!-- '.$_GEN_commun['balise_prefixe'].'DEBOGAGE -->', $_GEN_commun['debogage_info'], $_GEN_commun['sortie']);}include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';}// Fin du programme Papyrus.exit(0);/* +--Fin du code ---------------------------------------------------------------------------------------+* $Log: not supported by cvs2svn $* Revision 1.6 2004/10/22 17:24:53 jpm* Amélioration de l'inclusion des fichiers et des tests.** Revision 1.5 2004/09/28 14:57:53 jpm* Création d'une balise propre au débogage.** Revision 1.4 2004/09/10 16:39:04 jpm* Ajout des infos de débogage à la sortie.** Revision 1.3 2004/07/06 17:27:23 jpm* Suppression d'inclusion du fichier de fonctions inutilisées dans Papyrus.** Revision 1.2 2004/06/16 15:10:24 jpm* Ajout de constantes de chemins.** Revision 1.1 2004/06/15 10:15:12 jpm* Changement de nom et d'arborescence de Genesia en Papyrus.** Revision 1.16 2004/04/28 12:04:31 jpm* Changement du modèle de la base de données.** Revision 1.15 2004/04/22 08:31:49 jpm* Transformation de $GS_GLOBAL en $_GEN_commun.** Revision 1.14 2004/04/21 16:24:29 jpm* Ajout d'un fichier spécifique pour la connexion à la base de données et incluant les classes DataObject de Pear.** Revision 1.12 2004/04/21 08:02:14 jpm* Ajout de mesure du temps d'éxecution de Génésia.** Revision 1.11 2004/04/09 16:33:34 jpm* Changement des noms de fichier gen_initialisation...** Revision 1.10 2004/04/09 16:19:40 jpm* Ajout des fichiers indépendants d'envoi et de cache.** Revision 1.9 2004/04/08 14:13:47 jpm* Ajout de l'inclusion du fichier de vérification.** Revision 1.8 2004/04/02 16:28:12 jpm* Ajout de l'inclusion du fichier gen_initialisation_pear.inc.php.** Revision 1.7 2004/04/01 11:27:13 jpm* Ajout et modification de commentaires pour PhpDocumentor.** Revision 1.6 2004/03/31 16:49:30 jpm* Modifications mineures.** Revision 1.5 2004/03/27 11:01:06 jpm* Ajout de l'appel des fonctions d'installation.** Revision 1.4 2004/03/25 11:51:06 jpm* Changement nom dossier noyau en génésia dans les chemins.** Revision 1.3 2004/03/23 17:06:14 jpm* Ajout de commentaire dans l'entête.** Revision 1.2 2004/03/23 16:30:42 jpm* Ajout de commentaires.* Changement des noms des fichiers appelés.** Revision 1.1 2004/03/23 10:22:34 jpm* Page principale de l'application Génésia.*** +--Fin du code ----------------------------------------------------------------------------------------+*/?>