From ddb37e09a84c7b962716b67f0f57c2946e11ee6b Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Thu, 17 Apr 2008 22:00:25 +0000
Subject: [PATCH] =?UTF-8?q?Erreur=20si=20revision=5Fforum=20=C3=A9tait=20a?=
 =?UTF-8?q?ppel=C3=A9e=20avec=20un=20seul=20arg=20depuis=20[11350].=20Tant?=
 =?UTF-8?q?=20qu'=C3=A0=20faire,=20r=C3=A9duire=20les=20requ=C3=AAtes=20SQ?=
 =?UTF-8?q?L=20au=20minimum.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc/modifier.php | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php
index e020a71b78..69ec29122e 100644
--- a/ecrire/inc/modifier.php
+++ b/ecrire/inc/modifier.php
@@ -317,16 +317,18 @@ function revision_forum($id_forum, $c=false) {
 		),
 		$c);
 
+	$t = $t["id_thread"];
+	$cles = array();
+	foreach (array('id_article', 'id_rubrique', 'id_syndic', 'id_breve')
+		 as $k) {
+		if (isset($c[$k])) $cles[$k] = $c[$k];
+	}
 
 	// Modification des id_article etc
 	// (non autorise en standard mais utile pour des crayons)
 	// on deplace tout le thread {sauf les originaux}.
-	if (count($cles = array_intersect(array_keys($c),
-		array('id_article', 'id_rubrique', 'id_syndic', 'id_breve')))
-	) {
-		$thread = sql_fetsel("id_thread", "spip_forum", "id_forum=$id_forum");
-		foreach ($cles as $k)
-			sql_updateq("spip_forum", array("$k" => $c[$k]), "id_thread=".$thread['id_thread']." AND statut!='original'");
+	if ($cles) {
+		sql_updateq("spip_forum", $cles, "id_thread=$t AND statut!='original'");
 		// on n'affecte pas $r, car un deplacement ne change pas l'auteur
 	}
 
@@ -336,7 +338,7 @@ function revision_forum($id_forum, $c=false) {
 	if ($r) {
 		sql_updateq('spip_forum', array('ip'=>($GLOBALS['ip']), 'id_auteur'=>($GLOBALS['visiteur_session']['id_auteur'])),"id_forum=".sql_quote($id_forum));
 
-		sql_update("spip_forum", array("date_thread" => "NOW()"), "id_thread=".$t['id_thread']);
+		sql_update("spip_forum", array("date_thread" => "NOW()"), "id_thread=".$t);
 	}
 }
 
-- 
GitLab