From 774768a8e74ba470583d3bbb1fee0654c30333ee Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Mon, 13 Nov 2006 23:11:54 +0000
Subject: [PATCH] afficher en vert le message original, et ne pas changer son
 statut si on modere le forum

---
 ecrire/action/instituer_forum.php |  3 ++-
 ecrire/inc/forum.php              | 13 +++++++++++++
 ecrire/inc/presentation.php       |  6 +++++-
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/ecrire/action/instituer_forum.php b/ecrire/action/instituer_forum.php
index 610af7b39e..bd65e6f954 100644
--- a/ecrire/action/instituer_forum.php
+++ b/ecrire/action/instituer_forum.php
@@ -36,9 +36,10 @@ function action_instituer_forum_dist() {
 
 	// changer le statut de toute l'arborescence dependant de ce message
 	$id_messages = array($id_forum);
+	$old = $row['statut'];
 	while ($id_messages) {
 		$id_messages = join(',', $id_messages);
-		spip_query("UPDATE spip_forum SET statut='$statut' WHERE id_forum IN ($id_messages)");
+		spip_query("UPDATE spip_forum SET statut='$statut' WHERE id_forum IN ($id_messages) AND statut = '$old'");
 
 		$result_forum = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($id_messages)");
 		$id_messages = array();
diff --git a/ecrire/inc/forum.php b/ecrire/inc/forum.php
index 2719f38d12..92ef08f4ab 100644
--- a/ecrire/inc/forum.php
+++ b/ecrire/inc/forum.php
@@ -111,6 +111,11 @@ function boutons_controle_forum($id_forum, $forum_stat, $forum_id_auteur=0, $ref
 			$valider_repondre = true;
 			$suppression = 'off';
 			break;
+		# forum original (reponse a un forum modifie) sur le site public
+		case "original":
+			$logo = "forum-public-24.gif";
+			$original = true;
+			break;
 		default:
 			return;
 	}
@@ -133,6 +138,14 @@ function boutons_controle_forum($id_forum, $forum_stat, $forum_id_auteur=0, $ref
 			     "creer.gif", 'right', 'non');
 	}
 
+	// TODO: un bouton retablir l'original ?
+	if ($original) {
+		$controle .= "<div style='float:".$GLOBALS['spip_lang_right'].";color:green'>"
+		."("
+		._L('original')
+		.")</div>";
+	}
+
 	return $controle;
 }
 
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index c94294ebb9..48bd15ca23 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -1130,7 +1130,11 @@ function afficher_forum_thread($row, $controle_id_article, $compteur_forum, $nb_
 	else if ($statut=="prop") {
 		$res .= "\n<div style='border: 1px solid yellow; padding: 5px;'>";
 	}
-		
+	// Si original, cadre vert
+	else if ($statut=="original") {
+		$res .= "\n<div style='border: 1px solid green; padding: 5px;'>";
+	}
+
 	$res .= "<span class='arial2'>". date_interface($date_heure) . "</span>&nbsp;&nbsp;";
 
 	if ($id_auteur) {
-- 
GitLab