91e1b7a72b9da573c37f936ad596e71fdf4377e6
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
14 ## type d'URLs obsolete
15 ## depuis la 3.0.17 on ne la propose plus dans le menu de configuration
16 ## fichier sans doute à supprimer en 3.1
18 if (!defined("_ECRIRE_INC_VERSION")) return; // securiser
20 # donner un exemple d'url pour le formulaire de choix
21 define('URLS_STANDARD_EXEMPLE', 'article.php3?id_article=12');
23 if (!function_exists('generer_url_article')) { // si la place n'est pas prise
25 // http://doc.spip.org/@generer_url_article
26 function generer_url_article($id_article) {
27 return _DIR_RACINE
. "article.php3?id_article=$id_article";
30 // http://doc.spip.org/@generer_url_rubrique
31 function generer_url_rubrique($id_rubrique) {
32 return _DIR_RACINE
. "rubrique.php3?id_rubrique=$id_rubrique";
35 // http://doc.spip.org/@generer_url_breve
36 function generer_url_breve($id_breve) {
37 return _DIR_RACINE
. "breve.php3?id_breve=$id_breve";
40 // http://doc.spip.org/@generer_url_mot
41 function generer_url_mot($id_mot) {
42 return _DIR_RACINE
. "mot.php3?id_mot=$id_mot";
45 // http://doc.spip.org/@generer_url_site
46 function generer_url_site($id_syndic) {
47 return _DIR_RACINE
. "site.php3?id_syndic=$id_syndic";
50 // http://doc.spip.org/@generer_url_auteur
51 function generer_url_auteur($id_auteur) {
52 return _DIR_RACINE
. "auteur.php3?id_auteur=$id_auteur";
55 // http://doc.spip.org/@generer_url_document
56 function generer_url_document($id_document) {
57 $generer_url_document = charger_fonction("generer_url_document","urls");
58 return $generer_url_document($id_document);
61 // http://doc.spip.org/@recuperer_parametres_url
62 function recuperer_parametres_url(&$fond, $url) {
65 // traiter les injections du type domaine.org/spip.php/cestnimportequoi/ou/encore/plus/rubrique23
66 if ($GLOBALS['profondeur_url']>0 AND $fond=='sommaire'){
71 * Le bloc qui suit sert a faciliter les transitions depuis
72 * le mode 'urls-propres' vers les modes 'urls-standard' et 'url-html'
73 * Il est inutile de le recopier si vous personnalisez vos URLs
76 // Si on est revenu en mode html, mais c'est une ancienne url_propre
77 // on ne redirige pas, on assume le nouveau contexte (si possible)
78 $url_propre = isset($_SERVER['REDIRECT_url_propre']) ?
79 $_SERVER['REDIRECT_url_propre'] :
80 (isset($_ENV['url_propre']) ?
84 include_spip('inc/urls');
85 $objets = urls_liste_objets();
87 AND preg_match(",^($objets|type_urls|404)$,",$fond)) {
88 if ($GLOBALS['profondeur_url']<=0)
89 $urls_anciennes = charger_fonction('propres','urls');
91 $urls_anciennes = charger_fonction('arbo','urls');
92 $p = $urls_anciennes($url_propre,$fond,$contexte);
95 /* Fin du bloc compatibilite url-propres */
97 /* Compatibilite urls-page */
98 else if ($GLOBALS['profondeur_url']<=0
100 ',[?/&]('.$objets.')[=]?([0-9]+),',
103 $contexte[id_table_objet($r[1])] = $r[2];
105 /* Fin compatibilite urls-page */
111 // le format de definition obsolete oblige a referencer explicitement les forums
112 // on prevoit leur inexistence possible par un test sur charger_fonction
113 // http://doc.spip.org/@generer_url_forum
114 function generer_url_forum($id, $show_thread=false) {
115 if ($generer_url_externe = charger_fonction("generer_url_forum",'urls',true))
116 return $generer_url_externe($id, $args, $ancre);