diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index adb93c60a23daaff3ebdc7932b73aecdc65ff6fc..9c42b2e4e8586795a421c8b862a90252a89b9066 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -149,8 +149,13 @@ function spip_log($message, $logname=NULL, $logdir=NULL, $logsuf=NULL) { if (is_null($logname)) $logname = defined('_FILE_LOG') ? _FILE_LOG : 'spip'; if (!isset($compteur[$logname])) $compteur[$logname] = 0; - if (($logname != 'maj') AND - ( $compteur[$logname]++ > _MAX_LOG || !$nombre_de_logs || !$taille_des_logs)) + if ($logname != 'maj' + AND defined('_MAX_LOG') + AND ( + $compteur[$logname]++ > _MAX_LOG + OR !$nombre_de_logs + OR !$taille_des_logs + )) return; $logfile = ($logdir===NULL ? _DIR_LOG : $logdir) @@ -184,7 +189,8 @@ function spip_log($message, $logname=NULL, $logdir=NULL, $logsuf=NULL) { fclose($f); } - if ($rotate-- > 0) { + if ($rotate-- > 0 + AND function_exists('spip_unlink')) { spip_unlink($logfile . '.' . $rotate); while ($rotate--) { @rename($logfile . ($rotate ? '.' . $rotate : ''), $logfile . '.' . ($rotate + 1)); @@ -192,7 +198,8 @@ function spip_log($message, $logname=NULL, $logdir=NULL, $logsuf=NULL) { } // Dupliquer les erreurs specifiques dans le log general - if ($logname !== _FILE_LOG) + if ($logname !== _FILE_LOG + AND defined('_FILE_LOG')) spip_log($logname=='maj' ? 'cf maj.log' : $message); } diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index 230c6eb1c686aa0207ea0da119dfaf0ebab8a923..af3ae0b0270561aa02758a6ff4b95564fca88c4a 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -204,14 +204,26 @@ function filtre_introduction_dist($descriptif, $texte, $longueur, $connect) { $zone = substr($zone, $deb + 7); $intro .= $zone; } - $texte = $intro ? $intro : $texte; - - // On ne *PEUT* pas couper simplement ici car c'est du texte brut, qui inclus raccourcis et modeles + + // [12025] On ne *PEUT* pas couper simplement ici car c'est du texte brut, + // qui inclus raccourcis et modeles // un simple <articlexx> peut etre ensuite transforme en 1000 lignes ... - // par ailleurs le nettoyage des raccourcis ne tient pas compte des surcharges - // et enrichissement de propre + // par ailleurs le nettoyage des raccourcis ne tient pas compte + // des surcharges et enrichissement de propre // couper doit se faire apres propre - //$texte = nettoyer_raccourcis_typo($intro ? $intro : $texte, $connect); + //$texte = nettoyer_raccourcis_typo($intro ? $intro : $texte, $connect); + + // Cependant pour des questions de perfs on coupe quand meme, en prenant + // large et en se mefiant des tableaux #1323 + + if (strlen($intro)) + $texte = $intro; + + else + if (strpos("\n".$texte, "\n|")===false + AND strlen($texte) > 2.5*$longueur) + $texte = couper($texte, 2*$longueur); + // ne pas tenir compte des notes ; // bug introduit en http://trac.rezo.net/trac/spip/changeset/12025