Browse Source

debug et complement pour l'API d'urls : separer la detection du type et la modification du fond ; permet de respecter un ?page=xxx indique dans le .htaccess ; au passage on se debarrasse enfin de l'affreux ?page=type_urls (mais compat ascendante assuree)

spip-3-stable
Fil 14 years ago
parent
commit
4c66852293
  1. 4
      ecrire/public.php
  2. 19
      ecrire/public/assembler.php
  3. 2
      ecrire/urls/arbo.php
  4. 2
      ecrire/urls/propres.php
  5. 2
      htaccess.txt

4
ecrire/public.php

@ -62,8 +62,8 @@ if (isset($GLOBALS['_INC_PUBLIC'])) {
erreur_upload_trop_gros();
}
// mais plus probablement nous sommes dans le cas
$fond = 'sommaire';
// sinon fond par defaut (cf. assembler.php)
$fond = '';
}
$tableau_des_erreurs = $tableau_des_temps = array();

19
ecrire/public/assembler.php

@ -87,7 +87,7 @@ function assembler($fond, $connect='') {
$url = nettoyer_uri();
$a = $renommer($url, $fond);
if (is_array($a)) {
list($ncontexte, $nfond, $url_redirect) = $a;
list($ncontexte, $type, $url_redirect, $nfond) = $a;
if (isset($url_redirect)
AND $url !== $url_redirect) {
spip_log("Redirige $url vers $url_redirect");
@ -97,20 +97,27 @@ function assembler($fond, $connect='') {
}
if (isset($nfond))
$fond = $nfond;
else if ($fond == ''
OR $fond == 'type_urls' /* compat avec htaccess 2.0.0 */
)
$fond = ($type === 'syndic') ? 'site' : $type;
if (isset($ncontexte))
$contexte = $ncontexte;
}
}
// compatibilite <= 1.9.2
elseif (function_exists('recuperer_parametres_url'))
// compatibilite <= 1.9.2
recuperer_parametres_url($fond, nettoyer_uri());
// squelette par defaut
if (!strlen($fond))
$fond = 'sommaire';
// preparer le contexte
$parametrer = charger_fonction('parametrer', 'public');
$page = $parametrer($fond, $GLOBALS['contexte'], $chemin_cache, $connect);
// Ajouter les scripts avant de mettre en cache
$page['insert_js_fichier'] = pipeline("insert_js",array("type" => "fichier","data" => array()));
$page['insert_js_inline'] = pipeline("insert_js",array("type" => "inline","data" => array()));
// Stocker le cache sur le disque
if ($chemin_cache)
$cacher(NULL, $use_cache, $chemin_cache, $page, $lastmodified);

2
ecrire/urls/arbo.php

@ -401,7 +401,7 @@ function _generer_url_arbo($type, $id, $args='', $ancre='') {
}
// @return array([contexte],[fond],[url_redirect]) : url decodee
// @return array([contexte],[type],[url_redirect],[fond]) : url decodee
// http://doc.spip.org/@urls_arbo_dist
function urls_arbo_dist($i, $entite, $args='', $ancre='') {
if (is_numeric($i))

2
ecrire/urls/propres.php

@ -318,7 +318,7 @@ function _generer_url_propre($type, $id, $args='', $ancre='') {
// retrouve le fond et les parametres d'une URL propre
// ou produit une URL propre si on donne un parametre
// @return array([contexte],[fond],[url_redirect]) : url decodee
// @return array([contexte],[type],[url_redirect],[fond]) : url decodee
// http://doc.spip.org/@urls_propres_dist
function urls_propres_dist($i, $entite, $args='', $ancre='') {

2
htaccess.txt

@ -85,7 +85,7 @@ RewriteRule ^spip_rss\.php3?$ spip.php?page=rss [QSA,L]
###
# URLs "propres", "propres2", "libres", "arbo"
RewriteRule ^[^\.]+(\.html)?$ spip.php?page=type_urls [QSA,E=url_propre:$0,L]
RewriteRule ^[^\.]+(\.html)?$ spip.php [QSA,E=url_propre:$0,L]
# Fin URLs "propres" et "propres2"
###

Loading…
Cancel
Save