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