Browse Source

revision de la possibilite de faire une transition entre une mode d'url et un autre ; a noter les rubriques en arbo ne transitionnent pas vers les autres modes (juste pour ca, il faudrait tout revoir : on surseoit)

spip-2.0
Fil 14 years ago
parent
commit
eb2bbe036c
  1. 12
      ecrire/urls/html.php
  2. 11
      ecrire/urls/page.php
  3. 9
      ecrire/urls/standard.php
  4. 20
      htaccess.txt

12
ecrire/urls/html.php

@ -75,7 +75,7 @@ function generer_url_document($id_document, $args='', $ancre='') {
// retrouver les parametres d'une URL dite "html"
// http://doc.spip.org/@urls_html_dist
function urls_html_dist($fond, $url) {
function urls_html_dist(&$fond, $url) {
global $contexte;
@ -92,12 +92,14 @@ function urls_html_dist($fond, $url) {
(isset($_ENV['url_propre']) ?
$_ENV['url_propre'] :
'');
if ($url_propre AND preg_match(',^(article|breve|rubrique|mot|auteur|site)$,', $fond)) {
if ($url_propre AND preg_match(',^(article|breve|rubrique|mot|auteur|site|type_urls)$,', $fond)) {
$url_propre = (preg_replace('/^[_+-]{0,2}(.*?)[_+-]{0,2}(\.html)?$/',
'$1', $url_propre));
$r = sql_fetsel("id_objet", "spip_urls", "url=" . _q($url_propre));
if ($r) $contexte[id_table_objet($fond)] = $r['id_objet'];
$r = sql_fetsel("id_objet,type", "spip_urls", "url=" . _q($url_propre));
if ($r) {
$fond = ($r['type'] == 'syndic') ? 'site' : $r['type'];
$contexte[id_table_objet($fond)] = $r['id_objet'];
}
}
/* Fin du bloc compatibilite url-propres */
}

11
ecrire/urls/page.php

@ -118,11 +118,14 @@ function urls_page_dist(&$fond, $url) {
if (
(isset($_SERVER['REDIRECT_url_propre']) AND $url_propre = $_SERVER['REDIRECT_url_propre'])
OR (isset($_ENV['url_propre']) AND $url_propre = $_ENV['url_propre'])
AND preg_match(',^(article|breve|rubrique|mot|auteur|site)$,', $fond)) {
$url_propre = (preg_replace('/^[_+-]{0,2}(.*?)[_+-]{0,2}(\.html)?$/',
AND preg_match(',^(article|breve|rubrique|mot|auteur|site|type_urls)$,', $fond)) {
$url_propre = (preg_replace('/^[_+-]{0,2}(.*?)[_+-]{0,2}(\.html)?$/',
'$1', $url_propre));
$r = sql_fetsel("id_objet", "spip_urls", "url=" . _q($url_propre));
if ($r) $contexte[id_table_objet($fond)] = $r['id_objet'];
$r = sql_fetsel("id_objet,type", "spip_urls", "url=" . _q($url_propre));
if ($r) {
$fond = ($r['type'] == 'syndic') ? 'site' : $r['type'];
$contexte[id_table_objet($fond)] = $r['id_objet'];
}
}
/* Fin du bloc compatibilite url-propres */

9
ecrire/urls/standard.php

@ -70,11 +70,14 @@ function recuperer_parametres_url(&$fond, $url) {
(isset($_ENV['url_propre']) ?
$_ENV['url_propre'] :
'');
if ($url_propre AND preg_match(',^(article|breve|rubrique|mot|auteur|site)$,', $fond)) {
if ($url_propre AND preg_match(',^(article|breve|rubrique|mot|auteur|site|type_urls)$,', $fond)) {
$url_propre = (preg_replace('/^[_+-]{0,2}(.*?)[_+-]{0,2}(\.html)?$/',
'$1', $url_propre));
$r = sql_fetsel("id_objet", "spip_urls", "url=" . _q($url_propre));
if ($r) $contexte[id_table_objet($fond)] = $r['id_objet'];
$r = sql_fetsel("id_objet,type", "spip_urls", "url=" . _q($url_propre));
if ($r) {
$fond = ($r['type'] == 'syndic') ? 'site' : $r['type'];
$contexte[id_table_objet($fond)] = $r['id_objet'];
}
}
/* Fin du bloc compatibilite url-propres */

20
htaccess.txt

@ -74,29 +74,13 @@ RewriteRule ^spip_rss\.php3?$ spip.php?action=rss [QSA,L]
###
###
# URLs "propres" et "propres2"
# pensez a regler $type_urls='propres' ou 'propres2'
# dans ecrire/mes_options.php
# (fichier associe : ecrire/urls/propres.php)
# URLs "propres", "propres2", "libres", "arbo"
RewriteRule ^[^/\.]+(\.html)?$ spip.php?page=type_urls [QSA,E=url_propre:$0,L]
RewriteRule ^[^\.]+(\.html)?$ spip.php?page=type_urls [QSA,E=url_propre:$0,L]
# Fin URLs "propres" et "propres2"
###
###
# URLs "arbo"
# pensez a ajouter
# $type_urls='arbo'
# define('_SET_HTML_BASE',1); // si vos squelette sont en url relatives
# dans ecrire/mes_options.php
# (fichier associe : ecrire/urls/arbo.php)
RewriteRule ^[^\.]+(\.html)?$ spip.php?page=type_urls [QSA,E=url_propre:$0,L]
# Fin URLs "arbo"
###
###
# Divers

Loading…
Cancel
Save