From ef633ab0a154073ce2aa5d4bde1f49bde4ad8665 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Wed, 30 Nov 2005 22:54:40 +0000 Subject: [PATCH] attention aux URL personnalisees --- inc-calcul.php3 | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/inc-calcul.php3 b/inc-calcul.php3 index b0e693005e..74fda7d00c 100644 --- a/inc-calcul.php3 +++ b/inc-calcul.php3 @@ -165,7 +165,7 @@ function cherche_page ($cache, $contexte, $fond) { debug_dumpfile ($page['texte'], $fonc, 'resultat'); } } - + spip_log("page " . strlen($page['texte']) . " $skel . $fonc"); // Retourner la structure de la page return $page; @@ -202,21 +202,21 @@ function calculer_contexte() { function calculer_page_globale($cache, $fond) { - global $lastmodified, $_SERVER; + global $lastmodified, $_SERVER, $contexte; - $contexte_local = calculer_contexte(); + $contexte = calculer_contexte(); - // Gestion des URLs personnalises - sale mais historique + // Gestion des URLs personnalises (propre etc) + // ATTENTION: $contexte est global car cette fonction le modifie. + // $fond est passe par reference aussi pour modification + // (tout ca parce que ces URL masque ces donnees qu'on restaure ici) + // Bref, les URL dites propres ont une implementation sale. + // Interdit de nettoyer, faut assumer l'histoire. if (function_exists("recuperer_parametres_url")) { - global $contexte; - $contexte = $contexte_local; recuperer_parametres_url($fond, nettoyer_uri()); - // remettre les globales pour le bouton "Modifier cet article" - if (is_array($contexte)) - foreach ($contexte as $var=>$val) - if (substr($var,0,3) == 'id_') - $GLOBALS[$var] = $val; + foreach ($contexte as $var=>$val) + if (substr($var,0,3) == 'id_') $GLOBALS[$var] = $val; } // si le champ chapo commence par '=' c'est une redirection. @@ -239,13 +239,13 @@ function calculer_page_globale($cache, $fond) { // Go to work ! spip_timer('calculer_page'); - $page = cherche_page($cache, $contexte_local, $fond); + $page = cherche_page($cache, $contexte, $fond); $signal = array(); foreach(array('id_parent', 'id_rubrique', 'id_article', 'id_auteur', 'id_breve', 'id_forum', 'id_secteur', 'id_syndic', 'id_syndic_article', 'id_mot', 'id_groupe', 'id_document') as $val) { - if ($contexte_local[$val]) - $signal['contexte'][$val] = intval($contexte_local[$val]); + if ($contexte[$val]) + $signal['contexte'][$val] = intval($contexte[$val]); } $page['signal'] = $signal; @@ -253,7 +253,10 @@ function calculer_page_globale($cache, $fond) { $lastmodified = time(); spip_log ("calculer_page (" . spip_timer('calculer_page')."): " - . $_SERVER['REQUEST_METHOD']. " $fond"); + . $_SERVER['REQUEST_METHOD']. + " $fond " + . strlen($page['texte']) + . " octets"); return $page; } ?> -- GitLab