From a210f3a012d33cd09177a3504959284c5cab0c7f Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Tue, 29 Mar 2005 23:30:31 +0000
Subject: [PATCH] =?UTF-8?q?le=20cache=20doit=20=C3=AAtre=20diff=C3=A9rent?=
 =?UTF-8?q?=20si=20on=20change=20de=20HTTP=5FHOST=20(notion=20d'unicit?=
 =?UTF-8?q?=C3=A9=20URL->page)=20et=20on=20facilite=20la=20selection=20de?=
 =?UTF-8?q?=20squelettes=20diff=C3=A9rents=20via=20du=20php=20en=20proposa?=
 =?UTF-8?q?nt=20de=20ne=20pas=20cacher=20au=20meme=20endroit=20selon=20le?=
 =?UTF-8?q?=20nom=20du=20squelette=20(ici=20on=20casse=20URL->page,=20?=
 =?UTF-8?q?=C3=A0=20la=20mani=C3=A8re=20de=20CSS=20Zen=20Garden)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(David Glaude)
---
 inc-cache.php3 | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/inc-cache.php3 b/inc-cache.php3
index d136ce7a7f..ce605be1af 100644
--- a/inc-cache.php3
+++ b/inc-cache.php3
@@ -30,7 +30,7 @@ function nettoyer_uri() {
 }
 
 //
-// Le format souhaite : "CACHE/a/(8400/)bout-d-url.md5(.gz)"
+// Le format souhaite : "CACHE/a/bout-d-url.md5(.gz)"
 // Attention a modifier simultanement le sanity check de
 // la fonction retire_cache()
 //
@@ -48,8 +48,6 @@ function generer_nom_fichier_cache($contexte='', $fond='') {
 			$fichier_requete .= "&$var=$val";
 	}
 
-	$md_cache = md5($fichier_requete);
-
 	$fichier_cache = ereg_replace('^/+', '', $fichier_requete);
 	$fichier_cache = ereg_replace('\.[a-zA-Z0-9]*', '', $fichier_cache);
 	$fichier_cache = ereg_replace('&[^&]+=([^&]+)', '&\1', $fichier_cache);
@@ -62,20 +60,19 @@ function generer_nom_fichier_cache($contexte='', $fond='') {
 	if (!$fichier_cache)
 		$fichier_cache = 'INDEX-';
 
-	// morceau de md5
+	// morceau de md5 selon HOST et $fond
+	$md_cache = md5($fichier_requete . $GLOBALS['HTTP_HOST'] . $fond);
 	$fichier_cache .= '.'.substr($md_cache, 1, 8);
 
 	// Sous-repertoires 0...9a..f/
 	$subdir = creer_repertoire(_DIR_CACHE, substr($md_cache, 0, 1));
-	// Sous-sous-repertoires delais/ (inutile avec l'invalidation par 't')
-	# $subdir2 = creer_repertoire("CACHE/$subdir", $delais);
 
 	include_ecrire('inc_acces.php3');
 	verifier_htaccess(_DIR_CACHE);
 
 	$gzip = $flag_gz ? '.gz' : '';
 
-	return _DIR_CACHE . $subdir.$subdir2.$fichier_cache.$gzip;
+	return _DIR_CACHE . $subdir.$fichier_cache.$gzip;
 }
 
 //
-- 
GitLab