From ec4cf5ba7c9b27f9d1cb02e56c76492b0d54a988 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 26 Mar 2006 20:38:36 +0000
Subject: [PATCH] =?UTF-8?q?plantage=20de=20#MENU=5FLANG=20(le=20mal=20?=
 =?UTF-8?q?=C3=A9tait=20profond)=20(Gilles=20Vincent)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/balise/menu_lang_ecrire.php    |  4 +---
 ecrire/inc/filtres.php                |  4 ++--
 formulaires/formulaire_menu_lang.html | 17 +++++++----------
 3 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/ecrire/balise/menu_lang_ecrire.php b/ecrire/balise/menu_lang_ecrire.php
index 099795e794..05d8a48f67 100644
--- a/ecrire/balise/menu_lang_ecrire.php
+++ b/ecrire/balise/menu_lang_ecrire.php
@@ -50,14 +50,12 @@ function menu_lang_pour_tous($nom, $default) {
 		return '';
 
 	$cible = str_replace('&amp;', '&', parametre_url(self( /* racine */ true), 'lang' , '')); # lien a partir de /
-	$postcomplet = generer_url_action('cookie', 'url='.rawurlencode($cible), true);
+	$post = parametre_url(generer_url_action('cookie'), 'url', $cible, '&');
 
 	return array('formulaire_menu_lang',
 		3600,
 		array('nom' => $nom,
 			'url' => $post,
-			'cible' => $cible,
-			'retour' => $postcomplet,
 			'langues' => $opt
 		)
 	);
diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php
index 3c6d721264..0c0bd6b0b4 100644
--- a/ecrire/inc/filtres.php
+++ b/ecrire/inc/filtres.php
@@ -2623,8 +2623,8 @@ function form_hidden($action) {
 	$hidden = '';
 	if (false !== ($p = strpos($action, '?')))
 		foreach(preg_split('/&(amp;)?/',substr($action,$p+1)) as $c) {
-			$hidden .= "\n<input name='" . 
-				str_replace('=', "' value='", $c) .
+			$hidden .= "\n<input name='" .
+				entites_html(rawurldecode(str_replace('=', "' value='", $c))) .
 				"' type='hidden' />";
 	}
 	return $hidden;
diff --git a/formulaires/formulaire_menu_lang.html b/formulaires/formulaire_menu_lang.html
index 93a7f75be7..1335b13cc8 100644
--- a/formulaires/formulaire_menu_lang.html
+++ b/formulaires/formulaire_menu_lang.html
@@ -1,13 +1,10 @@
-<form	action='[(#ENV{url})]'
-	method='post'
-	style='margin:0px; padding:0px;'>
-<div>[
-	<input type='hidden' name='url' value='(#ENV{cible})' />
-]	<select	name='[(#ENV{nom})]' 
-		class='forml'
-		style='vertical-align: top; max-height: 24px; margin-bottom: 5px; width: 120px;'
-		onchange="document.location.href='[(#ENV{retour})]&amp;[(#ENV{nom})]='+this.options[this.selectedIndex].value">
-		[(#ENV*{langues})]
+<form action='#ENV{url}' method='post' style='margin:0px; padding:0px;'>
+<div>
+	[(#ENV{url}|form_hidden)]
+	<select name='#ENV{nom}' class='forml'
+	style='vertical-align:top; max-height:24px; margin-bottom:5px; width:120px;'
+onchange="document.location.href='#ENV{url}&amp;#ENV{nom}='+this.options[this.selectedIndex].value">
+	#ENV*{langues}
 	</select>
 	<noscript>
 		<div style='display:inline;'><input type='submit' value='&gt;&gt;' class='spip_bouton' /></div>
-- 
GitLab