From 754a32ac0764bba1e3f97b97ccd99d67565d4e5b Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Sun, 9 Aug 2009 22:29:31 +0000
Subject: [PATCH] =?UTF-8?q?Pb=2042=20(eh=20oui=20il=20en=20restait=20un=20?=
 =?UTF-8?q?apr=C3=A8s=20[11490])=20avec=20[9649]=20(la=20disparition=20du?=
 =?UTF-8?q?=20FEED=5FGLOBALS):=20en=20cas=20d'erreur=20404,=20on=20ne=20do?=
 =?UTF-8?q?nnait=20plus=20la=20pr=C3=A9cision:=20aucun=5Farticle=20/=20auc?=
 =?UTF-8?q?une=5Frubrique=20etc=20quand=20elle=20=C3=A9tait=20disponible.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/public/assembler.php | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php
index 71f88c9db9..8df527671b 100644
--- a/ecrire/public/assembler.php
+++ b/ecrire/public/assembler.php
@@ -137,7 +137,7 @@ function assembler($fond, $connect='') {
 				AND $GLOBALS['var_mode'] != 'debug'
 				AND !isset($page['entetes']['Location']) // cette page realise une redirection, donc pas d'erreur
 				) {
-					$page = message_erreur_404();
+					$page = message_erreur_404(assembler_erreur_404 ($contexte));
 				}
 				// pas de cache client en mode 'observation'
 				if ($GLOBALS['var_mode']) {
@@ -380,18 +380,6 @@ function message_erreur_404 ($erreur= "") {
 	static $deja = false;
 	if ($deja) return "erreur";
 	$deja = true;
-	if (!$erreur) {
-		if (isset($GLOBALS['id_article']))
-		$erreur = 'public:aucun_article';
-		else if (isset($GLOBALS['id_rubrique']))
-		$erreur = 'public:aucune_rubrique';
-		else if (isset($GLOBALS['id_breve']))
-		$erreur = 'public:aucune_breve';
-		else if (isset($GLOBALS['id_auteur']))
-		$erreur = 'public:aucun_auteur';
-		else if (isset($GLOBALS['id_syndic']))
-		$erreur = 'public:aucun_site';
-	}
 	$contexte_inclus = array(
 		'erreur' => _T($erreur),
 		'lang' => $GLOBALS['spip_lang']
@@ -401,6 +389,19 @@ function message_erreur_404 ($erreur= "") {
 	return $page;
 }
 
+function assembler_erreur_404 ($contexte)
+{
+	if (isset($contexte['id_article']))
+	return'public:aucun_article';
+	else if (isset($contexte['id_rubrique']))
+	return'public:aucune_rubrique';
+	else if (isset($contexte['id_breve']))
+	return'public:aucune_breve';
+	else if (isset($contexte['id_auteur']))
+	return'public:aucun_auteur';
+	else if (isset($contexte['id_syndic']))
+	return'public:aucun_site';
+}
 
 // temporairement ici : a mettre dans le futur inc/modeles
 // creer_contexte_de_modele('left', 'autostart=true', ...) renvoie un array()
-- 
GitLab