From eb547022f86222b80bff4d9f9c6cd3db2a9738fd Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Tue, 6 Dec 2005 08:21:38 +0000 Subject: [PATCH] ne pas seulement ignorer le cache, le detruire en cas de recalcul --- inc-cache.php3 | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/inc-cache.php3 b/inc-cache.php3 index dfef125383..76f5d4d6d0 100644 --- a/inc-cache.php3 +++ b/inc-cache.php3 @@ -145,25 +145,23 @@ function cache_valide($chemin_cache) { // retourne le nom du fichier cache, -// et affecte le 1er param selon les specs de la fonction cache_valide +// et affecte le param use_cache selon les specs de la fonction cache_valide function determiner_cache(&$use_cache, $contexte,$fond) { global $_SERVER, $recherche; - // cas sans jamais de cache pour raison interne + // pour tester si la base est dispo - if ($recherche || - ($_SERVER['REQUEST_METHOD'] == 'POST') || - ($GLOBALS['var_mode'] && - ($GLOBALS['_COOKIE']['spip_session'] - || $GLOBALS['_COOKIE']['spip_admin'] - || @file_exists(_ACCESS_FILE_NAME)))) + include_ecrire('inc_connect.php3'); + + // cas ignorant le cache car complement dynamique + + if ($recherche || $_SERVER['REQUEST_METHOD'] == 'POST') { - include_ecrire('inc_connect.php3'); $use_cache = -1; return ""; } - + $chemin_cache = generer_nom_fichier_cache($contexte, $fond); // cas sans jamais de calcul pour raison interne @@ -174,12 +172,19 @@ function determiner_cache(&$use_cache, $contexte,$fond) { // Faut-il effacer des pages invalidees (en particulier ce cache-ci) ? if ($GLOBALS['meta']['invalider'] AND $GLOBALS['db_ok']) { - include_ecrire('inc_connect.php3'); include_ecrire('inc_meta.php3'); lire_metas(); retire_caches($chemin_cache); } + // cas sans jamais de cache pour raison interne + if ($GLOBALS['var_mode'] && + ($GLOBALS['_COOKIE']['spip_session'] + || $GLOBALS['_COOKIE']['spip_admin'] + || @file_exists(_ACCESS_FILE_NAME))) { + supprimer_fichier($chemin_cache); + } + $use_cache = cache_valide($chemin_cache); if (!$use_cache) return $chemin_cache; -- GitLab