From 6f0a8cf36272456c3a43dae535a23b33c1e61c6a Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Mon, 6 Feb 2006 00:48:01 +0000
Subject: [PATCH] =?UTF-8?q?on=20n'enregistre=20plus=20le=20chemin=20comple?=
 =?UTF-8?q?t=20vers=20le=20cache,=20mais=20seulement=20la=20partie=20qui?=
 =?UTF-8?q?=20suit=20=5FDIR=5FCACHE=20(sinon=20c'est=20trop=20long=20quand?=
 =?UTF-8?q?=20le=20r=C3=A9pertoire=20=5FDIR=5FCACHE=20est=20funky,=20et=20?=
 =?UTF-8?q?=C3=A7a=20d=C3=A9passe=20la=20taille=20du=20champ,=20ce=20qui?=
 =?UTF-8?q?=20provoque=20de=20s=C3=A9rieux=20bugs)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 inc-cache.php3 | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/inc-cache.php3 b/inc-cache.php3
index cd8300f21b..63f044c9d9 100644
--- a/inc-cache.php3
+++ b/inc-cache.php3
@@ -53,7 +53,7 @@ function generer_nom_fichier_cache($contexte, $fond) {
 
 	$gzip = $flag_gz ? '.gz' : '';
 
-	return _DIR_CACHE . $subdir.$fichier_cache.$gzip;
+	return $subdir.$fichier_cache.$gzip;
 }
 
 //
@@ -63,11 +63,11 @@ function generer_nom_fichier_cache($contexte, $fond) {
 // Securite : est sur que c'est un cache
 function retire_cache($cache) {
 
-	if (preg_match('|^' . preg_quote(_DIR_CACHE) .
-		"([0-9a-f]/)?([0-9]+/)?[^.][\-_\%0-9a-z]+\.[0-9a-f]+(\.gz)?$|i",
-		       $cache)) {
+	if (preg_match(
+	"|^([0-9a-f]/)?([0-9]+/)?[^.][\-_\%0-9a-z]+\.[0-9a-f]+(\.gz)?$|i",
+	$cache)) {
 		// supprimer le fichier (de facon propre)
-		supprimer_fichier($cache);
+		supprimer_fichier(_DIR_CACHE . $cache);
 	} else
 		spip_log("Impossible de retirer $cache");
 }
@@ -172,7 +172,7 @@ function determiner_cache(&$use_cache, $contexte, $fond) {
 	// cas sans jamais de calcul pour raison interne
 	if ($_SERVER['REQUEST_METHOD'] == 'HEAD') {
 		$use_cache = 0;
-		return array($chemin_cache, @filemtime($chemin_cache), 0);
+		return array($chemin_cache, @filemtime(_DIR_CACHE . $chemin_cache), 0);
 	}
 
 	// Faut-il effacer des pages invalidees (en particulier ce cache-ci) ?
@@ -187,11 +187,11 @@ function determiner_cache(&$use_cache, $contexte, $fond) {
 		($GLOBALS['_COOKIE']['spip_session']
 		 || $GLOBALS['_COOKIE']['spip_admin']
 		 || @file_exists(_ACCESS_FILE_NAME))) {
-	    supprimer_fichier($chemin_cache);
+			supprimer_fichier(_DIR_CACHE . $chemin_cache);
 	}
 
-	$ok = lire_fichier($chemin_cache, $page);
-	$time = @filemtime($chemin_cache);
+	$ok = lire_fichier(_DIR_CACHE . $chemin_cache, $page);
+	$time = @filemtime(_DIR_CACHE . $chemin_cache);
 	$page = restaurer_meta_donnees ($page);
 	$use_cache = cache_valide_autodetermine($chemin_cache, $page, $time);
 
@@ -200,7 +200,7 @@ function determiner_cache(&$use_cache, $contexte, $fond) {
 	// Si pas valide mais pas de connexion a la base, le garder quand meme
 
 	if (!$GLOBALS['db_ok']) {
-		if (file_exists($chemin_cache))
+		if (file_exists(_DIR_CACHE . $chemin_cache))
   			$use_cache = 0 ;
 		else {
 			spip_log("Erreur base de donnees, impossible utiliser $chemin_cache");
@@ -231,7 +231,7 @@ function creer_cache(&$page, $chemin_cache, $duree) {
 	// 2) son contenu
 	$page['signal']['process_ins'] = $page['process_ins'];
 	$page['signal']['entetes'] = $page['entetes'];
-	$r = ecrire_fichier($chemin_cache,
+	$r = ecrire_fichier(_DIR_CACHE . $chemin_cache,
 		"<!-- "
 		. str_replace("\n", " ", serialize($page['signal']))
 		. " -->\n"
@@ -243,7 +243,7 @@ function creer_cache(&$page, $chemin_cache, $duree) {
 			// Ici on ajoute 3600s pour eviter toute concurrence
 			// entre un invalideur et un appel public de page
 		$bedtime = time() + $duree + 3600;
-		$taille = @filesize($chemin_cache);
+		$taille = @filesize(_DIR_CACHE . $chemin_cache);
 		$fichier = addslashes($chemin_cache);
 		spip_query("INSERT IGNORE INTO spip_caches (fichier,id,type,taille) VALUES ('$fichier','$bedtime','t','$taille')");
 	}
@@ -270,7 +270,7 @@ function restaurer_meta_donnees ($contenu) {
 // vieux fichiers
 function nettoyer_petit_cache($prefix, $duree = 300) {
 	// determiner le repertoire a purger : 'CACHE/rech/'
-	$dircache = _DIR_CACHE.creer_repertoire(_DIR_CACHE,$prefix);
+	$dircache = _DIR_CACHE . creer_repertoire(_DIR_CACHE,$prefix);
 	if (spip_touch($dircache.'purger_'.$prefix, $duree, true)) {
 		if ($h = @opendir($dircache)) {
 			while (($f = @readdir($h)) !== false) {
-- 
GitLab