From f6ea68730cc286eae549835f301db98aa3ef3dc3 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Wed, 23 Oct 2002 23:09:35 +0000
Subject: [PATCH] divers:
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* la variation du delais, statistiqueemnt, ne fait que le diviser par deux;
  l'aléa est donné par les accès au site => poubelle

* envoi du mail nouveautes au premier hit dans l'espace public
  (indépendamment de l'usage du cache ou non)

* introduction d'un mécanisme de log, dont le format est le suivant:
  (fichier data/spip.log)

	Oct 24 01:03:15 spip fil[605]: envoi mail nouveautes
	(date et heure) spip uid[pid]: message
---
 ecrire/inc_version.php3 | 28 ++++++++++++++++++++++++++++
 inc-cache.php3          |  1 -
 inc-public-global.php3  | 15 +++++++--------
 3 files changed, 35 insertions(+), 9 deletions(-)

diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index 3a2cde0021..5459cb1c07 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -635,5 +635,33 @@ function email_valide($adresse) {
 		trim($adresse)));
 }
 
+//
+// log des evenements
+//
+
+function logrotate() {
+	$logfile = ($flag_ecrire ? "" : "ecrire/") . "data/spip.log";
+	@rename($logfile.'.2',$logfile.'.3'); 
+	@rename($logfile.'.1',$logfile.'.2'); 
+	@rename($logfile,$logfile.'.1'); 
+}
+
+function spip_log($message) {
+	global $flag_ecrire;
+
+	$pid = @getmypid();
+	$uid = @get_current_user();
+	$message = date("M d H:i:s")." spip $uid"."[$pid]: "
+	.ereg_replace("\n*$", "\n", $message);
+
+	$logfile = ($flag_ecrire ? "" : "ecrire/") . "data/spip.log";
+	$f = @fopen($logfile, "ab");
+	if ($f) {
+		fputs($f, $message);
+		fclose($f);
+		if (filesize($logfile) > 10*1024)
+			logrotate();
+	}
+}
 
 ?>
diff --git a/inc-cache.php3 b/inc-cache.php3
index 901e239406..d69d2c105b 100644
--- a/inc-cache.php3
+++ b/inc-cache.php3
@@ -62,7 +62,6 @@ function utiliser_cache($chemin_cache, $delais) {
 	$use_cache &= empty($HTTP_POST_VARS);
 
 	if (!$use_cache) {
-//		include_ecrire("inc_mysql.php3");
 		include_ecrire("inc_connect.php3");
 		if (!$GLOBALS['db_ok']) $use_cache = true;
 	}
diff --git a/inc-public-global.php3 b/inc-public-global.php3
index 9ab9e30982..ea3283654f 100644
--- a/inc-public-global.php3
+++ b/inc-public-global.php3
@@ -24,10 +24,6 @@ function inclure_fichier($fond, $delais, $contexte_inclus = "") {
 	$fichier_cache = generer_nom_fichier_cache($fichier_requete);
 	$chemin_cache = "CACHE/".$fichier_cache;
 
-	// Faire varier aleatoirement le delai (50 - 150 %)
-	// afin d'obtenir des recalculs non simultanes
-	$delais = $delais / 2 + $delais * rand(0, 255) / 256;
-
 	$use_cache = utiliser_cache($chemin_cache, $delais);
 
 	if (!$use_cache) {
@@ -70,7 +66,7 @@ else {
 
 
 //
-// Authentification, le cas echeant
+// Authentification
 //
 $auteur_session = '';
 if ($HTTP_COOKIE_VARS['spip_session'] OR $PHP_AUTH_USER) {
@@ -382,11 +378,13 @@ if (lire_meta("activer_statistiques") != "non") {
 //
 // Envoi du mail quoi de neuf
 //
-if ($db_ok) {
-	$majnouv = lire_meta('majnouv');
-	if ((lire_meta('quoi_de_neuf')=='oui') AND ($jours_neuf=lire_meta('jours_neuf')) AND (email_valide($adresse_neuf = lire_meta('adresse_neuf'))) AND ((time() - $majnouv) > 3600*24*$jours_neuf)) {
 
+$majnouv = lire_meta('majnouv');
+if ((lire_meta('quoi_de_neuf')=='oui') AND ($jours_neuf=lire_meta('jours_neuf')) AND (email_valide($adresse_neuf = lire_meta('adresse_neuf'))) AND ((time() - $majnouv) > 3600*24*$jours_neuf)) {
+	include_ecrire('inc_connect.php3');
+	if ($db_ok) {
 		// lock && indication du prochain envoi
+		include_ecrire('inc_meta.php3');
 		ecrire_meta('majnouv', time());
 		ecrire_metas();
 
@@ -405,6 +403,7 @@ if ($db_ok) {
 		if ($mail_nouveautes) {
 			include_ecrire('inc_mail.php3');
 			$nom_site = lire_meta('nom_site');
+			spip_log("envoi mail nouveautes");
 			envoyer_mail($adresse_neuf, "[$nom_site] Les nouveautes", $mail_nouveautes);
 		}
 	}
-- 
GitLab