Subversion Repositories Applications.papyrus

Rev

Rev 1172 | Rev 1341 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 jpm 1
<?php
2
 
3
//vim: set expandtab tabstop=4 shiftwidth=4:
4
// +------------------------------------------------------------------------------------------------------+
5
// | PHP version 4.1                                                                                      |
6
// +------------------------------------------------------------------------------------------------------+
7
// | Copyright (C) 2003 Tela Botanica (accueil@tela-botanica.org)                                         |
8
// +------------------------------------------------------------------------------------------------------+
9
// |                                                                                                      |
10
// | This library is free software; you can redistribute it and/or                                        |
11
// | modify it under the terms of the GNU Lesser General Public                                           |
12
// | License as published by the Free Software Foundation; either                                         |
13
// | version 2.1 of the License, or (at your option) any later version.                                   |
14
// |                                                                                                      |
15
// | This library is distributed in the hope that it will be useful,                                      |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
18
// | Lesser General Public License for more details.                                                      |
19
// |                                                                                                      |
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                                  |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
23
// |                                                                                                      |
24
// +------------------------------------------------------------------------------------------------------+
1237 jp_milcent 25
// CVS : $Id: pap_config_avancee.inc.php,v 1.29 2007-03-01 11:07:19 jp_milcent Exp $
4 jpm 26
/**
67 jpm 27
* Page de configuration avancée de Papyrus
4 jpm 28
*
67 jpm 29
* La page contient différents paramêtre permettant de configurer, le chronométrage, le débogage, les url...
4 jpm 30
*
31
*@package Papyrus
32
*@subpackage Configuration
33
//Auteur original :
285 jpm 34
*@author            Jean-Pascal MILCENT <jpm@tela-botanica.org>
4 jpm 35
//Autres auteurs :
36
*@author            Alexandre GRANIER <alex@tela-botanica.org>
285 jpm 37
*@author            Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
4 jpm 38
*@copyright         Tela-Botanica 2000-2004
1237 jp_milcent 39
*@version           $Revision: 1.29 $ $Date: 2007-03-01 11:07:19 $
4 jpm 40
// +------------------------------------------------------------------------------------------------------+
41
*/
42
 
43
// +------------------------------------------------------------------------------------------------------+
44
// |                                            ENTÊTE du PROGRAMME                                       |
45
// +------------------------------------------------------------------------------------------------------+
46
 
933 florian 47
//test au cas ou il s'agirai d'une nouvelle installation ou si le fichier de conf n'existe pas
48
if (file_exists('papyrus/configuration/pap_config.inc.php') ) {include_once 'papyrus/configuration/pap_config.inc.php';}
49
if (!defined("PAP_CHEMIN_RACINE")) define('PAP_CHEMIN_RACINE','');
77 jpm 50
// +------------------------------------------------------------------------------------------------------+
51
// Paramétrage du mode d'écriture des fichiers sur le serveur
85 jpm 52
/** Booléen permetant de savoir si on utilise ou pas le ftp. */
77 jpm 53
define('GEN_FTP_UTILISE', true) ;//ini_get('safe_mode')
4 jpm 54
 
55
// +------------------------------------------------------------------------------------------------------+
56
// |                                            CORPS du PROGRAMME                                        |
57
// +------------------------------------------------------------------------------------------------------+
58
 
59
// +------------------------------------------------------------------------------------------------------+
67 jpm 60
// Paramétrage de la version : NE PAS MODIFIER MANUELLEMENT!
85 jpm 61
/** Constante stockant la version de Papyrus.*/
977 ddelon 62
define('GEN_VERSION', '0.24');
67 jpm 63
 
64
// +------------------------------------------------------------------------------------------------------+
4 jpm 65
// Paramétrage du débogage.
85 jpm 66
/** Constante stockant une valeur booléen permettant de savoir si on veut déboguer le code (true) ou pas (false).*/
767 ddelon 67
define('GEN_DEBOGAGE', true);// true ou false
1237 jp_milcent 68
/** Constante permettant de savoir sous quelle forme le débogage va avoir lieu.*/
69
define('PAP_DEBOGAGE_TYPE', 'HTML');// HTML ou FIREBUG
85 jpm 70
/** Constante stockant une valeur correspondant au niveau d'erreur à employer pour le code PHP
71
* de Papyrus et de ses applications.*/
4 jpm 72
define('GEN_DEBOGAGE_NIVEAU', E_ALL);// Voir le manuel de PHP pour les différents niveaux disponibles.
85 jpm 73
/** Constante permettant de savoir si on veut afficher le contexte des variables d'une erreur
74
* pour le code PHP de Papyrus et de ses applications.*/
75
define('GEN_DEBOGAGE_CONTEXTE', false);// true or false
76
/** Constante permettant de savoir la langue pour le débogage du code PHP de Papyrus et de ses
77
* applications.*/
78
define('GEN_DEBOGAGE_I18N', 'fr');
4 jpm 79
 
80
// +------------------------------------------------------------------------------------------------------+
1053 jp_milcent 81
// Paramétrage de l'identification : Auth
82
$tps = time()+3600*24*30;
1172 jp_milcent 83
/** Constante stockant la durée pendant laquelle on mémorise l'identification via un cookie.*/
1237 jp_milcent 84
define('PAP_AUTH_SESSION_DUREE', (int)$tps);// Mettre 0 pour "déconnecter en fin de session" sinon utiliser la variable $tps
1172 jp_milcent 85
/** Constante stockant si oui (true) ou non (false) on met en place la sécurité avancée pour l'identification.*/
86
define('PAP_AUTH_SECURITE_AVANCEE', true);
87
/** Constante stockant le préfixe pour les noms des sessions Papyrus.*/
88
define('PAP_AUTH_SESSION_PREFIXE', 'pap-');
1053 jp_milcent 89
 
90
// +------------------------------------------------------------------------------------------------------+
4 jpm 91
// Paramétrage du nom du champ servant à identifier un site dans l'url
85 jpm 92
/** Type du code d'un site passé dans l'url.*/
4 jpm 93
define('GEN_URL_ID_TYPE_SITE', 'int');// string ou int
85 jpm 94
/** Type du code d'un menu passé dans l'url.*/
4 jpm 95
define('GEN_URL_ID_TYPE_MENU', 'int');// string ou int
342 jpm 96
/** Type du code d'un site pour les urls raccourcies.*/
97
define('GEN_URL_RACCOURCI_ID_TYPE_SITE', 'string');// string ou int
98
/** Type du code d'un menu pour les urls raccourcies.*/
99
define('GEN_URL_RACCOURCI_ID_TYPE_MENU', 'string');// string ou int
4 jpm 100
 
101
// +------------------------------------------------------------------------------------------------------+
102
// Paramétrage des clés de l'url
38 jpm 103
// Redéfini le séparateur utilisé lorsque PHP génère des URLs pour séparer les arguments. (compatible XHTML strict)
104
ini_set('arg_separator.output', '&amp;');
85 jpm 105
/** Nom de la variable passée dans l'url et contenant l'identifiant d'un site.*/
4 jpm 106
define('GEN_URL_CLE_SITE', 'site');
85 jpm 107
/** Nom de la variable passée dans l'url et contenant l'identifiant d'un menu.*/
4 jpm 108
define('GEN_URL_CLE_MENU', 'menu');
85 jpm 109
/** Nom de la variable passée dans l'url et contenant l'identifiant d'une internationalisation.*/
4 jpm 110
define('GEN_URL_CLE_I18N', 'langue');
85 jpm 111
/** Nom de la variable passée dans l'url et contenant une date.*/
4 jpm 112
define('GEN_URL_CLE_DATE', 'date');
85 jpm 113
/** Nom de la variable passée dans l'url et contenant un format.*/
4 jpm 114
define('GEN_URL_CLE_FORMAT', 'format');
115
 
116
// +------------------------------------------------------------------------------------------------------+
117
// Paramétrage des langues
85 jpm 118
/** Identifiant de l'I18N par défaut de Papyrus. */
4 jpm 119
define('GEN_I18N_ID_DEFAUT', 'fr');
120
 
121
// +------------------------------------------------------------------------------------------------------+
77 jpm 122
// Noms des sites
85 jpm 123
/** Nom du site par défaut d'administration de Papyrus.*/
77 jpm 124
define('GEN_SITE_DEFAUT', 'admin');
4 jpm 125
 
126
// +------------------------------------------------------------------------------------------------------+
1037 jp_milcent 127
// Paramétrage réecriture d'URL et erreur HTTP
1029 jp_milcent 128
/** Mot signalant une réecriture d'url présent à la base de l'url. */
129
define('PAP_URL_REECRITURE_MENU', 'page');
130
/** Mot signalant une réecriture d'url présent à la base de l'url. */
131
define('PAP_URL_REECRITURE_SITE', 'site');
132
/** Caractère séparant les informations constituant le permalien Papyrus. */
133
// Si vous utilisez "/", vous devrez indiquer le chemin depuis la racine pour les chemins présent dans les squelettes.
134
// Exemple : "/sites/commun..." et non "sites/commun..."
135
define('PAP_URL_REECRITURE_SEP', ':');
1037 jp_milcent 136
/** Chemin et nom du fichier affichant une erreur HTTP.*/
137
define('PAP_FICHIER_ERREUR_HTTP', PAP_CHEMIN_RACINE.'sites/commun/%s/http_erreurs/erreur%s.php');
1041 jp_milcent 138
/** URL absolue du fichier affichant une erreur HTTP.*/
139
define('PAP_URL_ERREUR_HTTP', '/sites/commun/%s/http_erreurs/erreur%s.php?url=%s');
1029 jp_milcent 140
 
141
// +------------------------------------------------------------------------------------------------------+
85 jpm 142
/** Séparateur dans les chemins d'accès aux fichiers.*/
77 jpm 143
define('GEN_SEP', '/');
85 jpm 144
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des api.*/
832 florian 145
define('GEN_CHEMIN_API', PAP_CHEMIN_RACINE.'api'.GEN_SEP);
324 jpm 146
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des api.*/
147
define('PAP_CHEMIN_API_PEAR', GEN_CHEMIN_API.'pear'.GEN_SEP);
85 jpm 148
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant le reste de l'application Papyrus.*/
90 jpm 149
define('GEN_CHEMIN_PAP', 'papyrus'.GEN_SEP);
150
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applications clientes.*/
151
define('GEN_CHEMIN_CLIENT', 'client'.GEN_SEP);
152
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des sites.*/
153
define('GEN_CHEMIN_SITES', 'sites'.GEN_SEP);
85 jpm 154
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers de configuration de Papyrus.*/
77 jpm 155
define('GEN_CHEMIN_CONFIG', GEN_CHEMIN_PAP.'configuration'.GEN_SEP);
85 jpm 156
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers sql d'installation de Papyrus.*/
77 jpm 157
define('GEN_CHEMIN_INSTAL', GEN_CHEMIN_PAP.'installation'.GEN_SEP);
85 jpm 158
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applications internes à Papyrus.*/
77 jpm 159
define('GEN_CHEMIN_APPLICATION', GEN_CHEMIN_PAP.'applications'.GEN_SEP);
85 jpm 160
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applettes.*/
77 jpm 161
define('GEN_CHEMIN_APPLETTE', GEN_CHEMIN_PAP.'applettes'.GEN_SEP);
85 jpm 162
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant la bibliothèque de codes de Papyrus.*/
77 jpm 163
define('GEN_CHEMIN_BIBLIO', GEN_CHEMIN_PAP.'bibliotheque'.GEN_SEP.'fonctions'.GEN_SEP);
329 jpm 164
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant la bibliothèque de codes de Papyrus.*/
165
define('GEN_CHEMIN_BIBLIO_CLASSE', GEN_CHEMIN_PAP.'bibliotheque'.GEN_SEP.'classes'.GEN_SEP);
85 jpm 166
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les traductions de Papyrus.*/
167
define('GEN_CHEMIN_LANGUE', GEN_CHEMIN_PAP.'langues'.GEN_SEP);
168
/** Chemin vers le dossier Commun des sites.*/
77 jpm 169
define('GEN_CHEMIN_COMMUN', GEN_CHEMIN_SITES.'commun'.GEN_SEP);
85 jpm 170
/** Chemin vers le dossier contenant des fichiers temporaires.*/
4 jpm 171
define('GEN_CHEMIN_TMP', 'tmp');
172
 
173
// +------------------------------------------------------------------------------------------------------+
174
// Nom des dossiers d'un site présent dans le dossier de langue.
85 jpm 175
/** Nom du dossier contenant les squelettes d'un site donné.*/
4 jpm 176
define('GEN_DOSSIER_SQUELETTE', 'squelettes');
85 jpm 177
/** Nom du dossier contenant les feuilles de styles d'un site donné.*/
4 jpm 178
define('GEN_DOSSIER_STYLE', 'styles');
85 jpm 179
/** Nom du dossier contenant les scripts côté client d'un site donné.*/
4 jpm 180
define('GEN_DOSSIER_SCRIPT', 'scripts');
85 jpm 181
/** Nom du dossier contenant les images d'un site donné.*/
4 jpm 182
define('GEN_DOSSIER_IMAGE', 'images');
85 jpm 183
/** Nom du dossier contenant les documents d'un site donné.*/
4 jpm 184
define('GEN_DOSSIER_DOC', 'documents');
85 jpm 185
/** Nom du dossier contenant des dossiers et fichiers communs à plusieurs langues.*/
4 jpm 186
define('GEN_DOSSIER_GENERIQUE', 'generique');
187
 
77 jpm 188
// +------------------------------------------------------------------------------------------------------+
189
// Nom des fichiers par défaut d'un site présent dans le dossier de langue.
90 jpm 190
/** Nom du fichier de configuration principal de Papyrus.*/
191
define('GEN_FICHIER_CONFIG', 'pap_config.inc.php');
85 jpm 192
/** Nom du fichier squelette par défaut d'un site donné.*/
77 jpm 193
define('GEN_FICHIER_SQUELETTE', 'defaut.html');
85 jpm 194
/** Nom du fichier de styles par défaut d'un site donné.*/
77 jpm 195
define('GEN_FICHIER_STYLE', 'defaut.css');
754 ddelon 196
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des wikini*/
197
define('GEN_CHEMIN_WIKINI', 'wikini'.GEN_SEP);
77 jpm 198
 
754 ddelon 199
 
85 jpm 200
// +------------------------------------------------------------------------------------------------------+
201
// Nom des styles de Papyrus.
202
/** Style erreur.*/
203
define('GEN_CSS_ERREUR', 'pap_erreur');
352 jpm 204
// +------------------------------------------------------------------------------------------------------+
205
//Gestion des actions Papyrus
85 jpm 206
 
352 jpm 207
/** Les sites correspodant aux liens interwiki. */
208
$GLOBALS['_PAPYRUS_']['interwiki_sites'] = array(
209
    'Papyrus'       => 'http://'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['PHP_SELF'].'?menu=%s',
210
    'Weflore'       => 'http://wiki.tela-botanica.org/eflore/wakka.php?wiki=%s',
211
    'Wikipedia'     => 'http://fr.wikipedia.org/wiki/%s',
212
    'Wikipedia_fr'  => 'http://fr.wikipedia.org/wiki/%s'
213
);
85 jpm 214
 
352 jpm 215
/** Les sites correspodant à l'action inclure. */
216
$GLOBALS['_PAPYRUS_']['inclure_sites'] = array(
217
    'Papyrus' => array('preg' => '/<!-- start contenu -->(.*)<!-- end contenu -->/Umsi', 'url' => 'http://'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['PHP_SELF'].'?menu=%s'),
218
    'Wikipedia' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://fr.wikipedia.org/wiki/%s'),
219
    'Wikipedia_fr' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://fr.wikipedia.org/wiki/%s'),
220
    'Wikipedia_en' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://en.wikipedia.org/wiki/%s'),
221
    'Wikini_eFlore' => array('preg' => '/<div class="page">(.*)<\/div>.*<div class="commentsheader">/Umsi', 'url' => 'http://wiki.tela-botanica.org/eflore/wakka.php?wiki=%s'),
222
    'Wikini_isff' => array('preg' => '/<div class="page">(.*)<\/div>.*<div class="commentsheader">/Umsi', 'url' => 'http://wiki.tela-botanica.org/isff/wakka.php?wiki=%s')
223
);
4 jpm 224
/* +--Fin du code ---------------------------------------------------------------------------------------+
225
* $Log: not supported by cvs2svn $
1237 jp_milcent 226
* Revision 1.28  2006/12/14 15:01:05  jp_milcent
227
* Utilisation d'un système permettant de mémoriser les idenitifications.
228
* Passage à Auth 1.4.3 et DB 1.7.6.
229
*
1172 jp_milcent 230
* Revision 1.27  2006/11/20 17:48:33  jp_milcent
231
* Mise à 0 de PAP_AUTH_SESSION_DUREE pour garder la compatibilité avec les anciennes installations.
232
*
1057 jp_milcent 233
* Revision 1.26  2006/11/20 17:29:04  jp_milcent
234
* Ajout d'une constante permettant de gérer la durée des session de Papyrus.
235
*
1053 jp_milcent 236
* Revision 1.25  2006/10/26 16:29:52  jp_milcent
237
* Correction erreur redirection en boucle.
238
*
1041 jp_milcent 239
* Revision 1.24  2006/10/18 10:18:04  jp_milcent
240
* Gestion des erreurs HTTP par Papyrus.
241
*
1037 jp_milcent 242
* Revision 1.23  2006/10/11 18:04:11  jp_milcent
243
* Gestion avancée de la réecriture d'URL.
244
*
1029 jp_milcent 245
* Revision 1.22  2006/10/05 13:17:47  ddelon
246
* Changement Version Papyrus : 0.21 --> 0.24
247
*
977 ddelon 248
* Revision 1.21  2006/09/13 12:31:18  florian
249
* ménage: fichier de config Papyrus, fichiers temporaires
250
*
933 florian 251
* Revision 1.20  2006/04/28 12:41:49  florian
252
* corrections erreurs chemin
253
*
832 florian 254
* Revision 1.19  2006/03/13 21:00:20  ddelon
255
* Suppression messages d'erreur multilinguisme
256
*
767 ddelon 257
* Revision 1.18  2006/03/02 10:49:49  ddelon
258
* Fusion branche multilinguisme dans branche principale
259
*
754 ddelon 260
* Revision 1.17.2.1  2005/12/01 23:31:57  ddelon
261
* Merge Head vers multilinguisme
443 ddelon 262
*
352 jpm 263
* Revision 1.14  2005/04/18 16:40:39  jpm
264
* Ajout de constantes pour contrôler les permaliens.
265
*
329 jpm 266
* Revision 1.12  2005/04/06 13:22:58  jpm
267
* Ajout du chemin vers l'API PEAR présente dans le dossier api.
268
*
324 jpm 269
* Revision 1.11  2005/02/28 11:12:24  jpm
270
* Modification des auteurs.
271
*
285 jpm 272
* Revision 1.10  2005/02/17 17:56:33  jpm
273
* Changement de version de 0.2 à 0.21.
274
*
263 jpm 275
* Revision 1.9  2004/10/25 16:26:19  jpm
276
* Changement de la valeur de la variable GEN_VERSION.
277
*
107 jpm 278
* Revision 1.8  2004/10/22 17:22:41  jpm
279
* Modification du au changement de place de l'inclusion de ce fichier dans Papyrus.
280
*
90 jpm 281
* Revision 1.7  2004/10/21 18:16:18  jpm
282
* Ajout de contantes pour le débogage et corrections de commentaires.
283
*
85 jpm 284
* Revision 1.6  2004/10/19 16:00:23  jpm
285
* Extraction de constante pour ajout dans le fichier de conf géré par l'installateur de Papyrus.
286
* Ajout de nouvelles constantes.
287
*
67 jpm 288
* Revision 1.4  2004/10/14 16:37:04  jpm
289
* Correction.
290
*
63 jpm 291
* Revision 1.3  2004/09/13 17:09:25  jpm
292
* Redéfini le séparateur utilisé lorsque PHP génère des URLs pour séparer les arguments. (compatible XHTML strict)
293
*
38 jpm 294
* Revision 1.2  2004/06/16 15:06:45  jpm
295
* Ajout de constantes de chemin.
296
*
9 jpm 297
* Revision 1.1  2004/06/15 15:19:56  jpm
298
* Changement de nom et d'arborescence de Genesia en Papyrus.
299
*
4 jpm 300
* Revision 1.10  2004/05/06 11:14:56  jpm
301
* Ajout de nouvelles constantes.
302
*
303
* Revision 1.8  2004/04/01 11:26:27  jpm
304
* Ajout et modification de commentaires pour PhpDocumentor.
305
*
306
* Revision 1.7  2004/03/31 16:55:44  jpm
307
* Ajout de constant gérant l'url.
308
*
309
* Revision 1.6  2004/03/27 11:09:21  jpm
310
* Transformation de variable en constante.
311
*
312
* Revision 1.5  2004/03/22 10:58:59  jpm
313
* Ajout de commentaires.
314
*
315
* Revision 1.4  2003/12/16 16:57:59  alex
316
* mise à jour pour compatibilité avec genesia
317
*
318
* Revision 1.3  2003/12/05 14:35:41  alex
319
* en cours
320
*
321
* Revision 1.2  2003/11/24 15:19:52  jpm
322
* Mise en conformité avec la convention de codage.
323
*
324
* +--Fin du code ----------------------------------------------------------------------------------------+
325
*/
326
?>