From 14d7aaf5a6e77a47984925cc33257ea7c2ad221c Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Wed, 14 Nov 2007 21:26:26 +0000
Subject: [PATCH] des indefinies et une boucle infinie sur
 spip_log('truc','spip);

---
 ecrire/balise/login_public.php | 2 +-
 ecrire/inc/utils.php           | 8 +++++---
 ecrire/inc_version.php         | 3 ++-
 ecrire/public/assembler.php    | 2 +-
 ecrire/public/composer.php     | 2 +-
 ecrire/public/parametrer.php   | 2 +-
 6 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/ecrire/balise/login_public.php b/ecrire/balise/login_public.php
index a663896aea..92844c5c8d 100644
--- a/ecrire/balise/login_public.php
+++ b/ecrire/balise/login_public.php
@@ -116,7 +116,7 @@ function login_pour_tous($login, $cible, $action) {
 
 	// Le login est memorise dans le cookie d'admin eventuel
 	if (!$login) {
-		if (preg_match(",^@(.*)$,", $_COOKIE['spip_admin'], $regs))
+		if (isset($_COOKIE['spip_admin']) && preg_match(",^@(.*)$,", $_COOKIE['spip_admin'], $regs))
 			$login = $regs[1];
 	} else if ($login == '-1')
 		$login = '';
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index a0bc4029e6..e35eca1e63 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -145,12 +145,14 @@ function pipeline($action, $val=null) {
 function spip_log($message, $logname=NULL, $logdir=NULL, $logsuf=NULL) {
 	static $compteur = array();
 	global $nombre_de_logs, $taille_des_logs;
+	$logname = ($logname===NULL ? _FILE_LOG : $logname);
+	if (!isset($compteur[$logname])) $compteur[$logname] = 0;
 	if (($logname != 'maj') AND
-	    ($compteur[$logname]++ > 100 || !$nombre_de_logs || !$taille_des_logs))
+	    ( $compteur[$logname]++ > 100 || !$nombre_de_logs || !$taille_des_logs))
 		return;
 
 	$logfile = ($logdir===NULL ? _DIR_LOG : $logdir)
-	  . ($logname===NULL ? _FILE_LOG : $logname)
+	  . ($logname)
 	  . ($logsuf===NULL ? _FILE_LOG_SUFFIX : $logname);
 
 	$rotate = 0;
@@ -183,7 +185,7 @@ function spip_log($message, $logname=NULL, $logdir=NULL, $logsuf=NULL) {
 	}
 
 	// Dupliquer les erreurs specifiques dans le log general
-	if ($logname !== NULL)
+	if ($logname !== _FILE_LOG)
 		spip_log($logname=='maj' ? 'cf maj.log' : $message);
 }
 
diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index 63cedb5038..c4065cdf8a 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -355,7 +355,8 @@ if (@is_readable(_DIR_TMP."charger_plugins_options.php")){
 	}
 }
 
-define('_OUTILS_DEVELOPPEURS',true);
+if (!defined('_OUTILS_DEVELOPPEURS'))
+	define('_OUTILS_DEVELOPPEURS',true);
 
 // charger systematiquement inc/autoriser dans l'espace restreint
 if (test_espace_prive())
diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php
index e7dfeaa3e9..5afaae9609 100644
--- a/ecrire/public/assembler.php
+++ b/ecrire/public/assembler.php
@@ -335,7 +335,7 @@ function inclure_balise_dynamique($texte, $echo=true, $ligne=0) {
 // Traiter var_recherche ou le referrer pour surligner les mots
 // http://doc.spip.org/@f_surligne
 function f_surligne ($texte) {
-	if (isset($_SERVER['HTTP_REFERER']) || $_GET['var_recherche']) {
+	if (isset($_SERVER['HTTP_REFERER']) || isset($_GET['var_recherche'])) {
 		include_spip('inc/surligne');
 		$texte = surligner_mots($texte);
 	}
diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php
index 5f6ff6d6cc..f3b3443d45 100644
--- a/ecrire/public/composer.php
+++ b/ecrire/public/composer.php
@@ -44,7 +44,7 @@ function public_composer_dist($squelette, $mime_type, $gram, $source, $connect)
 	// si squelette est deja compile et perenne, le charger
 	if (!squelette_obsolete($phpfile, $source)
 	AND lire_fichier ($phpfile, $contenu,
-	array('critique' => 'oui', 'phpcheck' => 'oui'))) 
+	array('critique' => 'oui', 'phpcheck' => 'oui')))
 		eval('?'.'>'.$contenu);
 #	spip_log($contenu, 'comp')
 	if (@file_exists($fonc = $squelette . '_fonctions'.'.php')
diff --git a/ecrire/public/parametrer.php b/ecrire/public/parametrer.php
index e7d65069de..608d45fb64 100644
--- a/ecrire/public/parametrer.php
+++ b/ecrire/public/parametrer.php
@@ -330,7 +330,7 @@ function public_parametrer_dist($fond, $local='', $cache='', $connect='')  {
 
 		// Si #CACHE{} n'etait pas la, le mettre a $delais
 		if (!isset($page['entetes']['X-Spip-Cache']))
-			$page['entetes']['X-Spip-Cache'] = $GLOBALS['delais'];
+			$page['entetes']['X-Spip-Cache'] = isset($GLOBALS['delais'])?$GLOBALS['delais']:36000;
 
 	} else
 		$page = array();
-- 
GitLab