diff --git a/inc-cache.php3 b/inc-cache.php3 index dfef1253839fd5b7095203f8151f4cb710a79421..76f5d4d6d0b0a6c65134f3046452942752650253 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;