From 89b5202c06b9b7236b1a0174e15ab474cea262e3 Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Sun, 22 Aug 2004 21:03:04 +0000 Subject: [PATCH] - bug sur les squelettes sans boucles (Pierre Andrews) - controle_petition invalide les pages des articles correspondant - loger la taille du cache meme sans quota --- ecrire/controle_petition.php3 | 8 ++++++++ ecrire/inc_cron.php3 | 14 ++++++++------ inc-calcul-squel.php3 | 9 +++++++-- inc-public-global.php3 | 2 +- spip_cache.php3 | 2 ++ 5 files changed, 26 insertions(+), 9 deletions(-) diff --git a/ecrire/controle_petition.php3 b/ecrire/controle_petition.php3 index 270be4c779..68c24f8a94 100644 --- a/ecrire/controle_petition.php3 +++ b/ecrire/controle_petition.php3 @@ -98,6 +98,14 @@ if ($connect_statut == "0minirezo") { $result_forum = spip_query($query_forum); } + // Invalider les articles correspondant + if ($id_signature = ($add_petition?$add_petition:$supp_petition)) { + include_ecrire('inc_invalideur.php3'); + list ($id_article) = spip_fetch_array(spip_query("SELECT id_article + FROM spip_signatures WHERE id_signature=$id_signature")); + suivre_invalideur("id='id_article/$id_article'"); + } + if (!$debut) $debut = 0; if ($id_article) { diff --git a/ecrire/inc_cron.php3 b/ecrire/inc_cron.php3 index 86a52309cb..9509839e59 100644 --- a/ecrire/inc_cron.php3 +++ b/ecrire/inc_cron.php3 @@ -152,16 +152,18 @@ function spip_cron() { // // En cas de quota sur le CACHE/, nettoyer les fichiers les plus vieux // - global $quota_cache; - if ($quota_cache > 0) - if ($t - lire_meta('quota_cache_vider') > 3600) { + if (($t - lire_meta('quota_cache_vider') > 3600) + AND timeout('quota_cache_vider')) { ecrire_meta('quota_cache_vider', $t); ecrire_metas(); - if ($q = spip_query("SELECT SUM(taille) FROM spip_caches WHERE type='t'")) - list ($total_cache) = spip_fetch_array($q); + list ($total_cache) = spip_fetch_array(spip_query("SELECT SUM(taille) + FROM spip_caches WHERE type='t'")); + spip_log("Taille du CACHE: $total_cache octets"); + + global $quota_cache; $total_cache -= $quota_cache*1024*1024; - if ($total_cache > 0) { + if ($quota_cache > 0 AND $total_cache > 0) { $q = spip_query("SELECT id, taille FROM spip_caches ORDER BY id"); while ($r = spip_fetch_array($q) AND ($total_cache > $taille_supprimee)) { diff --git a/inc-calcul-squel.php3 b/inc-calcul-squel.php3 index e6b349b843..04ec480983 100644 --- a/inc-calcul-squel.php3 +++ b/inc-calcul-squel.php3 @@ -509,14 +509,19 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) { } $secondes = spip_timer('calcul_skel'); - spip_log("CALCUL SKEL $sourcefile ($secondes)"); + spip_log("calcul skel $sourcefile ($secondes)"); + + if (is_array($boucles)) + $aff_boucles = join (', ', array_keys($boucles)); + else + $aff_boucles = "pas de boucle"; return " /* * Squelette : $sourcefile * Date : ".http_gmoddate(@filemtime($sourcefile))." GMT * Compile : ".http_gmoddate(time())." GMT ($secondes) - * Boucles : ".join (', ', array_keys($boucles))." + * Boucles : ".$aff_boucles." */ $code diff --git a/inc-public-global.php3 b/inc-public-global.php3 index 5243d300bc..1cee85ab9f 100644 --- a/inc-public-global.php3 +++ b/inc-public-global.php3 @@ -49,7 +49,7 @@ function obtenir_page ($contexte, $chemin_cache, $delais, $use_cache, $fond, $in // pour la premiere fois : on change alors d'invalideur 't' // pour le rendre plus perenne if (@file_exists($chemin_cache.'.NEW')) { - spip_log ("$chemin_cache.NEW : premier acces"); + spip_log ("premier acces: $chemin_cache.NEW"); // Attention ne pas mettre time()+$delais mais quelque chose // de plus grand, sinon il y a risque de concurrence entre // l'invalideur et un appel public de page ; plus on en ajoute diff --git a/spip_cache.php3 b/spip_cache.php3 index b5cf4a3652..2cbb83b25b 100644 --- a/spip_cache.php3 +++ b/spip_cache.php3 @@ -8,6 +8,7 @@ include_local("inc-cache.php3"); if ($purger_cache == "oui") { if (verifier_action_auteur("purger_cache", $hash, $id_auteur)) { + spip_log('vider le cache'); include_ecrire('inc_invalideur.php3'); supprime_invalideurs(); purger_repertoire('CACHE', 0); @@ -16,6 +17,7 @@ if ($purger_cache == "oui") { if ($purger_squelettes == "oui") { if (verifier_action_auteur("purger_squelettes", $hash, $id_auteur)) + spip_log('effacer les squelettes compiles'); purger_repertoire('CACHE', 0, '^skel_'); } -- GitLab