Line 19... |
Line 19... |
19 |
// | You should have received a copy of the GNU Lesser General Public |
|
19 |
// | You should have received a copy of the GNU Lesser General Public |
|
20 |
// | License along with this library; if not, write to the Free Software |
|
20 |
// | License along with this library; if not, write to the Free Software |
|
21 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
21 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
22 |
// | |
|
22 |
// | |
|
23 |
// +------------------------------------------------------------------------------------------------------+
|
23 |
// +------------------------------------------------------------------------------------------------------+
|
24 |
// CVS : $Id: pap_initialise_info.inc.php,v 1.25 2006-10-11 18:04:11 jp_milcent Exp $
|
24 |
// CVS : $Id: pap_initialise_info.inc.php,v 1.26 2006-10-18 10:18:05 jp_milcent Exp $
|
25 |
/**
|
25 |
/**
|
26 |
*Initialisation de Papyrus : vérification et récupération de paramètres généraux.
|
26 |
*Initialisation de Papyrus : vérification et récupération de paramètres généraux.
|
27 |
*
|
27 |
*
|
28 |
* La page contient le code initialisant l'éxecution du rendu d'une page par Papyrus.
|
28 |
* La page contient le code initialisant l'éxecution du rendu d'une page par Papyrus.
|
29 |
* Nous y trouvons la recherche des informations disponibles sur :
|
29 |
* Nous y trouvons la recherche des informations disponibles sur :
|
Line 39... |
Line 39... |
39 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
39 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
40 |
//Autres auteurs :
|
40 |
//Autres auteurs :
|
41 |
*@author Alexandre GRANIER <alex@tela-botanica.org>
|
41 |
*@author Alexandre GRANIER <alex@tela-botanica.org>
|
42 |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
|
42 |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
|
43 |
*@copyright Tela-Botanica 2000-2004
|
43 |
*@copyright Tela-Botanica 2000-2004
|
44 |
*@version $Revision: 1.25 $ $Date: 2006-10-11 18:04:11 $
|
44 |
*@version $Revision: 1.26 $ $Date: 2006-10-18 10:18:05 $
|
45 |
// +------------------------------------------------------------------------------------------------------+
|
45 |
// +------------------------------------------------------------------------------------------------------+
|
46 |
*/
|
46 |
*/
|
Line 47... |
Line 47... |
47 |
|
47 |
|
48 |
// +------------------------------------------------------------------------------------------------------+
|
48 |
// +------------------------------------------------------------------------------------------------------+
|
Line 62... |
Line 62... |
62 |
// +------------------------------------------------------------------------------------------------------+
|
62 |
// +------------------------------------------------------------------------------------------------------+
|
63 |
// | CORPS du PROGRAMME |
|
63 |
// | CORPS du PROGRAMME |
|
64 |
// +------------------------------------------------------------------------------------------------------+
|
64 |
// +------------------------------------------------------------------------------------------------------+
|
65 |
// +------------------------------------------------------------------------------------------------------+
|
65 |
// +------------------------------------------------------------------------------------------------------+
|
66 |
// Gestion de la réecriture d'url et des url erreur 404
|
66 |
// Gestion de la réecriture d'url et des url erreur 404
|
67 |
if ((! isset($_GET[GEN_URL_CLE_SITE]) || empty($_GET[GEN_URL_CLE_SITE])) && (! isset($_GET[GEN_URL_CLE_MENU]) || empty($_GET[GEN_URL_CLE_MENU])) ) {
|
67 |
if ((defined('PAP_URL_REECRITURE') AND PAP_URL_REECRITURE == '1' && (! isset($_GET[GEN_URL_CLE_SITE]) || empty($_GET[GEN_URL_CLE_SITE])) && (! isset($_GET[GEN_URL_CLE_MENU]) || empty($_GET[GEN_URL_CLE_MENU]))) ) {
|
68 |
if (defined('PAP_URL_REECRITURE') AND PAP_URL_REECRITURE == '1') {
|
- |
|
69 |
$tab_type_reecriture = array('MENU', 'SITE');
|
68 |
$tab_type_reecriture = array('MENU', 'SITE');
|
70 |
foreach ($tab_type_reecriture as $reecriture) {
|
69 |
foreach ($tab_type_reecriture as $reecriture) {
|
71 |
if (PAP_URL_REECRITURE_SEP == '/') {
|
70 |
if (PAP_URL_REECRITURE_SEP == '/') {
|
72 |
$masque_reecriture = '/^(\/.*?)'.constant('PAP_URL_REECRITURE_'.$reecriture).'\\'.PAP_URL_REECRITURE_SEP.'([^\/]+?)(?:\?(.*)|)$/';
|
71 |
$masque_reecriture = '/^(\/.*?)'.constant('PAP_URL_REECRITURE_'.$reecriture).'\\'.PAP_URL_REECRITURE_SEP.'([^\/]+?)(?:\?(.*)|)$/';
|
73 |
} else {
|
72 |
} else {
|
74 |
$masque_reecriture = '/^(\/.*?)'.constant('PAP_URL_REECRITURE_'.$reecriture).PAP_URL_REECRITURE_SEP.'([^\/]+?)(?:\?(.*)|)$/';
|
73 |
$masque_reecriture = '/^(\/.*?)'.constant('PAP_URL_REECRITURE_'.$reecriture).PAP_URL_REECRITURE_SEP.'([^\/]+?)(?:\?(.*)|)$/';
|
- |
|
74 |
}
|
- |
|
75 |
if (preg_match($masque_reecriture, rawurldecode($_SERVER['REQUEST_URI']), $tab_raccourci)) {
|
- |
|
76 |
$chemin_vers_papyrus = $tab_raccourci[1];
|
- |
|
77 |
$raccourci = $tab_raccourci[2];
|
- |
|
78 |
$parametres = '';
|
- |
|
79 |
if (isset($tab_raccourci[3])) {
|
- |
|
80 |
$parametres = $tab_raccourci[3];
|
75 |
}
|
81 |
}
|
76 |
if (preg_match($masque_reecriture, rawurldecode($_SERVER['REQUEST_URI']), $tab_raccourci)) {
|
- |
|
77 |
$chemin_vers_papyrus = $tab_raccourci[1];
|
- |
|
78 |
$raccourci = $tab_raccourci[2];
|
- |
|
79 |
$parametres = '';
|
82 |
if ($reecriture == 'SITE') {
|
80 |
if (isset($tab_raccourci[3])) {
|
83 |
/** Inclusion de la bibliothèque de fonctions servant au site pour la réecriture d'url. */
|
81 |
$parametres = $tab_raccourci[3];
|
84 |
require_once GEN_CHEMIN_BIBLIO.'pap_site.fonct.php';
|
82 |
}
|
85 |
}
|
- |
|
86 |
// Nous cherchons à savoir si le raccourci est entièrement numérique ou pas.
|
83 |
if ($reecriture == 'SITE') {
|
87 |
if (preg_match('/^[0-9]+$/', $raccourci)) {
|
84 |
/** Inclusion de la bibliothèque de fonctions servant au site pour la réecriture d'url. */
|
88 |
// Nous vérifions si nous utilisons les codes numériques ou alphanumérique dans les url
|
85 |
require_once GEN_CHEMIN_BIBLIO.'pap_site.fonct.php';
|
89 |
if (constant('GEN_URL_ID_TYPE_'.$reecriture) != 'int') {
|
- |
|
90 |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeAlpha', $db, $raccourci);
|
- |
|
91 |
} else {
|
- |
|
92 |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = $raccourci;
|
86 |
}
|
93 |
}
|
87 |
// Nous cherchons à savoir si le raccourci est entièrement numérique ou pas.
|
- |
|
88 |
if (preg_match('/^[0-9]+$/', $raccourci)) {
|
94 |
} else {
|
89 |
// Nous vérifions si nous utilisons les codes numériques ou alphanumérique dans les url
|
95 |
// Nous vérifions si nous utilisons les codes numériques ou alphanumérique dans les url
|
90 |
if (constant('GEN_URL_ID_TYPE_'.$reecriture) != 'int') {
|
96 |
if (constant('GEN_URL_ID_TYPE_'.$reecriture) != 'int') {
|
91 |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeAlpha', $db, $raccourci);
|
- |
|
92 |
} else {
|
- |
|
93 |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = $raccourci;
|
97 |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = $raccourci;
|
94 |
}
|
- |
|
95 |
} else {
|
98 |
} else {
|
96 |
// Nous vérifions si nous utilisons les codes numériques ou alphanumérique dans les url
|
- |
|
97 |
if (constant('GEN_URL_ID_TYPE_'.$reecriture) != 'int') {
|
- |
|
98 |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = $raccourci;
|
- |
|
99 |
} else {
|
- |
|
100 |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeNum', $db, $raccourci);
|
99 |
$_GET[constant('GEN_URL_CLE_'.$reecriture)] = call_user_func('GEN_retourner'.$reecriture.'CodeNum', $db, $raccourci);
|
101 |
}
|
- |
|
102 |
}
|
100 |
}
|
103 |
}
|
101 |
}
|
104 |
}
|
102 |
}
|
105 |
}
|
103 |
}
|
106 |
|
- |
|
107 |
// Aucune information n'a été trouvée, redirection vers la page de gestion des erreurs 404
|
- |
|
108 |
if ((! isset($_GET[GEN_URL_CLE_SITE]) || empty($_GET[GEN_URL_CLE_SITE])) && (! isset($_GET[GEN_URL_CLE_MENU]) || empty($_GET[GEN_URL_CLE_MENU]))) {
|
- |
|
109 |
// Utilisation de la fonction statique de Pear HTTP pour négocier l'i18n.
|
- |
|
110 |
$aso_i18n_possible = array(GEN_I18N_ID_DEFAUT => true);
|
- |
|
111 |
$i18n = HTTP::negotiateLanguage($aso_i18n_possible, GEN_I18N_ID_DEFAUT);
|
- |
|
112 |
if (file_exists(sprintf(PAP_FICHIER_ERREUR_404, $i18n))) {
|
- |
|
113 |
header ('Location: '.sprintf(PAP_URL_ERREUR_404, $chemin_vers_papyrus, $i18n, $_SERVER['REQUEST_URI']));
|
- |
|
114 |
} else {
|
- |
|
115 |
header('Location: /');
|
- |
|
116 |
}
|
- |
|
117 |
exit(0);
|
- |
|
118 |
}
|
- |
|
119 |
}
|
104 |
}
|
Line 120... |
Line 105... |
120 |
|
105 |
|
121 |
// +------------------------------------------------------------------------------------------------------+
|
106 |
// +------------------------------------------------------------------------------------------------------+
|
122 |
// Gestion des sites : disponibles sur le serveur courant.
|
107 |
// Gestion des sites : disponibles sur le serveur courant.
|
Line 495... |
Line 480... |
495 |
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_FORMAT, $_GEN_commun['url_format']);
|
480 |
$_GEN_commun['url']->addQueryString(GEN_URL_CLE_FORMAT, $_GEN_commun['url_format']);
|
496 |
}
|
481 |
}
|
Line 497... |
Line 482... |
497 |
|
482 |
|
498 |
/* +--Fin du code ---------------------------------------------------------------------------------------+
|
483 |
/* +--Fin du code ---------------------------------------------------------------------------------------+
|
- |
|
484 |
* $Log: not supported by cvs2svn $
|
- |
|
485 |
* Revision 1.25 2006/10/11 18:04:11 jp_milcent
|
- |
|
486 |
* Gestion avancée de la réecriture d'URL.
|
499 |
* $Log: not supported by cvs2svn $
|
487 |
*
|
500 |
* Revision 1.24 2006/03/02 10:49:49 ddelon
|
488 |
* Revision 1.24 2006/03/02 10:49:49 ddelon
|
501 |
* Fusion branche multilinguisme dans branche principale
|
489 |
* Fusion branche multilinguisme dans branche principale
|
502 |
*
|
490 |
*
|
503 |
* Revision 1.23.2.2 2005/12/20 14:40:24 ddelon
|
491 |
* Revision 1.23.2.2 2005/12/20 14:40:24 ddelon
|