From 48789c427c58e95f5bce28957a5bad3adf066091 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 30 Jan 2005 22:10:44 +0000
Subject: [PATCH] un squelette (moche) pour l'erreur 404.

---
 inc-balises.php3       |  7 +++++++
 inc-public-global.php3 | 19 +++++++++++++++++++
 inc-public.php3        |  5 ++++-
 3 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/inc-balises.php3 b/inc-balises.php3
index 57b41c908c..d54a7663d2 100644
--- a/inc-balises.php3
+++ b/inc-balises.php3
@@ -259,6 +259,13 @@ function balise_NOTES_dist($p) {
 	return $p;
 }
 
+// Qu'afficher en cas d'erreur 404 ?
+function balise_ERREUR_AUCUN_dist($p) {
+	$p->code = '$Pile[0]["erreur_aucun"]';
+	$p->statut = 'php';
+	return $p;
+}
+
 function balise_RECHERCHE_dist($p) {
 	$p->code = 'htmlspecialchars($GLOBALS["recherche"])';
 	$p->statut = 'php';
diff --git a/inc-public-global.php3 b/inc-public-global.php3
index 23b7b4c6d2..552b7a11e8 100644
--- a/inc-public-global.php3
+++ b/inc-public-global.php3
@@ -418,4 +418,23 @@ function inclure_page_lang($fond, $delais, $contexte_inclus) {
 	if ($page['lang_select'])
 		lang_dselect();
 }
+
+
+function message_erreur_404 () {
+	if ($GLOBALS['id_article'])
+		$erreur = 'aucun_article';
+	else if ($GLOBALS['id_rubrique'])
+		$erreur = 'aucune_rubrique';
+	else if ($GLOBALS['id_breve'])
+		$erreur = 'aucune_breve';
+	else if ($GLOBALS['id_auteur'])
+		$erreur = 'aucun_auteur';
+	else if ($GLOBALS['id_syndic'])
+		$erreur = 'aucun_site';
+	else
+		$erreur = '';
+
+	return _T("public:".$erreur);
+}
+
 ?>
diff --git a/inc-public.php3 b/inc-public.php3
index 9d1d794e8e..99725bc550 100644
--- a/inc-public.php3
+++ b/inc-public.php3
@@ -14,7 +14,10 @@ else {
 	echo $page;
 
 	// Si le 404 a ete renvoye (page vide), donner un message approprie
-	if ($http_status == 404) include(find_in_path('404.php3'));
+	if ($http_status == 404) {
+		$contexte_inclus = array('erreur_aucun' => message_erreur_404());
+		include(find_in_path('404.php3'));
+	}
 
 	terminer_public_global();
 }
-- 
GitLab