From 394f15bed8245807e40e30cf36bfc66eb04afa48 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sat, 1 May 2004 22:22:01 +0000
Subject: [PATCH] =?UTF-8?q?code=20mort=20(et=20buggu=C3=A9=20!)=20+=20bug?=
 =?UTF-8?q?=20referers?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc_cron.php3 | 24 +++++++++---------------
 inc-stats.php3       | 24 +++++++++++++-----------
 2 files changed, 22 insertions(+), 26 deletions(-)

diff --git a/ecrire/inc_cron.php3 b/ecrire/inc_cron.php3
index d4715b9088..61a73d9ff6 100644
--- a/ecrire/inc_cron.php3
+++ b/ecrire/inc_cron.php3
@@ -11,14 +11,17 @@ define("_ECRIRE_INC_CRON", "1");
 
 
 //
-// Demarrer les referers
+// Calcul des referers
 //
+
+// demarrer le calcul
 function cron_referers($t) {
 	ecrire_meta("date_stats_referers", $t);
 	ecrire_meta('calculer_referers_now', 'oui');
 	ecrire_metas();
 }
 
+// poursuivre le calcul
 function cron_referers_suite() {
 	if (timeout('archiver_stats')) {
 		include_ecrire("inc_statistiques.php3");
@@ -34,6 +37,7 @@ function cron_referers_suite() {
 //
 function cron_archiver_stats($last_date) {
 	if (timeout('archiver_stats')) {
+		spip_log("Archivage des statistiques de $last_date");
 		include_ecrire("inc_meta.php3");
 		include_ecrire("inc_statistiques.php3");
 		ecrire_meta("date_statistiques", date("Y-m-d"));
@@ -96,12 +100,13 @@ function spip_cron() {
 	}
 
 
-	// statistiques
+	//
+	// Statistiques
+	//
 	if (lire_meta("activer_statistiques") != "non") {
 		if ($t - lire_meta('date_stats_referers') > 3600)
 			cron_referers($t);
-	
-		if (lire_meta('calculer_referers_now') == 'oui')
+		else if (lire_meta('calculer_referers_now') == 'oui')
 			cron_referers_suite();
 	
 		if (date("Y-m-d") <> ($last_date = lire_meta("date_statistiques")))
@@ -113,17 +118,6 @@ function spip_cron() {
 				calculer_popularites();
 			}
 		}
-
-		if (timeout(false, false))	// no lock, no action
-		{
-			// Conditions declenchant un eventuel calcul des stats
-			if ((lire_meta('calculer_referers_now') == 'oui')
-			OR (date("Y-m-d") <> lire_meta("date_statistiques"))
-			OR (time() - lire_meta('date_stats_popularite') > 1800)) {
-				include_local ("inc-stats.php3");
-				archiver_stats();
-			}
-		}
 	}
 
 	// recalcul des rubriques publiques (cas de la publication post-datee)
diff --git a/inc-stats.php3 b/inc-stats.php3
index 4c17686429..73ee03a164 100644
--- a/inc-stats.php3
+++ b/inc-stats.php3
@@ -43,17 +43,19 @@ function ecrire_stats() {
 			"VALUES ($log_ip, '$log_type', $log_id_num)";
 		spip_query($query);
 	}
-	if (lire_meta('activer_statistiques_ref') == 'oui') {
-		$url_site_spip = lire_meta('adresse_site');
-		$url_site_spip = eregi_replace("^((https?|ftp)://)?(www\.)?", "", $url_site_spip);
-		$log_referer = $GLOBALS['HTTP_REFERER'];
-		if (($url_site_spip<>'') AND strpos('-'.strtolower($log_referer), strtolower($url_site_spip)) AND !$GLOBALS['var_recherche']) $log_referer = "";
-		if ($log_referer) {
-			$referer_md5 = '0x'.substr(md5($log_referer), 0, 16);
-			$query = "INSERT IGNORE INTO spip_referers_temp (ip, referer, referer_md5, type, id_objet) ".
-				"VALUES ($log_ip, '$log_referer', $referer_md5, '$log_type', $log_id_num)";
-			spip_query($query);
-		}
+
+	//
+	// Loguer le referer
+	//
+	$url_site_spip = lire_meta('adresse_site');
+	$url_site_spip = eregi_replace("^((https?|ftp)://)?(www\.)?", "", $url_site_spip);
+	$log_referer = $GLOBALS['HTTP_REFERER'];
+	if (($url_site_spip<>'') AND strpos('-'.strtolower($log_referer), strtolower($url_site_spip)) AND !$GLOBALS['var_recherche']) $log_referer = "";
+	if ($log_referer) {
+		$referer_md5 = '0x'.substr(md5($log_referer), 0, 16);
+		$query = "INSERT IGNORE INTO spip_referers_temp (ip, referer, referer_md5, type, id_objet) ".
+			"VALUES ($log_ip, '$log_referer', $referer_md5, '$log_type', $log_id_num)";
+		spip_query($query);
 	}
 }
 
-- 
GitLab