Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 4 → Rev 5

/trunk/papyrus/pap_rendu.inc.php
New file
0,0 → 1,408
<?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.1 2004-06-16 08:13:58 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 Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
//Autres auteurs :
*@author Alexandre GRANIER <alexadandre@tela-botanica.org>
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 08:13:58 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | 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_PAP.'bibliotheque/fonctions/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_PAP.'bibliotheque/fonctions/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_PAP.'bibliotheque/fonctions/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'])) {
$chemin_squelette = $_GEN_commun['traduction_info_site']->gs_fichier_squelette;
} else {
$chemin_squelette = $_GEN_commun['info_site']->gs_fichier_squelette;
}
} else {
if (isset($_GEN_commun['traduction_info_menu'])) {
$chemin_squelette = $_GEN_commun['traduction_info_menu']->gs_fichier_squelette;
} else {
$chemin_squelette = $_GEN_commun['info_menu']->gm_fichier_squelette;
}
}
// Si l'information concernant le chemin est réellement un chemin
if (! file_exists($chemin_squelette)) {
//Si ce n'est qu'un nom de fichier squelette
$chemin_test = GEN_CHEMIN_SITES.
$_GEN_commun['info_site']->gs_code_alpha.'/'.
$_GEN_commun['i18n'].'/'.GEN_DOSSIER_SQUELETTE.'/'.$chemin_squelette;
if (! file_exists($chemin_test)) {
die('ERREUR Génésia : Impossible de trouver de fichier de squelette. <br />'.
'Chemin fichier squelette : '.$chemin_squelette.' <br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__ );
} else {
$chemin_squelette = $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
// $contenu_squelette = file_get_contents ($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)) {
$titre = htmlentities($_GEN_commun['info_menu']->gm_titre);
} else if (! empty($_GEN_commun['info_menu']->gm_titre_alternatif)) {
$titre = htmlentities($_GEN_commun['info_menu']->gm_titre_alternatif);
} else {
$titre = htmlentities($_GEN_commun['info_menu']->gm_nom);
}
 
// Construction du nom du site
$nom_site = htmlentities($_GEN_commun['info_site']->gs_nom);
 
// Construction des Meta "http-equiv".
$_GEN_commun['meta_http_equiv'] = array();
$jeu_de_caracteres = htmlentities($_GEN_commun['info_i18n']->gi_jeu_de_caracteres);
$langue = htmlentities($_GEN_commun['info_i18n_langue']->gil_id_langue);
GEN_stockerMetaHttpEquiv('Content-Type', 'text/html; charset='.$jeu_de_caracteres);
GEN_stockerMetaHttpEquiv('Content-style-type', 'text/css');
GEN_stockerMetaHttpEquiv('Content-script-type', 'text/javascript');
GEN_stockerMetaHttpEquiv('Content-language', $langue);
 
// Construction des Meta "name".
$_GEN_commun['meta_name'] = array();
$robot = htmlentities($_GEN_commun['info_menu']->gm_robot);
$auteur = htmlentities($_GEN_commun['info_menu']->gm_auteur);
if (empty($auteur)) {
$auteur = htmlentities($_GEN_commun['info_site']->gs_auteur);
}
$mots_cles = htmlentities($_GEN_commun['info_menu']->gm_mots_cles);
if (empty($mots_cles)) {
$auteur = htmlentities($_GEN_commun['info_site']->gs_mots_cles);
}
$description_libre = htmlentities($_GEN_commun['info_menu']->gm_description_libre);
if (empty($description_libre)) {
$description_libre = htmlentities($_GEN_commun['info_site']->gs_description);
}
GEN_stockerMetaName('revisit-after', '15 days');
GEN_stockerMetaName('robots', $robot);
GEN_stockerMetaName('author', $auteur);
GEN_stockerMetaName('keywords', $mots_cles);
GEN_stockerMetaName('description', $description_libre);
 
// Construction des Meta Meta "name" du Dublin Core.
$titre_alternatif = htmlentities($_GEN_commun['info_menu']->gm_titre_alternatif);
$auteur = htmlentities($_GEN_commun['info_menu']->gm_auteur);
$description_resume = htmlentities($_GEN_commun['info_menu']->gm_description_resume);
$description_table_matieres = htmlentities($_GEN_commun['info_menu']->gm_description_table_matieres);
$publieur = htmlentities($_GEN_commun['info_menu']->gm_editeur);
$contributeur = htmlentities($_GEN_commun['info_menu']->gm_contributeur);
$date_creation = htmlentities($_GEN_commun['info_menu']->gm_date_creation);
$date_soumission = htmlentities($_GEN_commun['info_menu']->gm_date_soumission);
$date_acceptation = htmlentities($_GEN_commun['info_menu']->gm_date_acceptation);
$periode_validite = htmlentities($_GEN_commun['info_menu']->gm_date_debut_validite);
$date_copyright = htmlentities($_GEN_commun['info_menu']->gm_date_copyright);
$source = htmlentities($_GEN_commun['info_menu']->gm_source);
$langue_rfc_3066 = $langue.'-'.htmlentities($_GEN_commun['info_i18n_pays']->gip_id_pays);
$type_portee_spatiale = htmlentities($_GEN_commun['info_menu']->gm_ce_type_portee_spatiale);
$portee_spatiale = htmlentities($_GEN_commun['info_menu']->gm_portee_spatiale);
$type_portee_temporelle = htmlentities($_GEN_commun['info_menu']->gm_ce_type_portee_temporelle);
$portee_temporelle = htmlentities($_GEN_commun['info_menu']->gm_portee_temporelle);
$licence = htmlentities($_GEN_commun['info_menu']->gm_licence);
$public = htmlentities($_GEN_commun['info_menu']->gm_public);
$public_niveau = htmlentities($_GEN_commun['info_menu']->gm_public_niveau);
GEN_stockerMetaNameDC('DC.Title', $titre, $langue);
GEN_stockerMetaNameDC('DC.Title.alternative', $titre_alternatif, $langue);
GEN_stockerMetaNameDC('DC.Creator', $auteur);
GEN_stockerMetaNameDC('DC.Subject', $mots_cles, $langue);
GEN_stockerMetaNameDC('DC.Description', $description_libre, $langue);
GEN_stockerMetaNameDC('DC.Description.abstract', $description_resume, $langue);
GEN_stockerMetaNameDC('DC.Description.tableOfContents', $description_table_matieres, $langue);
GEN_stockerMetaNameDC('DC.Publisher', $publieur);
GEN_stockerMetaNameDC('DC.Contributor', $contributeur);
GEN_stockerMetaNameDC('DC.Date.created', $date_creation, '', 'W3CDTF');
GEN_stockerMetaNameDC('DC.Date.valid', $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', $date_soumission, '', 'W3CDTF');
GEN_stockerMetaNameDC('DC.Date.dateCopyrighted', $date_copyright, '', 'W3CDTF');
GEN_stockerMetaNameDC('DC.Date.dateAccepted', $date_acceptation, '', 'W3CDTF');
GEN_stockerMetaNameDC('DC.Source', $source, '', 'URI');
GEN_stockerMetaNameDC('DC.Language', $langue_rfc_3066, '', 'RFC3066');
GEN_stockerMetaNameDC('DC.Coverage.spatial', $portee_spatiale, '', $type_portee_spatiale);
GEN_stockerMetaNameDC('DC.Coverage.temporal', $portee_temporelle, '', $type_portee_temporelle);
GEN_stockerMetaNameDC('DC.Rights', $licence, '', 'URI');
GEN_stockerMetaNameDC('DC.Audience', $public);
GEN_stockerMetaNameDC('DC.Audience.educationLevel', $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 Génésia : 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).
$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($application_chemin) ) {
function afficherContenuCorps()
{
echo('Pas d\'application.') ;
}
} else {
if (file_exists($application_chemin)) {
include_once($application_chemin);
} else {
die('ERREUR Génésia : application impossible à charger. <br />'.
'Chemin application : '.$application_chemin.' <br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__ );
}
}
 
// +------------------------------------------------------------------------------------------------------+
// Recherche des informations provenant de l'application pour la complétion du squelette
 
// Tableau associatif contenant les différentes parties du contenu à afficher
$aso_zone_contenu = array();
 
// Contenu tête
// Appel de la fonction afficherContenuTete() si elle existe.
$aso_zone_contenu['contenu_tete'] = (function_exists('afficherContenuTete') ? afficherContenuTete() : str_repeat(' ', 12).'&nbsp;');
 
// Contenu corps
// Appel de la fonction afficherContenuCorps().
if (function_exists('afficherContenuCorps') ) {
$aso_zone_contenu['contenu_corps'] = afficherContenuCorps();
} else {
$aso_zone_contenu['contenu_corps'] =
'ERREUR Génésia : 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.
$aso_zone_contenu['contenu_pied'] = (function_exists('afficherContenuPied') ? afficherContenuPied() : str_repeat(' ', 12).'&nbsp;');
 
// +------------------------------------------------------------------------------------------------------+
// 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
$nbr_balise = preg_match_all( '/<!-- ('.$_GEN_commun['info_applette'][$i]->applette_balise.') -->/',
$contenu_squelette,
$tab_applet_arguments,
PREG_SET_ORDER);
// Si on trouve au moins une balise, on lance la boucle pour les remplacer
for ($j = 0; $j <= ($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)) {
$contenu_applette = call_user_func($_GEN_commun['info_applette'][$i]->applette_fonction, $tab_applet_arguments[$j], $_GEN_commun);
} else {
$contenu_applette = '<!-- '."\n".
$tab_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
$contenu_squelette = str_replace('<!-- '.$tab_applet_arguments[$j][1].' -->', $contenu_applette, $contenu_squelette);
}
}
 
// +------------------------------------------------------------------------------------------------------+
// Continuation recherche d'info provenant de Génésia 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.
$meta_http_equiv = GEN_afficherMeta('http-equiv');
$meta_name = GEN_afficherMeta('name');
$meta_name_dc = GEN_afficherMeta('dc');
// Nous récupérons tout les styles CSS pour l'afficher dans l'entête de la page.
$styles = GEN_afficherStyle();
// Nous récupérons tout le Javascript pour l'afficher dans l'entête de la page.
$scripts = GEN_afficherScript();
 
// +------------------------------------------------------------------------------------------------------+
// Remplacement des balises Génésia dans le squelette
 
// Balise de l'entête (head) de la page xhtml
$contenu_squelette = str_replace('<!-- TITRE_PAGE -->', $titre, $contenu_squelette);
$contenu_squelette = str_replace('<!-- META_HTTP_EQUIV -->', $meta_http_equiv, $contenu_squelette);
$contenu_squelette = str_replace('<!-- META_NAME -->', $meta_name, $contenu_squelette);
$contenu_squelette = str_replace('<!-- META_NAME_DC -->', $meta_name_dc, $contenu_squelette);
$contenu_squelette = str_replace('<!-- STYLES -->', $styles, $contenu_squelette);
$contenu_squelette = str_replace('<!-- SCRIPTS -->', $scripts, $contenu_squelette);
// Balise du corps (body) de la page xhtml
$contenu_squelette = str_replace('<!-- NOM_SITE -->', $nom_site, $contenu_squelette);
$contenu_squelette = str_replace('<!-- CONTENU_TETE -->', $aso_zone_contenu['contenu_tete'], $contenu_squelette);
$contenu_squelette = str_replace('<!-- CONTENU_CORPS -->', $aso_zone_contenu['contenu_corps'], $contenu_squelette);
$contenu_squelette = str_replace('<!-- CONTENU_PIED -->', $aso_zone_contenu['contenu_pied'], $contenu_squelette);
 
// +------------------------------------------------------------------------------------------------------+
// Stokage du squelette dans un variable globale aprés avoir remplacer les balises Papyrus.
$_GEN_commun['sortie'] = $contenu_squelette;
 
/* +--Fin du code ---------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* 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 ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/pap_envoi.inc.php
New file
0,0 → 1,94
<?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_envoi.inc.php,v 1.1 2004-06-16 08:11:37 jpm Exp $
/**
* Gestion de l'envoie des pages à afficher.
*
* Ce fichier envoi les données en les compressant si possible.
*
*@package Papyrus
//Auteur original :
*@author Laurent COUDOUNEAU <lc@gsite.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 08:11:37 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
/** <BR> Inclusion de la bibliothèque de fonctions de compression des données à envoyer.*/
include_once './bibliotheque/fonctions/GEN_compression.fonct.php';
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
$page_gzippe = GEN_compresserDonneesZLIB($_GEN_commun['sortie']);
// Nous mettons à jour le cache
if ($_GEN_commun['info_application']->cache) {
// Mise en cache de la page demandée
if ( ($page_gzippe != false) ) {
$contenu_en_cache = (empty($page_gzippe)) ? $_GEN_commun['sortie'] : $page_gzippe;
$requete = 'INSERT INTO gen_page_cache '.
'SET gpc_id_md5_url = "'.GEN_donnerMD5UriPostSession().'", '.
' gpc_ce_site = '.$_GEN_commun['site_info']->gsi_id_site.', '.
' gpc_ce_i18n = "'.$_GEN_commun['site_info']->gsi_id_i18n.'", '.
' gpc_corps = "'.mysql_escape_string($contenu_en_cache).'", '.
' gpc_date_heure = NOW(), '.
' gpc_taille = '.strlen($_GEN_commun['sortie']).', '.
' gpc_gz_taille = '.strlen($contenu_en_cache);
$resultat = $db->query($requete);
(DB::isError($resultat))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
}
}
// Si les données sont compréssées, nous essayons de réaliser un envoi au client.
if (!empty($page_gzippe)) {
if (GEN_envoyerDonneesCompressees($page_gzippe)) {
exit();
}
}
// La compression ne fonctionne pas ou les données ne sont pas compressées,
// nous envoyons directement la page.
echo($_GEN_commun['sortie']);
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.3 2004/04/28 12:04:31 jpm
* Changement du modèle de la base de données.
*
* Revision 1.2 2004/04/22 08:31:43 jpm
* Transformation de $GS_GLOBAL en $_GEN_commun.
*
* Revision 1.1 2004/04/09 16:19:23 jpm
* Ajout du fichier indépendant d'envoi avec gestion des tables i18n.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/presentations/css/debogage.css
New file
0,0 → 1,67
/*--------------------------------------------------------------------------------------------------------------*/
/* Mise en valeur des erreur SQL */
 
#zone_erreur h1 {
text-align: center;
color: red;
font-weight: 600;
}
 
#zone_erreur .champs_intitule {
color: red;
font-weight: 600;
}
 
#zone_erreur .champs_valeur {
color: black;
font-weight: normal;
}
 
/*--------------------------------------------------------------------------------------------------------------*/
/* Tableau du chronométrage du programme */
 
#chrono {
text-align: center;
width:90%;
margin:auto;
}
 
#chrono table {
border:3px solid #6495ed;
border-collapse:collapse;
width:90%;
margin:auto;
}
 
#chrono thead, tfoot {
background-color:#D0E3FA;
border:1px solid #6495ed;
}
 
#chrono tbody {
background-color:#FFFFFF;
border:1px solid #6495ed;
}
 
#chrono th {
font-family:monospace;
border:1px dotted #6495ed;
padding:5px;
background-color:#EFF6FF;
width:25%;
}
 
#chrono td {
font-family:sans-serif;
font-size:80%;
border:1px solid #6495ed;
padding:5px;
text-align:center;
}
 
#chrono caption {
font-family:sans-serif;
text-align: center;
width:90%;
margin:auto;
}
/trunk/papyrus/pap_verification.inc.php
New file
0,0 → 1,118
<?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_verification.inc.php,v 1.1 2004-06-16 08:14:23 jpm Exp $
/**
* Réalisation de la vérification des besoins de Papyrus.
*
* Ce fichier vérifie la présence de certaines extensions nécessaires à Papyrus.
*
*@package Papyrus
//Auteur original :
*@author Laurent COUDOUNEAU <lc@gsite.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 08:14:23 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
/** <br> Inclusion de la bibliotheque de fonctions d'installation et de gestion des erreurs.*/
require_once GEN_CHEMIN_PAP.'bibliotheque/fonctions/pap_verification.fonct.php';
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// Initialisation des variables globales de gestion d'erreur et de l'installation:
$_GEN_commun['erreur_instal_afaire'] = false;
 
// +------------------------------------------------------------------------------------------------------+
// Vérification des variables d'environnement de PHP.
 
// Cette section devrait migré dans l'application Installateur à terme.
 
// Nous avons besoins des "Magic quotes". A VERIFIER!!!
if (get_magic_quotes_gpc() == 0) {
GEN_envoyerMessageErreur('Besoin de la configuration PHP : magic_quotes_gpc = 1');
}
// Nous avons besoin de quelques extensions
if (! extension_loaded('mysql')) {
GEN_envoyerMessageErreur('Besoin de l\'extension : MYSQL');
}
if (! extension_loaded('ftp')) {
GEN_envoyerMessageErreur('Besoin de l\'extension : FTP');
}
if (! extension_loaded('gd')) {
GEN_envoyerMessageErreur('Besoin de l\'extension : GD');
}
 
// +------------------------------------------------------------------------------------------------------+
// Gestion du fichier de configuration (A SUPPRIMER peut être)
 
$chemin_fichier_config_defaut = GEN_CHEMIN_PAP.'configuration/pap_config.inc.php';
 
if (file_exists($chemin_fichier_config_defaut)) {
/** <br> Inclusion du fichier de configuration contenant les constantes de Génésia.*/
include_once($chemin_fichier_config_defaut);
} else {
die('ERREUR Génésia : impossible de trouver le fichier de configuration.<br />'.
'Chemin recherché : '.$chemin_fichier_config_defaut.'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br />');
}
 
// Niveau d'erreur pour le code PHP de Papyrus
error_reporting(GEN_DEBOGAGE_NIVEAU);
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.7 2004/05/10 12:24:24 jpm
* Configuration de la gestion des niveaux d'erreur.
*
* Revision 1.6 2004/04/28 12:04:31 jpm
* Changement du modèle de la base de données.
*
* Revision 1.5 2004/04/23 09:24:47 jpm
* Suppression recherche ip et port.
*
* Revision 1.4 2004/04/22 08:23:47 jpm
* Transformation de $GS_GLOBAL en $_GEN_commun.
*
* Revision 1.3 2004/04/09 16:21:23 jpm
* Extraction de la gestion de la connexion à la BdD transféré dans genesia.php.
*
* Revision 1.2 2004/04/08 14:13:02 jpm
* Suppression de code inutile et renomage de fonctions.
*
* Revision 1.1 2004/04/08 12:29:00 jpm
* Ajout du code réalisant les vérification nécessaires au fonctionnement de Génésia.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/pap_cache.inc.php
New file
0,0 → 1,117
<?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_cache.inc.php,v 1.1 2004-06-16 08:11:01 jpm Exp $
/**
* Gestion de la suppression et de la recherche dans le cache.
*
* Ce fichier n'est utilisé que si le site utilise la gestion du cache proposée
* par Papyrus.
* Il commence par supprimer les pages en cache trop anciennes et recherche en suite
* la présence de la page demandée dans le cache. Si elle est trouvée la page est renvoyée
* directement et le programme s'arrête ici. Si elle n'est pas trouvée, le programme de rendu
* la reconstruit et le programme d'envoi la sotcke dans le cache.
*
*@package Papyrus
//Auteur original :
*@author Laurent COUDOUNEAU <lc@gsite.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 08:11:01 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
/** <BR> Inclusion de la bibliothèque de fonctions de gestion du cache.*/
include_once './bibliotheque/fonctions/GEN_cache.fonct.php';
 
/** <BR> Inclusion de la bibliothèque de fonctions de compression des données à envoyer.*/
include_once './bibliotheque/fonctions/GEN_compression.fonct.php';
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// Gestion de la recherche dans le cache de la page demandée.
 
/*
// Utilisons nous le cache ?
if (! $GS_ARGUMENTS['cachectrl']) {
//header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
//header ("Pragma: no-cache"); // HTTP/1.0
}
*/
 
// Nous supprimons les pages en cache dont le délai de mise en cache est dépassé.
$duree_cache = $_GEN_commun['application_info']->cache_duree * 3600;
if ($duree_cache > 0) {
$requete = 'DELETE FROM gen_page_cache '.
'WHERE gpc_ce_site = '.$_GEN_commun['site_info']->gsi_id_site.' '.
'AND gpc_ce_i18n = "'.$_GEN_commun['site_info']->gsi_id_i18n.'" '.
'AND gpc_date_heure + '.$duree_cache.' < NOW()';
$resultat = $db->query($requete);
(DB::isError($resultat))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
}
 
// Vérification de la présence de la page demandée dans le cache.
$requete = 'SELECT * '.
'FROM gen_page_cache '.
'WHERE gpc_ce_site = '.$_GEN_commun['site_info']->gsi_id_site.' '.
'AND gpc_ce_i18n = "'.$_GEN_commun['site_info']->gsi_id_i18n.'" '.
'AND gpc_id_md5_url = "'.GEN_donnerMD5UriPostSession().'"';
 
$resultat = $db->query($requete);
(DB::isError($resultat))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
 
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
$resultat->free();
 
// Nous avons trouvé la page. Nous essayons de la renvoyer.
if ($ligne == true) {
if ( GEN_envoyerDonneesCompressees($ligne->gpc_corps) ) {
// Si l'envoie des données à réussi nous arrétons le script ICI.
exit();
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.2 2004/04/22 08:29:55 jpm
* Transformation de $GS_GLOBAL en $_GEN_commun.
*
* Revision 1.1 2004/04/09 16:19:15 jpm
* Ajout du fichier indépendant du cache avec gestion des tables i18n.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/pap_initialise_info.inc.php
New file
0,0 → 1,549
<?php
//vim: set expandtab tabstop=4 shiftwidth=4:
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2001 COUDOUNEAU Laurent (lc@gsite.org) |
// | Copyright (C) 2003 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_initialise_info.inc.php,v 1.1 2004-06-16 08:13:20 jpm Exp $
/**
*Initialisation de Papyrus : vérification et récupération de paramètres généraux.
*
* La page contient le code initialisant l'éxecution du rendu d'une page par Papyrus.
* Nous y trouvons la recherche des informations disponibles sur :
* - le site présent sur le serveur demandé,
* - l'identification,
* - la langue,
* - le menu,
* - la page
* - l'application
*
*@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.1 $ $Date: 2004-06-16 08:13:20 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
/** <br> Inclusion de la bibliothèque de fonctions servant à l'initialisation des variables globales de Papyrus. */
require_once GEN_CHEMIN_PAP.'bibliotheque/fonctions/pap_initialisation.fonct.php';
 
/** <br> Inclusion de l'objet PEAR servant à négocier le language avec le navigateur client. */
require_once 'HTTP.php';
 
/** <br> Inclusion de la classe PEAR gérant les URL.
* Utilisé pour l'url demandée par le client.
*/
require_once 'Net/URL.php';
 
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// Gestion des sites : disponiblent sur le serveur courant.
 
/** Nous recherchons la valeur de l'abréviation du site passée dans l'url.
* Si nous trouvons pas l'abréviation d'un site dans l'url, nous recherchons cette valeur
* grâce aux variables d'Apache : $serverName et $serverPort.
*/
if ( (! isset($_GET[GEN_URL_CLE_SITE])) || (empty($_GET[GEN_URL_CLE_SITE])) ) {
$requete = 'SELECT gen_site.* '.
'FROM gen_site, gen_site_relation '.
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
'AND gsr_id_valeur = 101 '.// 101 = site défaut
'AND gsr_id_site_01 = gs_id_site';
$resultat = $db->query($requete);
if (DB::isError($resultat)) {
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
}
// Aucun site trouvé
if ($resultat->numRows() == 0) {
die( 'ERREUR Génésia : impossible de trouver de sites.<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br />');
}
// Nous avons trouvé un site.
$_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$resultat->free();
if (GEN_URL_ID_TYPE_SITE == 'int') {
$_GEN_commun['url_site'] = $_GEN_commun['info_site']->gs_code_num;
} else {
$_GEN_commun['url_site'] = $_GEN_commun['info_site']->gs_code_alpha;
}
} else {
// Récupération de la valeur identifiant le site depuis l'url
$_GEN_commun['url_site'] = $_GET[GEN_URL_CLE_SITE];
// Récupération des informations sur le site
$requete = 'SELECT * '.
'FROM gen_site, gen_site_relation '.
'WHERE gsr_id_site_01 = gsr_id_site_02 '.
'AND gsr_id_valeur = 102 '.// 102 = site principal
'AND gsr_id_site_01 = gs_id_site '.
'AND ';
$requete .= (GEN_URL_ID_TYPE_SITE == 'int')
? 'gs_code_num = '.$_GEN_commun['url_site']
: 'gs_code_alpha = "'.$_GEN_commun['url_site'].'"';
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
$_GEN_commun['info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$resultat->free();
}
 
//Gestion de l'erreur aucun site trouvable.
if (! isset($_GEN_commun['info_site'])) {
die('ERREUR Génésia : impossible de trouver les informations du site.<br />'.
'Site : '.$_GEN_commun['url_site'].'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br />');
}
 
// +------------------------------------------------------------------------------------------------------+
// Récupération des informations d'identification pour le site
if ($_GEN_commun['info_site']->gs_ce_auth != 0) {
// Récupération des informations sur le site
$requete_auth = 'SELECT * '.
'FROM gen_site_auth '.
'WHERE gsa_id_auth = '.$_GEN_commun['info_site']->gs_ce_auth;
$resultat_auth = $db->query($requete_auth);
(DB::isError($resultat_auth))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_auth->getMessage(), $requete_auth))
: '';
$_GEN_commun['info_auth'] = $resultat_auth->fetchRow(DB_FETCHMODE_OBJECT);
$resultat_auth->free();
if ($_GEN_commun['info_auth']->gsa_ce_auth_bdd != 0) {
//Identification via une base de donnée :
$requete_auth_bdd = 'SELECT * '.
'FROM gen_site_auth_bdd '.
'WHERE gsab_id_auth_bdd = '.$_GEN_commun['info_auth']->gsa_ce_auth_bdd;
$resultat_auth_bdd = $db->query($requete_auth_bdd);
(DB::isError($resultat_auth_bdd))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_auth_bdd->getMessage(), $requete_auth_bdd))
: '';
$_GEN_commun['info_auth_bdd'] = $resultat_auth_bdd->fetchRow(DB_FETCHMODE_OBJECT);
$resultat_auth_bdd->free();
} else if ($_GEN_commun['info_auth']->gsa_ce_auth_ldap != 0) {
//Identification via LDAP :
$requete_auth_ldap = 'SELECT * '.
'FROM gen_site_auth_ldap '.
'WHERE gsal_id_auth_ldap = '.$_GEN_commun['info_auth']->gsa_ce_auth_ldap;
$resultat_auth_ldap = $db->query($requete_auth_ldap);
(DB::isError($resultat_auth_ldap))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_auth_ldap->getMessage(), $requete_auth_ldap))
: '';
$_GEN_commun['info_auth_ldap'] = $resultat_auth_ldap->fetchRow(DB_FETCHMODE_OBJECT);
$resultat_auth_ldap->free();
} else {
die('ERREUR Génésia : impossible de trouver les information authentification. <br />'.
'Identifiant auth : '.$_GEN_commun['info_site']->gs_ce_auth.'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__ );
}
}
// +------------------------------------------------------------------------------------------------------+
// Gestion de l'internationalisation du site
 
// Nous recherchons la valeur de l'internationalisation du site passée dans l'url ou présente
// dans le navigateur du client. Si nous trouvons pas la langue dans l'url, récupération depuis
// le navigateur et comparaison aux langues disponibles pour le site demandé.
// Initialisation de variable :
$i18n = '';
// Nous recherchons les internationalisations disponibles pour le site demandé.
// Si un site possède une traduction, il peut alors posséder des menus traduits.
$requete = 'SELECT gs_ce_i18n '.
'FROM gen_site, gen_site_relation '.
'WHERE gsr_id_site_01 = '.$_GEN_commun['info_site']->gs_id_site.' '.
'AND gsr_id_site_02 = gs_id_site '.
'AND gsr_id_valeur = 1 '.
'ORDER BY gsr_ordre';
 
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
 
// Récupération de la première valeur de langue d'un site.
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
 
if (! $ligne) {
// Pas de traduction pour le site: nous regardons si le site possede une valeur d'i18n.
if (! empty($_GEN_commun['info_site']->gs_ce_i18n) ) {
$i18n_possible = array($_GEN_commun['info_site']->gs_ce_i18n => true);
} else {
// Sinon utilisation de la valeur par défaut définit dans le fichier de config.
$i18n_possible = array(GEN_I18N_ID_DEFAUT => true);
}
// Utilisation de la fonction statique de Pear HTTP pour négocier cette i18n.
$i18n = HTTP::negotiateLanguage($i18n_possible);
} else {
// La première traduction du site
// peut être utilisé comme valeur par défaut.
$i18n_site_url = $ligne->gs_ce_i18n;
// Stockage des valeurs de l'i18n dans un tableau
$aso_i18n_site = array();
$aso_i18n_site[$_GEN_commun['info_site']->gs_ce_i18n] = true;
$aso_i18n_site[$ligne->gs_ce_i18n] = true;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$aso_i18n_site[$ligne->gs_ce_i18n] = true;
}
$resultat->free();
// Utilisation de la fonction statique de Pear HTTP pour négocier cette i18n.
$i18n = HTTP::negotiateLanguage($aso_i18n_site, $i18n_site_url);
}
// Nous stockons la valeur trouvé pour l'url demandée dans la variable globale de Génésia.
$_GEN_commun['i18n'] = $i18n;
 
// Recherche de la présence de la valeur d'i18n dans l'url
if ( (! isset($_GET[GEN_URL_CLE_I18N])) || (empty($_GET[GEN_URL_CLE_I18N])) ) {
$_GEN_commun['url_i18n'] = '';
} else {
// L'i18n est trouvé dans l'url, nous écrasons donc la valeur i18n.
$_GEN_commun['url_i18n'] = $_GET[GEN_URL_CLE_I18N];
$_GEN_commun['i18n'] = $_GEN_commun['url_i18n'];
}
 
// Nous récupérons des informations sur l'internationalisation
$requete = 'SELECT * '.
'FROM gen_i18n '.
'WHERE gi_id_i18n = "'.$_GEN_commun['i18n'].'"';
 
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
 
$_GEN_commun['info_i18n'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$resultat->free();
 
//Gestion de l'erreur aucune internationalisation trouvable.
if (empty($_GEN_commun['i18n'])) {
die('ERREUR Génésia : valeur internationalisation introuvable. <br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__ );
}
 
// Récupération des informations sur la langue
$requete = 'SELECT * '.
'FROM gen_i18n_langue '.
'WHERE gil_id_langue = "'.$_GEN_commun['info_i18n']->gi_ce_langue.'"';
 
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
 
$_GEN_commun['info_i18n_langue'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$resultat->free();
 
// Récupération des informations sur le pays
$requete = 'SELECT * '.
'FROM gen_i18n_pays '.
'WHERE gip_id_pays = "'.$_GEN_commun['info_i18n']->gi_ce_pays.'"';
 
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
 
$_GEN_commun['info_i18n_pays'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$resultat->free();
 
// +------------------------------------------------------------------------------------------------------+
// Gestion des menus
 
// Nous vérifions le cas où le code du menu est introuvable dans l'url.
if ( (! isset($_GET[GEN_URL_CLE_MENU])) || (empty($_GET[GEN_URL_CLE_MENU])) ) {
// Recherche du premier menu du site courant:
$requete = 'SELECT gen_menu.* '.
'FROM gen_menu, gen_menu_relation '.
'WHERE gm_ce_site = '.$_GEN_commun['info_site']->gs_id_site.' '.
'AND gmr_id_menu_01 = gm_id_menu '.
'AND gmr_id_menu_01 = gmr_id_menu_02 '.
'AND gmr_id_valeur = 101 ';// 101 = menu par "defaut"
$resultat = $db->query($requete);
(DB::isError($resultat))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
// Nous avons trouvé un menu "défaut" pour le site courant.
$_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$resultat->free();
// Stockage du code du menu demandée dans la variable globale de Papyrus.
if (GEN_URL_ID_TYPE_MENU == 'int') {
$_GEN_commun['url_menu'] = $_GEN_commun['info_menu']->gm_code_num;
} else {
$_GEN_commun['url_menu'] = $_GEN_commun['info_menu']->gm_code_alpha;
}
} else {
// Le code du menu est présent dans l'url nous la récupérons dans la variable globale de Papyrus.
$_GEN_commun['url_menu'] = $_GET[GEN_URL_CLE_MENU];
// Récupération des informations sur le menu demandé
$requete = 'SELECT * '.
'FROM gen_menu '.
'WHERE gm_ce_site = '.$_GEN_commun['info_site']->gs_id_site.' '.
'AND ';
$requete .= (GEN_URL_ID_TYPE_MENU == 'int')
? 'gm_code_num = '.$_GEN_commun['url_menu']
: 'gm_code_alpha = "'.$_GEN_commun['url_menu'].'"';
$resultat = $db->query($requete);
(DB::isError($resultat))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
$_GEN_commun['info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
$resultat->free();
}
 
if (empty($_GEN_commun['url_menu'])) {
die('ERREUR Génésia : identifiant de menu introuvable. <br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier : '. __FILE__ );
}
 
// +------------------------------------------------------------------------------------------------------+
// Gestion des traductions
 
// Si le résultat de la négociation de l'internationalisation donne une langue différente
// de celle du site principal, nous récupérons les éventuelles valeurs traduite pour le site.
if ($_GEN_commun['i18n'] != $_GEN_commun['info_site']->gs_ce_i18n) {
// Récupération des informations sur la traduction du site
$requete = 'SELECT * '.
'FROM gen_site '.
'WHERE gs_ce_i18n = "'.$_GEN_commun['i18n'].'" '.
'AND gs_code_alpha = "'.$_GEN_commun['info_site']->gs_code_alpha.'"';
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
// Nous crééons l'entrée 'traduction_info_site' dans _GEN_commun que si nous avons bien trouvé une
// traduction pour le site. Il faut donc tester l'existence de cette entrée avant de l'utiliser.
if ($resultat->numRows() > 0) {
$_GEN_commun['traduction_info_site'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
}
$resultat->free();
}
 
// Si le résultat de la négociation de l'internationalisation donne une langue différente
// de celle du menu, nous récupérons les éventuelles valeurs traduite pour le menu.
if ($_GEN_commun['i18n'] != $_GEN_commun['info_menu']->gm_ce_i18n) {
// Récupération des informations sur la traduction du menu
$requete = 'SELECT * '.
'FROM gen_menu '.
'WHERE gm_ce_i18n = "'.$_GEN_commun['i18n'].'" '.
'AND gm_code_alpha = "'.$_GEN_commun['info_menu']->gm_code_alpha.'"';
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
// Nous crééons l'entrée 'traduction_info_menu' dans _GEN_commun que si nous avons bien trouvé une
// traduction pour le menu. Il faut donc tester l'existence de cette entrée avant de l'utiliser.
if ($resultat->numRows() > 0) {
$_GEN_commun['traduction_info_menu'] = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
}
$resultat->free();
}
 
// +------------------------------------------------------------------------------------------------------+
// Gestion de l'application du menu demandé.
 
// Recherche de la première application liée
$id_application = donnerIdPremiereApplicationLiee($_GEN_commun['info_menu']->gm_id_menu);
// Recherche des informations sur l'application liée
$requete_applicaton = 'SELECT * '.
'FROM gen_application '.
'WHERE gap_id_application = '.$id_application;
 
$resultat_applicaton = $db->query($requete_applicaton);
(DB::isError($resultat_applicaton))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_applicaton->getMessage(), $requete_applicaton))
: '';
 
$_GEN_commun['info_application'] = $resultat_applicaton->fetchRow(DB_FETCHMODE_OBJECT) ;
 
$resultat_applicaton->free() ;
 
// Gestion des erreurs sur la recherche de l'application liée.
if ( empty($_GEN_commun['info_application']) ) {
die('ERREUR Génésia : application de la page demandée introuvable. <br />'.
'Page : '.$page_id.'<br />'.
'Ligne n° : '. __LINE__ . '<br />'.
'Fichier : '. __FILE__ . '<br />');
}
 
// +------------------------------------------------------------------------------------------------------+
// Gestion des arguments de l'application
 
$arguments = explode(' ', $_GEN_commun['info_menu']->gm_application_arguments);
 
// Initialisaton de la variable globale $GS_ARGUMENTS
$_GEN_commun['info_application']->cache = false;
$_GEN_commun['info_application']->cache_duree = 0;
 
for ($i = 0; $i < count($arguments); $i++) {
$attr = explode('=', $arguments[$i]);
if ($attr[0] == 'cache_duree') {
$_GEN_commun['info_application']->cache_duree = $attr[1];
if ($_GEN_commun['info_application']->cache_duree > 0) {
$_GEN_commun['info_application']->cache = true;
}
} else if ($attr[0] != '') {
$_GEN_commun['info_application']->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
}
}
 
// +------------------------------------------------------------------------------------------------------+
// Gestion des applettes
 
$requete = 'SELECT * '.
'FROM gen_application '.
'WHERE gap_bool_applette = 1 ';
$resultat = $_GEN_commun['pear_db']->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
 
$_GEN_commun['info_applette'] = array();
$i = 0;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$_GEN_commun['info_applette'][$i] = $ligne;
$i++;
}
$resultat->free();
 
// +------------------------------------------------------------------------------------------------------+
// Gestion de l'objet URL
 
$_GEN_commun['url'] = & new Net_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_SITE, $_GEN_commun['url_site']);
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_MENU, $_GEN_commun['url_menu']);
 
if ( (isset($_GEN_commun['url_i18n'])) && (!empty($_GEN_commun['url_i18n'])) ) {
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_I18N, $_GEN_commun['url_i18n']);
}
 
if ( (isset($_GET[GEN_URL_CLE_DATE])) && (!empty($_GET[GEN_URL_CLE_DATE])) ) {
$_GEN_commun['url_date'] = $_GET[GEN_URL_CLE_DATE];
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_DATE, $_GEN_commun['url_date']);
}
 
if ( (isset($_GET[GEN_URL_CLE_FORMAT])) && (!empty($_GET[GEN_URL_CLE_FORMAT])) ) {
$_GEN_commun['url_format'] = $_GET[GEN_URL_CLE_FORMAT];
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_DATE, $_GEN_commun['url_format']);
}
 
/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log: not supported by cvs2svn $
* Revision 1.24 2004/05/05 14:33:37 jpm
* Gestion de l'indication de langue dans l'url.
* Utile que si on veut forcer la langue.
*
* Revision 1.23 2004/05/05 10:42:35 jpm
* Amélioration de la gestion de l'internationalisation.
*
* Revision 1.22 2004/05/04 16:17:05 jpm
* Légère amélioration du code (libération de ressource).
 
de ressource).
*
* Revision 1.21 2004/05/03 11:21:58 jpm
* Fin de la gestion des applettes et suppression de l'info_menu_hierarchie de _GEN_commun.
* Ajout de la récupération d'une info sur la hiérarchie.
* Surement à supprimer car inutile.
* Ajout de la récupération d'une info sur la hiérarchie.
* Surement à supprimer car inutile.
* Changement du modèle de la base de données.
* Revision 1.19 2004/04/28 12:04:31 jpm
* Changement du modèle de la base de données.
*
* Revision 1.18 2004/04/22 08:28:12 jpm
* Transformation de $GS_GLOBAL en $_GEN_commun.
*
* Revision 1.17 2004/04/09 16:43:32 jpm
* Suppression d'un blanc.
* Récupération de la création de l'objet URL.
* Revision 1.16 2004/04/09 16:20:11 jpm
* Récupération de la création de l'objet URL.
* Gestion des tables i18n.
* Utilisation de la classe Pear HTTP pour la négociation du langage à utiliser pour le site.
* Revision 1.15 2004/04/05 16:37:43 jpm
* Utilisation de la classe Pear HTTP pour la négociation du langage à utiliser pour le site.
* Déplacement dans le fichier gen_initialisation_pear.inc.php de la création des objets Pear Net_URL et Auth.
* Revision 1.14 2004/04/02 16:29:30 jpm
* Déplacement dans le fichier gen_initialisation_pear.inc.php de la création des objets Pear Net_URL et Auth.
*
* Revision 1.13 2004/04/01 11:27:13 jpm
* Ajout et modification de commentaires pour PhpDocumentor.
* Prise en compte du nouveau modèle de Génésia révision 1.9.
* Revision 1.12 2004/03/31 16:50:04 jpm
* Prise en compte du nouveau modèle de Papyrus révision 1.9.
* Déplacement des fonctions de gestion d'erreur dans la bibliotheque de l'application Installateur.
* Modification des commentaires vis à vis du nouveau modèle.
* Déplacement des fonctions de gestion d'erreur dans la bibliotheque de l'application Installateur.
* Suppression de l'attribution d'une configuration par défaut.
* Changement et simplification des noms des variables globales.
* Traduction en français de certaines variables et partie de code.
* Remplacement de variable par des constante provenant du fichier de configuration.
* Traduction en français de certaines variables et partie de code.
* Mise en forme requête sql.
* Revision 1.10 2004/03/24 07:20:03 jpm
* Mise en forme requête sql.
* Ajout de commentaire dans l'entête.
* Mise en conformité avec la convention de codage.
* Ajout de commentaire dans l'entête.
* Mise en conformité avec la convention de codage.
*
* Revision 1.8 2004/03/23 16:31:54 jpm
* Ajout du code provenant de gen_noyau.inc.php.
* Ajout, formatage et traduction des commentaires.
*
* Amélioration de la conformité avec la convention de codage.
* Changement requête sql pour le nouveau modèle de Génésia.
* Amélioration de la conformité avec la convention de codage.
* Changement requête sql pour le nouveau modèle de Papyrus.
*
* Correction des requêtes sql pour mise en conformité avec le nouveau modèle de Génésia et la convention de codage.
* Ajout de commentaires et mise en forme.
* Correction des requêtes sql pour mise en conformité avec le nouveau modèle de Papyrus et la convention de codage.
*
* Revision 1.5 2003/12/16 16:57:59 alex
* mise à jour pour compatibilité avec genesia
* Ajout de commentaires et début de mise en conformité
* Revision 1.4 2003/11/24 16:05:02 jpm
* Ajout de commentaires et début de mise en conformité
* avec la convention de codage.
*
*
* +--Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/pap_connecte_bdd.inc.php
New file
0,0 → 1,82
<?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_connecte_bdd.inc.php,v 1.1 2004-06-16 08:11:22 jpm Exp $
/**
* Connection à la base de données et inclusions des classes générées par DataObject de Pear.
*
* Ce fichier permet de se connecter à la base de données et d'inclure les classes représentant les tables
* de la base de données de Papyrus. Ces tables sont générées par DataObject de Pear.
*
*@package Papyrus
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 08:11:22 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
/** <br> Inclusion de la classe PEAR d'abstraction de base de donnée. */
require_once 'DB.php';
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// Connexion à la base de données.
 
$db = DB::connect(GEN_DSN) ;
$_GEN_commun['pear_db'] = $db;
if (DB::isError($db)) {
$msg_erreur_connection = 'Impossible de se connecter à la base de données.';
die(BOG_afficherErreurSql(__FILE__, __LINE__, $db->getMessage(), 'connexion à la base de données',$msg_erreur_connection));
}
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.5 2004/05/10 13:24:16 jpm
* Correction gestion de l'erreur impossible de se connecter.
*
* Revision 1.4 2004/05/01 11:41:31 jpm
* Ajout de la variable globale $_GEN_commun['pear_db'] devant être utilisé à la place de $db.
*
* Revision 1.3 2004/04/28 12:04:31 jpm
* Changement du modèle de la base de données.
*
* Revision 1.2 2004/04/22 08:25:05 jpm
* Transformation de $GS_GLOBAL en $_GEN_commun.
*
* Revision 1.1 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.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/pap_initialise_auth.inc.php
New file
0,0 → 1,121
<?php
//vim: set expandtab tabstop=4 shiftwidth=4:
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2003 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_initialise_auth.inc.php,v 1.1 2004-06-16 08:12:01 jpm Exp $
/**
* Initialisation de l'authentification.
*
* Suite à la recherche des informations depuis la base de données nous initialisons
* l'authentification des utilisateurs si le site l'utilise.
* La page contient le code initialisant l'objet PEAR créé par Net_URL contenant l'url
* courante demandée par l'utilisateur.
* Nous initialisons aussi l'identification de l'utilisateur et le démarage de la session.
*
*@package Papyrus
//Auteur original :
*@author Alexandre GRANIER <alex@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-06-16 08:12:01 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
/** <br> Inclusion de l'authentification de PEAR.*/
include_once 'Auth/Auth.php';
 
/** Inclusion de la bibliothèque de fonctions d'identification.
* Contient entre autre la fonction founissant le formulaire d'identification pour Auth de Pear.
* Cette inclusion n'a lieu que si le site utilise l'identification.
*/
include_once GEN_CHEMIN_PAP.'bibliotheque/fonctions/pap_identification.fonct.php' ;
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// Gestion de l'identification des utilisateurs et des sessions
 
// Nour regardons à quel type d'identification nous avons à faire:
if ($_GEN_commun['info_auth']->gsa_ce_type_auth == 1) {
// Authentification via une base de données
$param_bdd = array ('dsn' => GEN_DSN,
'table' => $_GEN_commun['info_auth_bdd']->gsab_nom_table,
'usernamecol' => $_GEN_commun['info_auth_bdd']->gsab_nom_champ_login,
'passwordcol' => $_GEN_commun['info_auth_bdd']->gsab_nom_champ_mdp,
'cryptType' => $_GEN_commun['info_auth_bdd']->gsab_cryptage_mdp,
'db_fields' => '*');
$_GEN_commun['pear_auth'] = new Auth('DB', $param_bdd, 'GEN_afficherInfoIdentification', 1);
} else if ($_GEN_commun['info_auth']->gsa_ce_type_auth == 2) {
// Authentification via LDAP
$param_ldap = array ( 'host' => $_GEN_commun['info_auth_ldap']->gsal_serveur,
'port' => $_GEN_commun['info_auth_ldap']->gsal_port,
'basedn' => $_GEN_commun['info_auth_ldap']->gsal_base_dn,
'userattr' => $_GEN_commun['info_auth_ldap']->gsal_uid);
$_GEN_commun['pear_auth'] = new Auth('LDAP', $param_ldap, 'GEN_afficherInfoIdentification', 1);
} else {
die('ERREUR Génésia : type identification introuvable. <br />'.
'Type identification : '.$_GEN_commun['info_auth']->gsa_ce_type_auth.'<br />'.
'Ligne n° : '. __LINE__ . '<br />'.
'Fichier : '. __FILE__ . '<br />');
}
 
$_GEN_commun['pear_auth']->setSessionname( 'gen_'.
GEN_URL_CLE_SITE.'_'.
$_GEN_commun['info_site']->gs_id_site.'_'.
GEN_URL_CLE_I18N.'_'.
$_GEN_commun['info_site']->gs_ce_i18n);
 
$_GEN_commun['pear_auth']->setExpire(3600 * 24 * 30 * 6);
 
$_GEN_commun['pear_auth']->start();
 
/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log: not supported by cvs2svn $
* Revision 1.6 2004/05/01 11:40:21 jpm
* Suppression de code intégré dans le fichier de l'applette Identification.
*
* Revision 1.5 2004/04/28 12:04:31 jpm
* Changement du modèle de la base de données.
*
* Revision 1.4 2004/04/22 08:29:11 jpm
* Transformation de $GS_GLOBAL en $_GEN_commun.
*
* Revision 1.3 2004/04/09 16:20:33 jpm
* Gestion de l'authentification uniquement.
* Gestion des tables i18n.
*
* Revision 1.2 2004/04/02 16:29:58 jpm
* Ajout de la gestion de la déconnexion et reconnexion.
*
* Revision 1.1 2004/04/02 08:54:58 jpm
* Création du fichier qui contient l'initialisation des objets Pear, hormis la base de données.
*
* +--Fin du code ----------------------------------------------------------------------------------------+
*/
?>