Subversion Repositories Applications.papyrus

Rev

Rev 1037 | Rev 1053 | 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
// +------------------------------------------------------------------------------------------------------+
1041 jp_milcent 25
// CVS : $Id: pap_config_avancee.inc.php,v 1.25 2006-10-26 16:29:52 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
1041 jp_milcent 39
*@version           $Revision: 1.25 $ $Date: 2006-10-26 16:29:52 $
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.
754 ddelon 66
 
85 jpm 67
/** Constante stockant une valeur booléen permettant de savoir si on veut déboguer le code (true) ou pas (false).*/
767 ddelon 68
define('GEN_DEBOGAGE', true);// true ou false
85 jpm 69
/** Constante stockant une valeur correspondant au niveau d'erreur à employer pour le code PHP
70
* de Papyrus et de ses applications.*/
4 jpm 71
define('GEN_DEBOGAGE_NIVEAU', E_ALL);// Voir le manuel de PHP pour les différents niveaux disponibles.
85 jpm 72
/** Constante permettant de savoir si on veut afficher le contexte des variables d'une erreur
73
* pour le code PHP de Papyrus et de ses applications.*/
74
define('GEN_DEBOGAGE_CONTEXTE', false);// true or false
75
/** Constante permettant de savoir la langue pour le débogage du code PHP de Papyrus et de ses
76
* applications.*/
77
define('GEN_DEBOGAGE_I18N', 'fr');
4 jpm 78
 
79
// +------------------------------------------------------------------------------------------------------+
80
// Paramétrage du nom du champ servant à identifier un site dans l'url
85 jpm 81
/** Type du code d'un site passé dans l'url.*/
4 jpm 82
define('GEN_URL_ID_TYPE_SITE', 'int');// string ou int
85 jpm 83
/** Type du code d'un menu passé dans l'url.*/
4 jpm 84
define('GEN_URL_ID_TYPE_MENU', 'int');// string ou int
342 jpm 85
/** Type du code d'un site pour les urls raccourcies.*/
86
define('GEN_URL_RACCOURCI_ID_TYPE_SITE', 'string');// string ou int
87
/** Type du code d'un menu pour les urls raccourcies.*/
88
define('GEN_URL_RACCOURCI_ID_TYPE_MENU', 'string');// string ou int
4 jpm 89
 
90
// +------------------------------------------------------------------------------------------------------+
91
// Paramétrage des clés de l'url
38 jpm 92
// Redéfini le séparateur utilisé lorsque PHP génère des URLs pour séparer les arguments. (compatible XHTML strict)
93
ini_set('arg_separator.output', '&amp;');
85 jpm 94
/** Nom de la variable passée dans l'url et contenant l'identifiant d'un site.*/
4 jpm 95
define('GEN_URL_CLE_SITE', 'site');
85 jpm 96
/** Nom de la variable passée dans l'url et contenant l'identifiant d'un menu.*/
4 jpm 97
define('GEN_URL_CLE_MENU', 'menu');
85 jpm 98
/** Nom de la variable passée dans l'url et contenant l'identifiant d'une internationalisation.*/
4 jpm 99
define('GEN_URL_CLE_I18N', 'langue');
85 jpm 100
/** Nom de la variable passée dans l'url et contenant une date.*/
4 jpm 101
define('GEN_URL_CLE_DATE', 'date');
85 jpm 102
/** Nom de la variable passée dans l'url et contenant un format.*/
4 jpm 103
define('GEN_URL_CLE_FORMAT', 'format');
104
 
105
// +------------------------------------------------------------------------------------------------------+
106
// Paramétrage des langues
85 jpm 107
/** Identifiant de l'I18N par défaut de Papyrus. */
4 jpm 108
define('GEN_I18N_ID_DEFAUT', 'fr');
109
 
110
// +------------------------------------------------------------------------------------------------------+
77 jpm 111
// Noms des sites
85 jpm 112
/** Nom du site par défaut d'administration de Papyrus.*/
77 jpm 113
define('GEN_SITE_DEFAUT', 'admin');
4 jpm 114
 
115
// +------------------------------------------------------------------------------------------------------+
1037 jp_milcent 116
// Paramétrage réecriture d'URL et erreur HTTP
1029 jp_milcent 117
/** Mot signalant une réecriture d'url présent à la base de l'url. */
118
define('PAP_URL_REECRITURE_MENU', 'page');
119
/** Mot signalant une réecriture d'url présent à la base de l'url. */
120
define('PAP_URL_REECRITURE_SITE', 'site');
121
/** Caractère séparant les informations constituant le permalien Papyrus. */
122
// Si vous utilisez "/", vous devrez indiquer le chemin depuis la racine pour les chemins présent dans les squelettes.
123
// Exemple : "/sites/commun..." et non "sites/commun..."
124
define('PAP_URL_REECRITURE_SEP', ':');
1037 jp_milcent 125
/** Chemin et nom du fichier affichant une erreur HTTP.*/
126
define('PAP_FICHIER_ERREUR_HTTP', PAP_CHEMIN_RACINE.'sites/commun/%s/http_erreurs/erreur%s.php');
1041 jp_milcent 127
/** URL absolue du fichier affichant une erreur HTTP.*/
128
define('PAP_URL_ERREUR_HTTP', '/sites/commun/%s/http_erreurs/erreur%s.php?url=%s');
1029 jp_milcent 129
 
130
// +------------------------------------------------------------------------------------------------------+
85 jpm 131
/** Séparateur dans les chemins d'accès aux fichiers.*/
77 jpm 132
define('GEN_SEP', '/');
85 jpm 133
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des api.*/
832 florian 134
define('GEN_CHEMIN_API', PAP_CHEMIN_RACINE.'api'.GEN_SEP);
324 jpm 135
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des api.*/
136
define('PAP_CHEMIN_API_PEAR', GEN_CHEMIN_API.'pear'.GEN_SEP);
85 jpm 137
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant le reste de l'application Papyrus.*/
90 jpm 138
define('GEN_CHEMIN_PAP', 'papyrus'.GEN_SEP);
139
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applications clientes.*/
140
define('GEN_CHEMIN_CLIENT', 'client'.GEN_SEP);
141
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des sites.*/
142
define('GEN_CHEMIN_SITES', 'sites'.GEN_SEP);
85 jpm 143
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers de configuration de Papyrus.*/
77 jpm 144
define('GEN_CHEMIN_CONFIG', GEN_CHEMIN_PAP.'configuration'.GEN_SEP);
85 jpm 145
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers sql d'installation de Papyrus.*/
77 jpm 146
define('GEN_CHEMIN_INSTAL', GEN_CHEMIN_PAP.'installation'.GEN_SEP);
85 jpm 147
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applications internes à Papyrus.*/
77 jpm 148
define('GEN_CHEMIN_APPLICATION', GEN_CHEMIN_PAP.'applications'.GEN_SEP);
85 jpm 149
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les applettes.*/
77 jpm 150
define('GEN_CHEMIN_APPLETTE', GEN_CHEMIN_PAP.'applettes'.GEN_SEP);
85 jpm 151
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant la bibliothèque de codes de Papyrus.*/
77 jpm 152
define('GEN_CHEMIN_BIBLIO', GEN_CHEMIN_PAP.'bibliotheque'.GEN_SEP.'fonctions'.GEN_SEP);
329 jpm 153
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant la bibliothèque de codes de Papyrus.*/
154
define('GEN_CHEMIN_BIBLIO_CLASSE', GEN_CHEMIN_PAP.'bibliotheque'.GEN_SEP.'classes'.GEN_SEP);
85 jpm 155
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les traductions de Papyrus.*/
156
define('GEN_CHEMIN_LANGUE', GEN_CHEMIN_PAP.'langues'.GEN_SEP);
157
/** Chemin vers le dossier Commun des sites.*/
77 jpm 158
define('GEN_CHEMIN_COMMUN', GEN_CHEMIN_SITES.'commun'.GEN_SEP);
85 jpm 159
/** Chemin vers le dossier contenant des fichiers temporaires.*/
4 jpm 160
define('GEN_CHEMIN_TMP', 'tmp');
161
 
162
// +------------------------------------------------------------------------------------------------------+
163
// Nom des dossiers d'un site présent dans le dossier de langue.
85 jpm 164
/** Nom du dossier contenant les squelettes d'un site donné.*/
4 jpm 165
define('GEN_DOSSIER_SQUELETTE', 'squelettes');
85 jpm 166
/** Nom du dossier contenant les feuilles de styles d'un site donné.*/
4 jpm 167
define('GEN_DOSSIER_STYLE', 'styles');
85 jpm 168
/** Nom du dossier contenant les scripts côté client d'un site donné.*/
4 jpm 169
define('GEN_DOSSIER_SCRIPT', 'scripts');
85 jpm 170
/** Nom du dossier contenant les images d'un site donné.*/
4 jpm 171
define('GEN_DOSSIER_IMAGE', 'images');
85 jpm 172
/** Nom du dossier contenant les documents d'un site donné.*/
4 jpm 173
define('GEN_DOSSIER_DOC', 'documents');
85 jpm 174
/** Nom du dossier contenant des dossiers et fichiers communs à plusieurs langues.*/
4 jpm 175
define('GEN_DOSSIER_GENERIQUE', 'generique');
176
 
77 jpm 177
// +------------------------------------------------------------------------------------------------------+
178
// Nom des fichiers par défaut d'un site présent dans le dossier de langue.
90 jpm 179
/** Nom du fichier de configuration principal de Papyrus.*/
180
define('GEN_FICHIER_CONFIG', 'pap_config.inc.php');
85 jpm 181
/** Nom du fichier squelette par défaut d'un site donné.*/
77 jpm 182
define('GEN_FICHIER_SQUELETTE', 'defaut.html');
85 jpm 183
/** Nom du fichier de styles par défaut d'un site donné.*/
77 jpm 184
define('GEN_FICHIER_STYLE', 'defaut.css');
754 ddelon 185
/** Chemin relatif par rapport au fichier papyrus.php vers le dossier contenant les fichiers des wikini*/
186
define('GEN_CHEMIN_WIKINI', 'wikini'.GEN_SEP);
77 jpm 187
 
754 ddelon 188
 
85 jpm 189
// +------------------------------------------------------------------------------------------------------+
190
// Nom des styles de Papyrus.
191
/** Style erreur.*/
192
define('GEN_CSS_ERREUR', 'pap_erreur');
352 jpm 193
// +------------------------------------------------------------------------------------------------------+
194
//Gestion des actions Papyrus
85 jpm 195
 
352 jpm 196
/** Les sites correspodant aux liens interwiki. */
197
$GLOBALS['_PAPYRUS_']['interwiki_sites'] = array(
198
    'Papyrus'       => 'http://'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['PHP_SELF'].'?menu=%s',
199
    'Weflore'       => 'http://wiki.tela-botanica.org/eflore/wakka.php?wiki=%s',
200
    'Wikipedia'     => 'http://fr.wikipedia.org/wiki/%s',
201
    'Wikipedia_fr'  => 'http://fr.wikipedia.org/wiki/%s'
202
);
85 jpm 203
 
352 jpm 204
/** Les sites correspodant à l'action inclure. */
205
$GLOBALS['_PAPYRUS_']['inclure_sites'] = array(
206
    'Papyrus' => array('preg' => '/<!-- start contenu -->(.*)<!-- end contenu -->/Umsi', 'url' => 'http://'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['PHP_SELF'].'?menu=%s'),
207
    'Wikipedia' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://fr.wikipedia.org/wiki/%s'),
208
    'Wikipedia_fr' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://fr.wikipedia.org/wiki/%s'),
209
    'Wikipedia_en' => array('preg' => '/<!-- start content -->(.*)<!-- end content -->/Umsi', 'url' => 'http://en.wikipedia.org/wiki/%s'),
210
    'Wikini_eFlore' => array('preg' => '/<div class="page">(.*)<\/div>.*<div class="commentsheader">/Umsi', 'url' => 'http://wiki.tela-botanica.org/eflore/wakka.php?wiki=%s'),
211
    'Wikini_isff' => array('preg' => '/<div class="page">(.*)<\/div>.*<div class="commentsheader">/Umsi', 'url' => 'http://wiki.tela-botanica.org/isff/wakka.php?wiki=%s')
212
);
4 jpm 213
/* +--Fin du code ---------------------------------------------------------------------------------------+
214
* $Log: not supported by cvs2svn $
1041 jp_milcent 215
* Revision 1.24  2006/10/18 10:18:04  jp_milcent
216
* Gestion des erreurs HTTP par Papyrus.
217
*
1037 jp_milcent 218
* Revision 1.23  2006/10/11 18:04:11  jp_milcent
219
* Gestion avancée de la réecriture d'URL.
220
*
1029 jp_milcent 221
* Revision 1.22  2006/10/05 13:17:47  ddelon
222
* Changement Version Papyrus : 0.21 --> 0.24
223
*
977 ddelon 224
* Revision 1.21  2006/09/13 12:31:18  florian
225
* ménage: fichier de config Papyrus, fichiers temporaires
226
*
933 florian 227
* Revision 1.20  2006/04/28 12:41:49  florian
228
* corrections erreurs chemin
229
*
832 florian 230
* Revision 1.19  2006/03/13 21:00:20  ddelon
231
* Suppression messages d'erreur multilinguisme
232
*
767 ddelon 233
* Revision 1.18  2006/03/02 10:49:49  ddelon
234
* Fusion branche multilinguisme dans branche principale
235
*
754 ddelon 236
* Revision 1.17.2.1  2005/12/01 23:31:57  ddelon
237
* Merge Head vers multilinguisme
443 ddelon 238
*
352 jpm 239
* Revision 1.14  2005/04/18 16:40:39  jpm
240
* Ajout de constantes pour contrôler les permaliens.
241
*
329 jpm 242
* Revision 1.12  2005/04/06 13:22:58  jpm
243
* Ajout du chemin vers l'API PEAR présente dans le dossier api.
244
*
324 jpm 245
* Revision 1.11  2005/02/28 11:12:24  jpm
246
* Modification des auteurs.
247
*
285 jpm 248
* Revision 1.10  2005/02/17 17:56:33  jpm
249
* Changement de version de 0.2 à 0.21.
250
*
263 jpm 251
* Revision 1.9  2004/10/25 16:26:19  jpm
252
* Changement de la valeur de la variable GEN_VERSION.
253
*
107 jpm 254
* Revision 1.8  2004/10/22 17:22:41  jpm
255
* Modification du au changement de place de l'inclusion de ce fichier dans Papyrus.
256
*
90 jpm 257
* Revision 1.7  2004/10/21 18:16:18  jpm
258
* Ajout de contantes pour le débogage et corrections de commentaires.
259
*
85 jpm 260
* Revision 1.6  2004/10/19 16:00:23  jpm
261
* Extraction de constante pour ajout dans le fichier de conf géré par l'installateur de Papyrus.
262
* Ajout de nouvelles constantes.
263
*
67 jpm 264
* Revision 1.4  2004/10/14 16:37:04  jpm
265
* Correction.
266
*
63 jpm 267
* Revision 1.3  2004/09/13 17:09:25  jpm
268
* Redéfini le séparateur utilisé lorsque PHP génère des URLs pour séparer les arguments. (compatible XHTML strict)
269
*
38 jpm 270
* Revision 1.2  2004/06/16 15:06:45  jpm
271
* Ajout de constantes de chemin.
272
*
9 jpm 273
* Revision 1.1  2004/06/15 15:19:56  jpm
274
* Changement de nom et d'arborescence de Genesia en Papyrus.
275
*
4 jpm 276
* Revision 1.10  2004/05/06 11:14:56  jpm
277
* Ajout de nouvelles constantes.
278
*
279
* Revision 1.8  2004/04/01 11:26:27  jpm
280
* Ajout et modification de commentaires pour PhpDocumentor.
281
*
282
* Revision 1.7  2004/03/31 16:55:44  jpm
283
* Ajout de constant gérant l'url.
284
*
285
* Revision 1.6  2004/03/27 11:09:21  jpm
286
* Transformation de variable en constante.
287
*
288
* Revision 1.5  2004/03/22 10:58:59  jpm
289
* Ajout de commentaires.
290
*
291
* Revision 1.4  2003/12/16 16:57:59  alex
292
* mise à jour pour compatibilité avec genesia
293
*
294
* Revision 1.3  2003/12/05 14:35:41  alex
295
* en cours
296
*
297
* Revision 1.2  2003/11/24 15:19:52  jpm
298
* Mise en conformité avec la convention de codage.
299
*
300
* +--Fin du code ----------------------------------------------------------------------------------------+
301
*/
302
?>