Subversion Repositories Applications.papyrus

Rev

Rev 2122 | 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
// +------------------------------------------------------------------------------------------------------+
1559 jp_milcent 25
// CVS : $Id: pap_config_avancee.inc.php,v 1.31 2007-08-28 14:13:40 jp_milcent Exp $
4 jpm 26
/**
67 jpm 27
* Page de configuration avancée de Papyrus
4 jpm 28
*
1341 neiluj 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
1559 jp_milcent 39
*@version           $Revision: 1.31 $ $Date: 2007-08-28 14:13:40 $
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.*/
1341 neiluj 62
define('GEN_VERSION', '0.25');
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.*/
2149 mathias 69
define('PAP_DEBOGAGE_TYPE', 'FIREBUG');// 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.*/
1341 neiluj 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', ':');
136
 
137
// +------------------------------------------------------------------------------------------------------+
85 jpm 138
/** Séparateur dans les chemins d'accès aux fichiers.*/
77 jpm 139
define('GEN_SEP', '/');
85 jpm 140
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des api.*/
832 florian 141
define('GEN_CHEMIN_API', PAP_CHEMIN_RACINE.'api'.GEN_SEP);
324 jpm 142
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des api.*/
143
define('PAP_CHEMIN_API_PEAR', GEN_CHEMIN_API.'pear'.GEN_SEP);
85 jpm 144
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant le reste de l'application Papyrus.*/
90 jpm 145
define('GEN_CHEMIN_PAP', 'papyrus'.GEN_SEP);
146
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applications clientes.*/
147
define('GEN_CHEMIN_CLIENT', 'client'.GEN_SEP);
148
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des sites.*/
149
define('GEN_CHEMIN_SITES', 'sites'.GEN_SEP);
85 jpm 150
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers de configuration de Papyrus.*/
77 jpm 151
define('GEN_CHEMIN_CONFIG', GEN_CHEMIN_PAP.'configuration'.GEN_SEP);
85 jpm 152
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers sql d'installation de Papyrus.*/
77 jpm 153
define('GEN_CHEMIN_INSTAL', GEN_CHEMIN_PAP.'installation'.GEN_SEP);
85 jpm 154
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applications internes à Papyrus.*/
77 jpm 155
define('GEN_CHEMIN_APPLICATION', GEN_CHEMIN_PAP.'applications'.GEN_SEP);
85 jpm 156
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applettes.*/
77 jpm 157
define('GEN_CHEMIN_APPLETTE', GEN_CHEMIN_PAP.'applettes'.GEN_SEP);
85 jpm 158
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant la bibliothèque de codes de Papyrus.*/
77 jpm 159
define('GEN_CHEMIN_BIBLIO', GEN_CHEMIN_PAP.'bibliotheque'.GEN_SEP.'fonctions'.GEN_SEP);
329 jpm 160
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant la bibliothèque de codes de Papyrus.*/
161
define('GEN_CHEMIN_BIBLIO_CLASSE', GEN_CHEMIN_PAP.'bibliotheque'.GEN_SEP.'classes'.GEN_SEP);
85 jpm 162
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les traductions de Papyrus.*/
163
define('GEN_CHEMIN_LANGUE', GEN_CHEMIN_PAP.'langues'.GEN_SEP);
164
/** Chemin vers le dossier Commun des sites.*/
77 jpm 165
define('GEN_CHEMIN_COMMUN', GEN_CHEMIN_SITES.'commun'.GEN_SEP);
85 jpm 166
/** Chemin vers le dossier contenant des fichiers temporaires.*/
4 jpm 167
define('GEN_CHEMIN_TMP', 'tmp');
168
 
169
// +------------------------------------------------------------------------------------------------------+
170
// Nom des dossiers d'un site présent dans le dossier de langue.
85 jpm 171
/** Nom du dossier contenant les squelettes d'un site donné.*/
4 jpm 172
define('GEN_DOSSIER_SQUELETTE', 'squelettes');
85 jpm 173
/** Nom du dossier contenant les feuilles de styles d'un site donné.*/
4 jpm 174
define('GEN_DOSSIER_STYLE', 'styles');
85 jpm 175
/** Nom du dossier contenant les scripts côté client d'un site donné.*/
4 jpm 176
define('GEN_DOSSIER_SCRIPT', 'scripts');
85 jpm 177
/** Nom du dossier contenant les images d'un site donné.*/
4 jpm 178
define('GEN_DOSSIER_IMAGE', 'images');
85 jpm 179
/** Nom du dossier contenant les documents d'un site donné.*/
4 jpm 180
define('GEN_DOSSIER_DOC', 'documents');
85 jpm 181
/** Nom du dossier contenant des dossiers et fichiers communs à plusieurs langues.*/
4 jpm 182
define('GEN_DOSSIER_GENERIQUE', 'generique');
183
 
77 jpm 184
// +------------------------------------------------------------------------------------------------------+
185
// Nom des fichiers par défaut d'un site présent dans le dossier de langue.
90 jpm 186
/** Nom du fichier de configuration principal de Papyrus.*/
187
define('GEN_FICHIER_CONFIG', 'pap_config.inc.php');
85 jpm 188
/** Nom du fichier squelette par défaut d'un site donné.*/
77 jpm 189
define('GEN_FICHIER_SQUELETTE', 'defaut.html');
85 jpm 190
/** Nom du fichier de styles par défaut d'un site donné.*/
77 jpm 191
define('GEN_FICHIER_STYLE', 'defaut.css');
754 ddelon 192
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des wikini*/
193
define('GEN_CHEMIN_WIKINI', 'wikini'.GEN_SEP);
77 jpm 194
 
754 ddelon 195
 
85 jpm 196
// +------------------------------------------------------------------------------------------------------+
197
// Nom des styles de Papyrus.
198
/** Style erreur.*/
199
define('GEN_CSS_ERREUR', 'pap_erreur');
352 jpm 200
// +------------------------------------------------------------------------------------------------------+
201
//Gestion des actions Papyrus
85 jpm 202
 
352 jpm 203
/** Les sites correspodant aux liens interwiki. */
204
$GLOBALS['_PAPYRUS_']['interwiki_sites'] = array(
205
    'Papyrus'       => 'http://'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['PHP_SELF'].'?menu=%s',
206
    'Weflore'       => 'http://wiki.tela-botanica.org/eflore/wakka.php?wiki=%s',
207
    'Wikipedia'     => 'http://fr.wikipedia.org/wiki/%s',
208
    'Wikipedia_fr'  => 'http://fr.wikipedia.org/wiki/%s'
209
);
85 jpm 210
 
352 jpm 211
/** Les sites correspodant à l'action inclure. */
212
$GLOBALS['_PAPYRUS_']['inclure_sites'] = array(
213
    'Papyrus' => array('preg' => '/<!-- start contenu -->(.*)<!-- end contenu -->/Umsi', 'url' => 'http://'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['PHP_SELF'].'?menu=%s'),
214
    'Wikipedia' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://fr.wikipedia.org/wiki/%s'),
215
    'Wikipedia_fr' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://fr.wikipedia.org/wiki/%s'),
216
    'Wikipedia_en' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://en.wikipedia.org/wiki/%s'),
1559 jp_milcent 217
    'Wikini_eFlore' => array('preg' => '/<div class="page">(.*)<\/div>.*<div class="commentsheader">/Umsi', 'url' => 'http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=%s'),
218
    'Wikini_isff' => array('preg' => '/<div class="page">(.*)<\/div>.*<div class="commentsheader">/Umsi', 'url' => 'http://www.tela-botanica.org/wikini/isff/wakka.php?wiki=%s')
352 jpm 219
);
4 jpm 220
/* +--Fin du code ---------------------------------------------------------------------------------------+
221
* $Log: not supported by cvs2svn $
1559 jp_milcent 222
* Revision 1.30  2007-04-19 16:54:24  neiluj
223
* changement de version
224
*
1341 neiluj 225
* Revision 1.29  2007/03/01 11:07:19  jp_milcent
226
* Gestion de la constante définissant le type de débogage.
227
*
1237 jp_milcent 228
* Revision 1.28  2006/12/14 15:01:05  jp_milcent
229
* Utilisation d'un système permettant de mémoriser les idenitifications.
230
* Passage à Auth 1.4.3 et DB 1.7.6.
231
*
1172 jp_milcent 232
* Revision 1.27  2006/11/20 17:48:33  jp_milcent
233
* Mise à 0 de PAP_AUTH_SESSION_DUREE pour garder la compatibilité avec les anciennes installations.
234
*
1057 jp_milcent 235
* Revision 1.26  2006/11/20 17:29:04  jp_milcent
236
* Ajout d'une constante permettant de gérer la durée des session de Papyrus.
237
*
1053 jp_milcent 238
* Revision 1.25  2006/10/26 16:29:52  jp_milcent
239
* Correction erreur redirection en boucle.
240
*
1041 jp_milcent 241
* Revision 1.24  2006/10/18 10:18:04  jp_milcent
242
* Gestion des erreurs HTTP par Papyrus.
243
*
1037 jp_milcent 244
* Revision 1.23  2006/10/11 18:04:11  jp_milcent
245
* Gestion avancée de la réecriture d'URL.
246
*
1029 jp_milcent 247
* Revision 1.22  2006/10/05 13:17:47  ddelon
248
* Changement Version Papyrus : 0.21 --> 0.24
249
*
977 ddelon 250
* Revision 1.21  2006/09/13 12:31:18  florian
251
* ménage: fichier de config Papyrus, fichiers temporaires
252
*
933 florian 253
* Revision 1.20  2006/04/28 12:41:49  florian
254
* corrections erreurs chemin
255
*
832 florian 256
* Revision 1.19  2006/03/13 21:00:20  ddelon
257
* Suppression messages d'erreur multilinguisme
258
*
767 ddelon 259
* Revision 1.18  2006/03/02 10:49:49  ddelon
260
* Fusion branche multilinguisme dans branche principale
261
*
754 ddelon 262
* Revision 1.17.2.1  2005/12/01 23:31:57  ddelon
263
* Merge Head vers multilinguisme
443 ddelon 264
*
352 jpm 265
* Revision 1.14  2005/04/18 16:40:39  jpm
266
* Ajout de constantes pour contrôler les permaliens.
267
*
329 jpm 268
* Revision 1.12  2005/04/06 13:22:58  jpm
269
* Ajout du chemin vers l'API PEAR présente dans le dossier api.
270
*
324 jpm 271
* Revision 1.11  2005/02/28 11:12:24  jpm
272
* Modification des auteurs.
273
*
285 jpm 274
* Revision 1.10  2005/02/17 17:56:33  jpm
275
* Changement de version de 0.2 à 0.21.
276
*
263 jpm 277
* Revision 1.9  2004/10/25 16:26:19  jpm
278
* Changement de la valeur de la variable GEN_VERSION.
279
*
107 jpm 280
* Revision 1.8  2004/10/22 17:22:41  jpm
281
* Modification du au changement de place de l'inclusion de ce fichier dans Papyrus.
282
*
90 jpm 283
* Revision 1.7  2004/10/21 18:16:18  jpm
284
* Ajout de contantes pour le débogage et corrections de commentaires.
285
*
85 jpm 286
* Revision 1.6  2004/10/19 16:00:23  jpm
287
* Extraction de constante pour ajout dans le fichier de conf géré par l'installateur de Papyrus.
288
* Ajout de nouvelles constantes.
289
*
67 jpm 290
* Revision 1.4  2004/10/14 16:37:04  jpm
291
* Correction.
292
*
63 jpm 293
* Revision 1.3  2004/09/13 17:09:25  jpm
294
* Redéfini le séparateur utilisé lorsque PHP génère des URLs pour séparer les arguments. (compatible XHTML strict)
295
*
38 jpm 296
* Revision 1.2  2004/06/16 15:06:45  jpm
297
* Ajout de constantes de chemin.
298
*
9 jpm 299
* Revision 1.1  2004/06/15 15:19:56  jpm
300
* Changement de nom et d'arborescence de Genesia en Papyrus.
301
*
4 jpm 302
* Revision 1.10  2004/05/06 11:14:56  jpm
303
* Ajout de nouvelles constantes.
304
*
305
* Revision 1.8  2004/04/01 11:26:27  jpm
306
* Ajout et modification de commentaires pour PhpDocumentor.
307
*
308
* Revision 1.7  2004/03/31 16:55:44  jpm
309
* Ajout de constant gérant l'url.
310
*
311
* Revision 1.6  2004/03/27 11:09:21  jpm
312
* Transformation de variable en constante.
313
*
314
* Revision 1.5  2004/03/22 10:58:59  jpm
315
* Ajout de commentaires.
316
*
317
* Revision 1.4  2003/12/16 16:57:59  alex
318
* mise à jour pour compatibilité avec genesia
319
*
320
* Revision 1.3  2003/12/05 14:35:41  alex
321
* en cours
322
*
323
* Revision 1.2  2003/11/24 15:19:52  jpm
324
* Mise en conformité avec la convention de codage.
325
*
326
* +--Fin du code ----------------------------------------------------------------------------------------+
327
*/
328
?>