Subversion Repositories Applications.papyrus

Rev

Rev 58 | Rev 168 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 58 Rev 95
Line 20... Line 20...
20
// | You should have received a copy of the GNU Lesser General Public                                     |
20
// | You should have received a copy of the GNU Lesser General Public                                     |
21
// | License along with this library; if not, write to the Free Software                                  |
21
// | License along with this library; if not, write to the Free Software                                  |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
23
// |                                                                                                      |
23
// |                                                                                                      |
24
// +------------------------------------------------------------------------------------------------------+
24
// +------------------------------------------------------------------------------------------------------+
25
// CVS : $Id: papyrus.php,v 1.5 2004-09-28 14:57:53 jpm Exp $
25
// CVS : $Id: papyrus.php,v 1.6 2004-10-22 17:24:53 jpm Exp $
26
/**
26
/**
27
* Papyrus : programme principale appelant différent fichier à inclure dans un ordre précis.
27
* Papyrus : programme principale appelant différent fichier à inclure dans un ordre précis.
28
*
28
*
29
* La page contient l'appel aux fonctions de l'application de vérification de l'installation puis
29
* La page contient l'appel aux fonctions de l'application de vérification de l'installation puis
30
* l'appel du fichier réalisant l'initialisation. Enfin, l'appel du fichier réalisant le rendu et 
30
* l'appel du fichier réalisant l'initialisation. Enfin, l'appel du fichier réalisant le rendu et 
Line 35... Line 35...
35
*@author            Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
35
*@author            Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
36
//Autres auteurs :
36
//Autres auteurs :
37
*@author            Alexandre GRANIER <alex@tela-botanica.org>
37
*@author            Alexandre GRANIER <alex@tela-botanica.org>
38
*@author            Jean-Pascal MILCENT <jpm@tela-botanica.org>
38
*@author            Jean-Pascal MILCENT <jpm@tela-botanica.org>
39
*@copyright         Tela-Botanica 2000-2004
39
*@copyright         Tela-Botanica 2000-2004
40
*@version           $Revision: 1.5 $ $Date: 2004-09-28 14:57:53 $
40
*@version           $Revision: 1.6 $ $Date: 2004-10-22 17:24:53 $
41
// +------------------------------------------------------------------------------------------------------+
41
// +------------------------------------------------------------------------------------------------------+
42
*/
42
*/
Line 43... Line 43...
43
 
43
 
44
// +------------------------------------------------------------------------------------------------------+
44
// +------------------------------------------------------------------------------------------------------+
45
// |                                            ENTÊTE du PROGRAMME                                       |
45
// |                                            ENTÊTE du PROGRAMME                                       |
46
// +------------------------------------------------------------------------------------------------------+
46
// +------------------------------------------------------------------------------------------------------+
47
// Création de la variable globale de Papyrus
47
// Création des variables globale de Papyrus
-
 
48
$GLOBALS['_GEN_commun']  = array();
Line 48... Line 49...
48
$GLOBALS['_GEN_commun'] = '';
49
$GLOBALS['chrono_flash'] = array();
49
 
50
 
Line -... Line 51...
-
 
51
// Première mesure du chronométrage
50
// Première mesure du chronométrage
52
$chrono_flash['depart'] = microtime();
-
 
53
 
-
 
54
// Vérification de la configuration de Papyrus
51
$chrono_flash['depart'] = microtime();
55
/** Inclusion du programme de vérification de Papyrus.
-
 
56
* Il vérifie différent paramètres nécessaire au bon fonctionnement de Papyrus,
-
 
57
* dont la présence des fichiers de configuration.
-
 
58
* C'est en fonction des paramètres déterminés par ce programme que l'application
52
 
59
* Installateur est appelée si besoin est.*/
-
 
60
require_once 'papyrus/pap_verification.inc.php';
-
 
61
$chrono_flash['Vérification'] = microtime();
53
/** <br> Inclusion API débogage chrono
62
 
Line 54... Line 63...
54
* Ajout de la bibliothèque de fonctions permettant d'analyser le temps d'execution de Génésia.
63
/** Inclusion API débogage : Gestionnaire d'erreur
55
*/
64
* Ajout de la bibliothèque de fonctions permettant d'encpasuler les erreurs PHP.*/
56
include_once 'papyrus/configuration/pap_config.inc.php';
-
 
57
 
65
include_once GEN_CHEMIN_API.'debogage_1.0/BOG_Gestionnaire_Erreur.class.php';
Line 58... Line 66...
58
/** <br> Inclusion API débogage chrono
66
 
59
* Ajout de la bibliothèque de fonctions permettant d'analyser le temps d'execution de Génésia.
67
/** Inclusion API débogage : chronométrage
60
*/
-
 
61
include_once GEN_CHEMIN_API.'debogage_1.0/BOG_chrono.fonct.php';
68
* Ajout de la bibliothèque de fonctions permettant d'analyser le temps d'execution de Papyrus.*/
Line 62... Line 69...
62
 
69
include_once GEN_CHEMIN_API.'debogage_1.0/BOG_chrono.fonct.php';
63
/** <br> Inclusion API débogage sql
70
 
64
* Ajout de la bibliothèque de fonctions de débogage.
71
/** Inclusion API débogage : Gestionnaire d'erreurs sql
65
*/
72
* Ajout de la bibliothèque de fonctions de débogage d'erreurs SQL.*/
66
require_once GEN_CHEMIN_API.'debogage_1.0/BOG_sql.fonct.php';
73
require_once GEN_CHEMIN_API.'debogage_1.0/BOG_sql.fonct.php';
67
 
74
 
68
// +------------------------------------------------------------------------------------------------------+
75
// +------------------------------------------------------------------------------------------------------+
-
 
76
// |                                            CORPS du PROGRAMME                                        |
-
 
77
// +------------------------------------------------------------------------------------------------------+
69
// |                                            CORPS du PROGRAMME                                        |
78
 
70
// +------------------------------------------------------------------------------------------------------+
79
// +------------------------------------------------------------------------------------------------------+
71
 
80
// Création du gestionnaire d'erreur de Papyrus
72
// +------------------------------------------------------------------------------------------------------+
81
$_GEN_commun['debogage_erreur'] = &new BOG_Gestionnaire_Erreur(GEN_DEBOGAGE_CONTEXTE, GEN_CSS_ERREUR);
73
// Vérification de la configuration de Génésia
-
 
74
/** <br> Inclusion du programme de vérification de Génésia.
82
 
75
* Il vérifie différent paramètres nécessaire au bon fonctionnement de Génésia,
83
// +------------------------------------------------------------------------------------------------------+
-
 
84
// Appel de l'application Installateur de Papyrus si nécessaire
-
 
85
if ($_GEN_commun['erreur_instal_afaire'] == true) {
76
* dont la présence du fichier de configuration.
86
    include_once GEN_CHEMIN_APPLICATION.'installateur/installateur.php';
77
* C'est en fonction des paramètres déterminés par ce programme que l'application
87
    $_GEN_commun['sortie'] = afficherContenuCorps();
78
* Installateur est appelée si besoin est.
88
    include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';
79
*/
89
    // Fin du programme Papyrus.
80
require_once GEN_CHEMIN_PAP.'pap_verification.inc.php';
90
    exit(0);
Line 81... Line 91...
81
$chrono_flash['Vérification'] = microtime();
91
}
82
 
-
 
83
// +------------------------------------------------------------------------------------------------------+
-
 
84
// Gestion de la connexion à la base de données
-
 
85
require_once GEN_CHEMIN_PAP.'pap_connecte_bdd.inc.php';
-
 
86
$chrono_flash['Connexion BdD'] = microtime();
-
 
87
 
-
 
88
// +------------------------------------------------------------------------------------------------------+
-
 
89
// Appel à l'application Installateur si nécessaire
-
 
90
/** <br> Inclusion du programme Installateur de Génésia.
-
 
91
* Il propose une interface graphique si la vérification fait ressortir un besoin d'installation.
92
 
92
*/
93
// +------------------------------------------------------------------------------------------------------+
93
if ($_GEN_commun['erreur_instal_afaire']) {
94
// Gestion de la connexion à la base de données
94
    include_once GEN_CHEMIN_PAP.'applications/installateur/installateur.php';
95
require_once GEN_CHEMIN_PAP.'pap_connecte_bdd.inc.php';
95
}
96
$chrono_flash['Connexion BdD'] = microtime();
96
 
97
 
97
// +------------------------------------------------------------------------------------------------------+
98
// +------------------------------------------------------------------------------------------------------+
98
// Initialisation des informations provenant de la base de données de Génésia
99
// Initialisation des informations provenant de la base de données de Papyrus
99
/** <br> Inclusion du programme d'initialisation de Génésia.
100
/** <br> Inclusion du programme d'initialisation de Papyrus.
-
 
101
* Nous récupérons alors les infos sur le site, la langue, le menu, l'application liée et les informations sur la page
-
 
102
* depuis la base de données de Papyrus. Ces informations correspondent au paramètres passés dans l'url demandée par 
-
 
103
* l'utilisateur.Nous créons aussi la représentation sous forme d'objet de l'URL 
-
 
104
* courante demandée par l'utilisateur.
-
 
105
*/
-
 
106
require_once GEN_CHEMIN_PAP.'pap_initialise_info.inc.php';
-
 
107
$chrono_flash['Initialisation des info'] = microtime();
-
 
108
 
-
 
109
// +------------------------------------------------------------------------------------------------------+
-
 
110
// Inclusion des fichiers de traduction de Papyrus
-
 
111
if (file_exists(GEN_CHEMIN_LANGUE.'pap_langue_'.$_GEN_commun['i18n'].'.inc.php')) {
-
 
112
    /** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/
-
 
113
    require_once GEN_CHEMIN_LANGUE.'pap_langue_'.$_GEN_commun['i18n'].'.inc.php';
-
 
114
} else {
-
 
115
    /** Inclusion du fichier de traduction par défaut.*/
-
 
116
    require_once GEN_CHEMIN_LANGUE.'pap_langue_'.GEN_I18N_ID_DEFAUT.'.inc.php';
-
 
117
}
-
 
118
 
Line 100... Line 119...
100
* Nous récupérons alors les infos sur le site, la langue, le menu, l'application liée et les informations sur la page
119
// +------------------------------------------------------------------------------------------------------+
101
* depuis la base de données de Génésia. Ces informations correspondent au paramètres passés dans l'url demandée par 
120
// Réglage supplémentaire du gestionnaire d'erreurs
102
* l'utilisateur.Nous créons aussi la représentation sous forme d'objet de l'URL 
121
$_GEN_commun['debogage_erreur']->ecrireLangue($_GEN_commun['i18n']);
103
* courante demandée par l'utilisateur.
122
$_GEN_commun['debogage_erreur']->ecrireTxtTete(PAP_LANG_DEBOG_TETE);
104
*/
123
$_GEN_commun['debogage_erreur']->ecrireTxtPied(PAP_LANG_DEBOG_PIED);
105
require_once GEN_CHEMIN_PAP.'pap_initialise_info.inc.php';
124
$tab_traduction = array(PAP_LANG_DEBOG_NIVEAU, PAP_LANG_DEBOG_FICHIER, PAP_LANG_DEBOG_LIGNE, PAP_LANG_DEBOG_CONTEXTE);
106
$chrono_flash['Initialisation des info'] = microtime();
125
$_GEN_commun['debogage_erreur']->ecrireTraduction($tab_traduction);
107
 
126
 
108
// +------------------------------------------------------------------------------------------------------+
127
// +------------------------------------------------------------------------------------------------------+
109
// Initialisation de l'authentification si nécessaire
128
// Initialisation de l'authentification si nécessaire
Line 110... Line 129...
110
/** <br> Inclusion du programme d'initialisation de Auth et des Sessions utilisées par Génésia.
129
/** <br> Inclusion du programme d'initialisation de Auth et des Sessions utilisées par Papyrus.
111
* Suite à la récupération des infos sur le site, la langue, le menu, l'application liée et les infos sur la page,
130
* Suite à la récupération des infos sur le site, la langue, le menu, l'application liée et les infos sur la page,
112
* nous demandons l'identification et nous déclenchons une session si le site le demande.
131
* nous demandons l'identification et nous déclenchons une session si le site le demande.
113
*/
132
*/
114
if ($_GEN_commun['info_site']->gs_ce_auth > 0) {
133
if ($_GEN_commun['info_site']->gs_ce_auth > 0) {
115
    include_once GEN_CHEMIN_PAP.'pap_initialise_auth.inc.php';
134
    include_once GEN_CHEMIN_PAP.'pap_initialise_auth.inc.php';
116
    $chrono_flash['Initialisation auth'] = microtime();
135
    $chrono_flash['Initialisation auth'] = microtime();
117
}
136
}
118
 
137
 
119
// +------------------------------------------------------------------------------------------------------+
138
// +------------------------------------------------------------------------------------------------------+
Line 120... Line 139...
120
// Mise en cache de la page si nécessaire
139
// Mise en cache de la page si nécessaire
121
/** <br> Inclusion du programme de gestion du cache de Génésia.
140
/** <br> Inclusion du programme de gestion du cache de Papyrus.
Line 133... Line 152...
133
* Il appelle l'application demandée et créé la page grâce au fichier squelette et aux balises incluses dedans.
152
* Il appelle l'application demandée et créé la page grâce au fichier squelette et aux balises incluses dedans.
134
*/
153
*/
135
require_once GEN_CHEMIN_PAP.'pap_rendu.inc.php';
154
require_once GEN_CHEMIN_PAP.'pap_rendu.inc.php';
136
$chrono_flash['Rendu'] = microtime();
155
$chrono_flash['Rendu'] = microtime();
Line 137... Line -...
137
 
-
 
138
 
156
 
139
// +------------------------------------------------------------------------------------------------------+
157
// +------------------------------------------------------------------------------------------------------+
140
// Gestion du stockage en cache de la page demandée et de son envoi au navigateur client si nécessaire.
158
// Gestion du stockage en cache de la page demandée et de son envoi au navigateur client si nécessaire.
141
/** <br> Inclusion du programme d'envoi de la page demandée.
159
/** <br> Inclusion du programme d'envoi de la page demandée.
142
* Il stocke la page en cache et la renvoi après compression s'il existe des données à renvoyer.
160
* Il stocke la page en cache et la renvoi après compression s'il existe des données à renvoyer.
143
*/
161
*/
144
if (! empty($_GEN_commun['sortie'])) {
162
if (! empty($_GEN_commun['sortie'])) {
145
    if (GEN_DEBOGAGE) {
163
    if (GEN_DEBOGAGE) {
146
        // En cas de chronométrage, nous insérons le tableau des résultats.
164
        // En cas de chronométrage, nous insérons le tableau des résultats.
147
        $debogage = BOG_afficherChrono(12);
165
        $debogage = BOG_afficherChrono(12);
-
 
166
        $_GEN_commun['sortie'] = str_replace('<!-- CHRONOMETRAGE -->', $debogage, $_GEN_commun['sortie']);
-
 
167
        // Gestion des erreurs et du débogage
148
        $_GEN_commun['sortie'] = str_replace('<!-- CHRONOMETRAGE -->', $debogage, $_GEN_commun['sortie']);
168
        $_GEN_commun['debogage_info'] .= $_GEN_commun['debogage_erreur']->retournerErreurs();
149
        $_GEN_commun['sortie'] = str_replace('<!-- DEBOGAGE -->', $_GEN_commun['debogage_info'], $_GEN_commun['sortie']);
169
        $_GEN_commun['sortie'] = str_replace('<!-- DEBOGAGE -->', $_GEN_commun['debogage_info'], $_GEN_commun['sortie']);
150
    }
170
    }
151
    include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';
171
    include_once GEN_CHEMIN_PAP.'pap_envoi.inc.php';
Line 152... Line 172...
152
}
172
}
153
 
173
 
Line 154... Line 174...
154
// Fin du programme Génésia.
174
// Fin du programme Papyrus.
155
exit();
175
exit(0);
-
 
176
 
-
 
177
 
-
 
178
/* +--Fin du code ---------------------------------------------------------------------------------------+
156
 
179
* $Log: not supported by cvs2svn $
157
 
180
* Revision 1.5  2004/09/28 14:57:53  jpm
158
/* +--Fin du code ---------------------------------------------------------------------------------------+
181
* Création d'une balise propre au débogage.
159
* $Log: not supported by cvs2svn $
182
*
160
* Revision 1.4  2004/09/10 16:39:04  jpm
183
* Revision 1.4  2004/09/10 16:39:04  jpm