//Autres auteurs : *@author Aucun *@copyright Tela-Botanica 2000-2005 *@version $Revision: 1.3 $ $Date: 2007-04-19 16:53:20 $ // +------------------------------------------------------------------------------------------------------+ */ // +------------------------------------------------------------------------------------------------------+ // | ENTETE du PROGRAMME | // +------------------------------------------------------------------------------------------------------+ // Définition de constantes /** Chemin et nom du fichier de configuration principal de Papyrus.*/ define('PAP_FICHIER_CONFIG', 'papyrus/configuration/pap_config.inc.php'); /** Chemin et nom du fichier de configuration avancée de Papyrus.*/ define('PAP_FICHIER_CONFIG_AVANCEE', 'papyrus/configuration/pap_config_avancee.inc.php'); /** Chemin et nom du fichier Pear HTTP.*/ define('PAP_FICHIER_PEAR_HTTP', 'api/pear/HTTP.php'); // +------------------------------------------------------------------------------------------------------+ // | CORPS du PROGRAMME | // +------------------------------------------------------------------------------------------------------+ // Nous vérifions que ce fichier n'est pas accédé directement if (!isset($_SERVER['REDIRECT_STATUS'])) { header('Location: /'); } // +------------------------------------------------------------------------------------------------------+ // Recherche du chemin vers papyrus. preg_match('/^(\/.*?)([^\/]+?)(?:\?(.*)|)$/', $_SERVER['REQUEST_URI'], $tab_raccourci); $raccourci = $tab_raccourci[2]; $chemin_papyrus = $tab_raccourci[1]; $parametres = ''; if (isset($tab_raccourci[2])) { $parametres = $tab_raccourci[2]; } // Inclusion des fichiers, si échec on redirige vers la racine du site if (file_exists(PAP_FICHIER_CONFIG) && file_exists(PAP_FICHIER_CONFIG_AVANCEE) && file_exists(PAP_FICHIER_PEAR_HTTP)) { /** Inclusion du fichier de configuration de Papyrus permettant de se conecter à la base de données. */ require_once PAP_FICHIER_CONFIG; /** Inclusion du fichier de configuration de Papyrus permettant d'avoir des infos sur la structure de l'url. */ require_once PAP_FICHIER_CONFIG_AVANCEE; /** Inclusion de l'objet PEAR servant à négocier le language avec le navigateur client. */ require_once PAP_FICHIER_PEAR_HTTP; } else { header('Location: /'); } // Utilisation de la fonction statique de Pear HTTP pour négocier l'i18n. $aso_i18n_possible = array(GEN_I18N_ID_DEFAUT => true); $i18n = HTTP::negotiateLanguage($aso_i18n_possible, GEN_I18N_ID_DEFAUT); // Redirection vers le fichier erreur de Papyrus s'il existe $fichier_erreur = sprintf(PAP_FICHIER_ERREUR_HTTP, $i18n, $_GET['erreur']); if (file_exists($fichier_erreur)) { header ('Location: '.dirname(PAP_URL).sprintf(PAP_URL_ERREUR_HTTP, $i18n, $_GET['erreur'], $_SERVER['REQUEST_URI'])); } else { echo 'ERREUR Papyrus : Impossible de trouver le fichier de l\'erreur '.$_GET['erreur'].'
'. 'Chemin fichier erreur : '.$fichier_erreur.'
'. 'Veuillez le créer ou supprimer l\'entrée correspondante dans le fichier .htaccess.
'. 'Ligne n° : '. __LINE__ .'
'. 'Fichier : '. __FILE__ ; } exit(0); /* +--Fin du code ----------------------------------------------------------------------------------------+ * * $Log: not supported by cvs2svn $ * Revision 1.2 2006/10/26 16:29:52 jp_milcent * Correction erreur redirection en boucle. * * Revision 1.1 2006/10/18 10:18:05 jp_milcent * Gestion des erreurs HTTP par Papyrus. * * Revision 1.5 2006/10/18 09:27:32 jp_milcent * Gestion des erreurs 404 uniquement. * * * +-- Fin du code ----------------------------------------------------------------------------------------+ */ ?>