From 61e44468dfdc834b0ae851f53e4add27fab9985e Mon Sep 17 00:00:00 2001 From: Antoine Pitrou <pitrou@free.fr> Date: Mon, 21 Apr 2003 17:49:24 +0000 Subject: [PATCH] =?UTF-8?q?r=C3=A9organiser=20les=20t=C3=A2ches=20de=20fon?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc-public-global.php3 | 43 ++++++++++++++++++++++++++++-------------- inc-stats.php3 | 35 +++++++++++++++++----------------- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/inc-public-global.php3 b/inc-public-global.php3 index c5d7ae1b7c..f118c5e739 100644 --- a/inc-public-global.php3 +++ b/inc-public-global.php3 @@ -189,8 +189,6 @@ if (!file_exists("CACHE/.htaccess")) { -///////////////////////////////////////////////////////////// taches de fond - // // Fonctionnalites administrateur (declenchees par le cookie admin, authentifie ou non) // @@ -207,15 +205,8 @@ if ($admin_ok AND !$flag_preserver AND !$flag_boutons_admin) { @flush(); -// -// Gestion des statistiques du site public -// - -if (lire_meta("activer_statistiques") != "non") { - include_local ("inc-stats.php3"); - ecrire_stats(); -} - +// --------------------------------------------------------------------------------------------- +// Taches de fond // @@ -299,6 +290,16 @@ if (!$timeout AND $use_cache AND file_exists('CACHE/.purge')) { } +// +// Archivage des statistiques du site public +// + +if (!$timeout AND lire_meta("activer_statistiques") != "non") { + include_local ("inc-stats.php3"); + archiver_stats(); +} + + // // Gerer l'indexation automatique // @@ -350,15 +351,29 @@ if (lire_meta('activer_moteur') == 'oui') { // Mise a jour d'un (ou de zero) site syndique // -if (!$timeout AND $db_ok AND lire_meta("activer_syndic") != "non") { +if ($db_ok AND lire_meta("activer_syndic") != "non") { include_ecrire("inc_texte.php3"); include_ecrire("inc_filtres.php3"); include_ecrire("inc_sites.php3"); include_ecrire("inc_index.php3"); executer_une_syndication(); - executer_une_indexation_syndic(); - $timeout = true; + if (lire_meta('activer_moteur') == 'oui' AND !$timeout) { + executer_une_indexation_syndic(); + $timeout = true; + } } + +// +// Gestion des statistiques du site public +// (a la fin pour ne pas forcer le $db_ok) +// + +if (lire_meta("activer_statistiques") != "non") { + include_local ("inc-stats.php3"); + ecrire_stats(); +} + + ?> diff --git a/inc-stats.php3 b/inc-stats.php3 index b1ff27c0de..c7c8f7de06 100644 --- a/inc-stats.php3 +++ b/inc-stats.php3 @@ -6,7 +6,7 @@ if (defined("_INC_STATS")) return; define("_INC_STATS", "1"); function ecrire_stats() { - global $id_article, $id_breve, $id_rubrique, $admin_ok, $timeout; + global $id_article, $id_breve, $id_rubrique; $log_ip = $GLOBALS['REMOTE_ADDR']; if ($id_rubrique > 0) { @@ -32,7 +32,6 @@ function ecrire_stats() { } else return; - // // Loguer la visite dans la base si possible // @@ -54,12 +53,23 @@ function ecrire_stats() { } } + // Traiter les referers toutes les heures + $date_refs = lire_meta('date_stats_referers'); + if ((time() - $date_refs) > 3600) { + include_ecrire("inc_meta.php3"); + ecrire_meta("date_stats_referers", time()); + ecrire_meta('calculer_referers_now', 'oui'); + ecrire_metas(); + } +} + + +function archiver_stats() { + global $timeout; // // Archivage des visites temporaires // - if ($timeout) return; - $date = date("Y-m-d"); $last_date = lire_meta("date_statistiques"); @@ -70,7 +80,8 @@ function ecrire_stats() { ecrire_metas(); calculer_referers(); $timeout = true; - } else if ($date != $last_date) { + } + else if ($date != $last_date) { include_ecrire("inc_meta.php3"); include_ecrire("inc_statistiques.php3"); ecrire_meta("date_statistiques", $date); @@ -87,23 +98,13 @@ function ecrire_stats() { $timeout = true; } - // popularite, mise a jour dix minutes + // popularite, mise a jour une demie-heure $date_popularite = lire_meta('date_stats_popularite'); - if (!$timeout AND ((time() - $date_popularite) > 600)) { + if (!$timeout AND ((time() - $date_popularite) > 1800)) { include_ecrire("inc_statistiques.php3"); calculer_popularites(); $timeout = true; } - - - // traiter les referers toutes les heures - $date_refs = lire_meta('date_stats_referers'); - if ((time() - $date_refs) > 3600) { - include_ecrire("inc_meta.php3"); - ecrire_meta("date_stats_referers", time()); - ecrire_meta('calculer_referers_now', 'oui'); - ecrire_metas(); - } } -- GitLab