From e6bb686335c5e10a303b40d3845f2adf1fa1916a Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Mon, 25 Apr 2005 21:01:20 +0000
Subject: [PATCH] =?UTF-8?q?que=20faire=20en=20cas=20de=20plantage=20de=20l?=
 =?UTF-8?q?a=20base=20(mieux=20qu'avant)=20Merci=20(et=20courage=20!)=20?=
 =?UTF-8?q?=C3=A0=20Ouvaton=20:)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc_flock.php3 |  2 +-
 inc-cache.php3        | 19 +++++++++++++------
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/ecrire/inc_flock.php3 b/ecrire/inc_flock.php3
index 96b415d836..3c11ca317f 100644
--- a/ecrire/inc_flock.php3
+++ b/ecrire/inc_flock.php3
@@ -78,7 +78,7 @@ function ecrire_fichier ($fichier, $contenu) {
 	// Ne rien faire si on est en preview, debug, ou si une erreur
 	// grave s'est presentee (compilation du squelette, MySQL, etc)
 	if ($GLOBALS['var_preview'] OR ($GLOBALS['var_mode'] == 'debug')
-	OR defined('spip_erreur_fatale') OR defined('spip_interdire_cache'))
+	OR defined('spip_interdire_cache'))
 		return;
 
 	$gzip = (substr($fichier, -3) == '.gz');
diff --git a/inc-cache.php3 b/inc-cache.php3
index 63c4b01222..7b3deb9c47 100644
--- a/inc-cache.php3
+++ b/inc-cache.php3
@@ -223,19 +223,26 @@ function determiner_cache($delais, &$use_cache, &$chemin_cache) {
 					. "impossible utiliser $chemin_cache");
 				if (!$GLOBALS['flag_preserver']) {
 					include_ecrire('inc_presentation.php3');
-					install_debut_html(_T('info_travaux_titre'));
-					echo _T('titre_probleme_technique');
-					install_fin_html();
+					if (!headers_sent()) {
+						install_debut_html(_T('info_travaux_titre'));
+						echo _T('titre_probleme_technique');
+						install_fin_html();
+					} else
+						echo _T('titre_probleme_technique');
 				}
-				exit;
+				// ne plus rien signaler, ne pas mettre en cache ...
+				$GLOBALS['flag_preserver'] = true;
+				define ('spip_interdire_cache', true);
+				// ... mais continuer quand meme
 			}
 		}
 	}
 }
 
-// Fonctions pour le cache des images (vues reduites)
-
 
+//
+// Fonctions pour le cache des images (vues reduites)
+//
 function calculer_taille_dossier ($dir) {
 	$handle = @opendir($dir);
 	if (!$handle) return;
-- 
GitLab