From 2885f262691877a880a0e978770b4f6ccce05e58 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Thu, 17 Mar 2005 00:21:42 +0000
Subject: [PATCH] bug sur la gestion des invalideurs (bug qui mangeait les
 forums assez particuliers de spip.net)

---
 inc-cache.php3 | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/inc-cache.php3 b/inc-cache.php3
index 4bdd9aba5d..d136ce7a7f 100644
--- a/inc-cache.php3
+++ b/inc-cache.php3
@@ -113,14 +113,16 @@ function retire_caches($chemin = '') {
 
 	// Et puis une centaine d'autres
 	if (lire_meta('invalider_caches')) {
-		$on_efface = true;
+		$compte = 1;
 		effacer_meta('invalider_caches'); # concurrence
 		ecrire_metas();
 
 		$q = spip_query("SELECT fichier FROM spip_caches
 		WHERE type='x' LIMIT 0,100");
-		while ($r = spip_fetch_array($q))
+		while ($r = spip_fetch_array($q)) {
+			$compte ++;	# compte le nombre de resultats vus (y compris doublons)
 			$suppr[$r['fichier']] = true;
+		}
 	}
 
 
@@ -132,9 +134,9 @@ function retire_caches($chemin = '') {
 		.calcul_mysql_in('fichier', "'".join("','",array_keys($suppr))."'") );
 	}
 
-	// signaler aux suivants
-	if ($on_efface) {
-		if ($n>99)
+	// Si on a regarde (compte > 0), signaler s'il reste des caches invalides
+	if ($compte > 0) {
+		if ($compte > 100) # s'il y en a 101 c'est qu'on n'a pas fini
 			ecrire_meta('invalider_caches', 'oui');
 		else
 			effacer_meta('invalider');
-- 
GitLab