From affa0a81f324745d8ba5d4dc4fc62c0b67c2947f Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Fri, 16 Jul 2004 17:44:15 +0000 Subject: [PATCH] =?UTF-8?q?modifs=20li=C3=A9es=20aux=20bugs=20:=20-=20page?= =?UTF-8?q?=20blanche=20sur=20lock=20h=C3=A9bergeur=20-=20recuperation=20d?= =?UTF-8?q?es=20urls=20personnalis=C3=A9es=20(sale)=20-=20pretty:=20ne=20p?= =?UTF-8?q?as=20mettre=20'=3F>'=20mais=20'=3F'.'>'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc-cache.php3 | 8 ++++---- inc-calcul.php3 | 10 ++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/inc-cache.php3 b/inc-cache.php3 index 831bea9771..8fba13468c 100644 --- a/inc-cache.php3 +++ b/inc-cache.php3 @@ -92,7 +92,7 @@ function ramener_squelette($squelette) $f=fopen($phpfile, "wb"); fwrite($f,"<?php # $squelette pid: " . getmypid() ."\n"); fwrite($f,$r); - fwrite($f,'?>'); + fwrite($f,'?'.'>'); fclose($f); flock($lock, LOCK_UN); spip_log("Squelette $squelette: ($nom)" . strlen($r) . " octets, $timer ms"); @@ -183,7 +183,7 @@ function ramener_cache($cle, $calcul, $contexte, &$fraicheur) # - recherche (trop couteux de mémoriser une recherche précise) # - valeurs hors URL (i.e. POST) sauf Forum qui les traite à part - if ($GLOBALS['var_recherche']|| + if ($GLOBALS['recherche']|| ($HTTP_POST_VARS && !$GLOBALS['ajout_forum'])) { include_local('inc-calcul.php3'); @@ -230,9 +230,9 @@ function ramener_cache($cle, $calcul, $contexte, &$fraicheur) else flock($lock, LOCK_UN); # spip_log("obtient verrou $cle et libère le général"); - if ((!timeout(false,false)) OR - ($usefile && ($r = page_perenne($lock2, $file, $fraicheur)))) + if ($usefile AND ($r = page_perenne($lock2, $file, $fraicheur))) { + timeout(false,false); # spip_log("libère verrou $cle (page perenne)"); flock($lock2, LOCK_UN); return $r; diff --git a/inc-calcul.php3 b/inc-calcul.php3 index 0a5d259563..0fd0d76688 100644 --- a/inc-calcul.php3 +++ b/inc-calcul.php3 @@ -84,11 +84,21 @@ function cherche_page_incluse($cache, $contexte) function calculer_page_globale($cache, $fond, $var_recherche) { global $spip_lang; + $contexte = $GLOBALS['HTTP_GET_VARS']; if ($GLOBALS['date']) $contexte['date'] = $contexte['date_redac'] = normaliser_date($GLOBALS['date']); else $contexte['date'] = $contexte['date_redac'] = date("Y-m-d H:i:s"); + + // Analyser les URLs personnalisees (inc-urls-...) + /* attention c'est assez sale */ + global $contexte; + $fichier_requete = $GLOBALS['REQUEST_URI']; + $fichier_requete = strtr($fichier_requete, '?', '&'); + $fichier_requete = eregi_replace('&(submit|valider|PHPSESSID|(var_[^=&]*)|recalcul)=[^&]*', '', $fichier_requete); + recuperer_parametres_url($fond, $fichier_requete); + /* fin du truc sale */ $id_rubrique_fond = 0; $lang = $contexte['lang']; // si inc-urls veut fixer la langue -- GitLab