From 4f6fdb8779d75e7c1bd2f3f366ae46461769a7c0 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Thu, 17 Mar 2005 19:39:29 +0000
Subject: [PATCH] =?UTF-8?q?"valider=20et=20r=C3=A9pondre"=20sur=20les=20fo?=
 =?UTF-8?q?rums=20mod=C3=A9r=C3=A9s=20(CG)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/controle_forum.php3 | 18 +++++++-----------
 ecrire/inc.php3            |  3 +++
 ecrire/inc_forum.php3      |  7 ++++++-
 3 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/ecrire/controle_forum.php3 b/ecrire/controle_forum.php3
index 9811dbdb99..d75fa5a49f 100644
--- a/ecrire/controle_forum.php3
+++ b/ecrire/controle_forum.php3
@@ -172,7 +172,6 @@ function controle_forum($row, $rappel) {
 		  controle_cache_forum('supp_forum',
 				       $id_forum,
 				       _T('icone_supprimer_message'), 
-				       "controle_forum.php3?$rappel#$id_forum",
 				       $logo,
 				       "supprimer.gif");
 		else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm")
@@ -180,7 +179,6 @@ function controle_forum($row, $rappel) {
 		  controle_cache_forum('supp_forum_priv',
 				       $id_forum,
 				       _T('icone_supprimer_message'), 
-				       "controle_forum.php3?$rappel#$id_forum",
 				       $logo,
 				       "supprimer.gif");
 		    }
@@ -192,24 +190,22 @@ function controle_forum($row, $rappel) {
 
 	if ($forum_stat=="prop")
 	  {
-		$appelant= "forum.php3?$type=$valeur&id_forum=$id_forum";
+		$redirect = "../forum.php3?$type=$valeur&id_forum=$id_forum";
+
 		$controle .=
 		  controle_cache_forum('valid_forum',
 				       $id_forum,
 				       _T('icone_valider_message'), 
-				       "controle_forum.php3?$rappel&#$id_forum",
 				       $logo,
 				       "creer.gif") .
 		  controle_cache_forum('valid_forum',
 				       $id_forum,
 				       _T('icone_valider_message') . " &amp; " .
-				       _T('lien_repondre_message'),
-				       "../$appelant&url=" .
-				       rawurlencode($appelant) . 
-				       "&retour=" .
-				       rawurlencode(_DIR_RESTREINT_ABS . "controle_forum.php3?$rappel&#$id_forum"), 
-				       _DIR_IMG_PACK . "messagerie-24.gif",
-				       "creer.gif");
+			           _T('lien_repondre_message'),
+				       $logo,
+				       "creer.gif",
+				       $redirect
+				       );
 	  }
 	$controle .= "<br />$avant<B>$pref <A HREF='$url'>$titre</A></B>" .
 	  "<P align='justify'>".propre($forum_texte);
diff --git a/ecrire/inc.php3 b/ecrire/inc.php3
index 022f6a6026..51841f2fdb 100644
--- a/ecrire/inc.php3
+++ b/ecrire/inc.php3
@@ -228,6 +228,9 @@ if ($controle_forum AND $id_controle_forum) {
 				changer_statut_forum($id_controle_forum, 'publie');
 				break;
 		}
+
+		if ($redirect)
+			redirige_par_entete($redirect);
 	}
 }
 
diff --git a/ecrire/inc_forum.php3 b/ecrire/inc_forum.php3
index fc878dff7b..cd920c25e8 100644
--- a/ecrire/inc_forum.php3
+++ b/ecrire/inc_forum.php3
@@ -56,11 +56,16 @@ function changer_statut_forum($id_forum, $statut) {
 }
 
 // Installer un bouton de moderation (securise) dans l'espace prive
-function controle_cache_forum($action, $id, $texte, $lien, $fond, $fonction) {
+function controle_cache_forum($action, $id, $texte, $fond, $fonction, $redirect='') {
 	$link = $GLOBALS['clean_link'];
+
 	$link->addvar('controle_forum', $action);
 	$link->addvar('id_controle_forum', $id);
 	$link->addvar('hash', calculer_action_auteur("$action$id"));
+
+	if ($redirect)
+		$link->addvar('redirect', $redirect);
+
 	return icone($texte,
 		$link->geturl(),
 		$fond,
-- 
GitLab