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