From e2844696abc1ec3f4c04daa2b19e821fac92eb84 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Thu, 27 Jul 2006 11:30:53 +0000
Subject: [PATCH] =?UTF-8?q?Eviter=20qu'un=20formulaire=20en=20Post=20ait?=
 =?UTF-8?q?=20des=20parametres=20exclusivement=20pr=C3=A9sents=20dans=20le?=
 =?UTF-8?q?=20champ=20action.=20Et=20continuer=20=C3=A0=20=C3=A9vacuer=20l?=
 =?UTF-8?q?es=20Update=20pr=C3=A9sents=20dans=20exec/articles.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/action/instituer.php | 20 +++++++-
 ecrire/exec/articles.php    | 92 ++++++++++++++-----------------------
 ecrire/exec/naviguer.php    |  2 +-
 ecrire/inc/actions.php      |  4 +-
 4 files changed, 56 insertions(+), 62 deletions(-)

diff --git a/ecrire/action/instituer.php b/ecrire/action/instituer.php
index e33ca77aec..c208b842d0 100644
--- a/ecrire/action/instituer.php
+++ b/ecrire/action/instituer.php
@@ -149,7 +149,7 @@ function instituer_breve($arg) {
 }
 
 
-function instituer_langue($arg)
+function instituer_langue_rubrique($arg)
 {
 	$changer_lang = _request('changer_lang');
 	list($id_rubrique, $id_parent) = preg_split('/\W/', $arg);
@@ -179,4 +179,22 @@ function instituer_langue($arg)
 	}
 }
 
+function instituer_langue_article($arg)
+{
+	$changer_lang = _request('changer_lang');
+
+	if ($GLOBALS['meta']['multi_articles'] == 'oui' AND $changer_lang) {
+		list($id_article, $id_rubrique) = preg_split('/\W/', $arg);
+		if ($changer_lang != "herit")
+			spip_query("UPDATE spip_articles SET lang=" . spip_abstract_quote($changer_lang) . ", langue_choisie='oui' WHERE id_article=$id_article");
+		else {
+			$langue_parent = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=" . $id_rubrique));
+			$langue_parent=$langue_parent['lang'];
+			spip_query("UPDATE spip_articles SET lang=" . spip_abstract_quote($langue_parent) . ", langue_choisie='non' WHERE id_article=$id_article");
+			include_spip('inc/lang');
+			calculer_langues_utilisees();
+		}
+	}
+ }
+
 ?>
diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php
index 28b78e4add..f8a5c6e00f 100644
--- a/ecrire/exec/articles.php
+++ b/ecrire/exec/articles.php
@@ -192,32 +192,12 @@ if ($flag_editable) {
  if ($spip_display != 4)
  afficher_documents_non_inclus($id_article, "article", $flag_editable);
 
-//
-// "Demander la publication"
-//
-
+ if ($flag_auteur AND $statut_article == 'prepa')
+	echo demande_publication($id_article);
 
-if ($flag_auteur AND $statut_article == 'prepa') {
-	echo "<P>";
-	debut_cadre_relief();
-	echo	"<center>",
-		"<B>"._T('texte_proposer_publication')."</B>",
-		aide ("artprop"),
-		"\n<form method='post' action='",
-		redirige_action_auteur("instituer", "article-$id_article-prop", 'articles', "id_article=$id_article"),
-      "'>",
-		"<input type='submit' class='fondo' value=\"", 
-		_T('bouton_demande_publication'),
-		"\" />\n",
-		"</form>",
-		"</center>";
-	fin_cadre_relief();
-}
-
-echo "</div>";
-
-echo "</div>";
-fin_cadre_relief();
+ echo "</div>";
+ echo "</div>";
+ fin_cadre_relief();
 
  affiche_forums_article($id_article, $id_rubrique, $titre, $debut);
 
@@ -225,6 +205,24 @@ fin_page();
 
 }
 
+function demande_publication($id_article)
+{
+	return debut_cadre_relief('',true) .
+		"<center>" .
+		"<b>" ._T('texte_proposer_publication') . "</b>" .
+		aide ("artprop") .
+		redirige_action_auteur("instituer", 
+			"article-$id_article-prop",
+			'articles',
+			"id_article=$id_article",
+			("<input type='submit' class='fondo' value=\"" . 
+			    _T('bouton_demande_publication') .
+			    "\" />\n"),
+			"method='post'") .
+		"</center>" .
+		fin_cadre_relief(true);
+}
+
 function boite_info_articles($id_article, $statut_article, $visites, $id_version)
 {
   global $connect_statut, $options, $flag_revisions;
@@ -698,9 +696,9 @@ function langues_articles($id_article, $langue_article, $flag_editable, $id_rubr
 			$langue_article = $langue_parent;
 
 		debut_cadre_couleur();
-		echo "<div style='text-align: center;'>";
-		echo menu_langues('changer_lang', $langue_article, _T('info_multi_cet_article').' ', $langue_parent);
-		echo "</div>\n";
+		echo "<div style='text-align: center;'>",
+			menu_langues('changer_lang', $langue_article, _T('info_multi_cet_article').' ', $langue_parent, redirige_action_auteur('instituer', "langue_article-$id_article-$id_rubrique","articles","id_article=$id_article")),
+			"</div>\n";
 		fin_cadre_couleur();
 
 		echo fin_block();
@@ -1248,12 +1246,11 @@ function affiche_forums_article($id_article, $id_rubrique, $titre, $debut, $mute
 
 function afficher_statut_articles($id_article, $rubrique_article, $statut_article)
 {
-  return "\n<form method='post' action='" .
-	redirige_action_auteur("instituer", "article-$id_article",'articles', "id_article=$id_article") .
-      "'>" .
+  return redirige_action_auteur("instituer", "article-$id_article",'articles', "id_article=$id_article",
+	(
 	debut_cadre_relief("", true) .
-	"\n<center>" . "<B>" ._T('texte_article_statut') ."</B>" .
-	"\n<SELECT NAME='statut_nouv' SIZE='1' CLASS='fondl'\n" .
+	"\n<center>" . "<b>" ._T('texte_article_statut') ."</b>" .
+	"\n<select name='statut_nouv' size='1' class='fondl'\n" .
 	"onChange=\"document.statut.src='" .
 	_DIR_IMG_PACK .
 	"' + puce_statut(options[selectedIndex].value);" .
@@ -1264,7 +1261,7 @@ function afficher_statut_articles($id_article, $rubrique_article, $statut_articl
 	"<option"  . mySel("poubelle", $statut_article) .
 	http_style_background('rayures-sup.gif')  . '>'  ._T('texte_statut_poubelle') ."</option>\n" .
 	"<option"  . mySel("refuse", $statut_article)  . " style='background-color: #FFA4A4'>" ._T('texte_statut_refuse') ."</option>\n" .
-	"</SELECT>" .
+	"</select>" .
 	" &nbsp; " .
 	http_img_pack("puce-".puce_statut($statut_article).'.gif', "", "border='0' NAME='statut'") .
 	"  &nbsp;\n" .
@@ -1273,8 +1270,8 @@ function afficher_statut_articles($id_article, $rubrique_article, $statut_articl
 	"</span>" .
 	aide("artstatut") .
 	"</center>" .
-	fin_cadre_relief('', true) .
-	"\n</form>";
+	fin_cadre_relief('', true)), 
+			   " method='post'");
 }
 
 //
@@ -1291,24 +1288,6 @@ function trop_longs_articles($texte_plus)
 	return $texte_ajout;
 }
 
-
-function modif_langue_articles($id_article, $id_rubrique, $changer_lang)
-{
-
-// Appliquer la modification de langue
- if ($GLOBALS['meta']['multi_articles'] == 'oui') {
-	$langue_parent = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=" . $id_rubrique));
-	$langue_parent=$langue_parent['lang'];
-	if ($changer_lang) {
-		if ($changer_lang != "herit")
-			spip_query("UPDATE spip_articles SET lang=" . spip_abstract_quote($changer_lang) . ", langue_choisie='oui' WHERE id_article=$id_article");
-		else
-			spip_query("UPDATE spip_articles SET lang=" . spip_abstract_quote($langue_parent) . ", langue_choisie='non' WHERE id_article=$id_article");
-                calculer_langues_utilisees();
-	}
- }
-}
-
 // Passer les images/docs en "inclus=non"
 
 function inclus_non_articles($id_article)
@@ -1427,7 +1406,7 @@ function insert_article($id_parent)
 
 function exec_articles_dist()
 {
-  global $ajout_auteur, $annee, $annee_redac, $avec_redac, $change_accepter_forum, $change_petition, $changer_lang, $changer_virtuel, $chapo, $cherche_auteur, $cherche_mot, $connect_id_auteur, $date, $date_redac, $debut, $heure, $heure_redac, $id_article, $id_article_bloque, $id_parent, $id_rubrique_old, $id_secteur, $id_trad_new, $jour, $jour_redac, $langue_article, $lier_trad, $minute, $minute_redac, $mois, $mois_redac, $new, $nom_select, $nouv_auteur, $nouv_mot, $supp_auteur, $supp_mot, $titre, $titre_article, $virtuel; 
+  global $ajout_auteur, $annee, $annee_redac, $avec_redac, $change_accepter_forum, $change_petition, $changer_virtuel, $chapo, $cherche_auteur, $cherche_mot, $connect_id_auteur, $date, $date_redac, $debut, $heure, $heure_redac, $id_article, $id_article_bloque, $id_parent, $id_rubrique_old, $id_secteur, $id_trad_new, $jour, $jour_redac, $langue_article, $lier_trad, $minute, $minute_redac, $mois, $mois_redac, $new, $nom_select, $nouv_auteur, $nouv_mot, $supp_auteur, $supp_mot, $titre, $titre_article, $virtuel; 
 
 
  $id_parent = intval($id_parent);
@@ -1482,9 +1461,6 @@ if ($jour_redac) {
 	spip_query("UPDATE spip_articles SET date_redac='" . format_mysql_date($annee_redac, $mois_redac, $jour_redac, $heure_redac, $minute_redac) ."' WHERE id_article=$id_article");
 }
 
-
-modif_langue_articles($id_article, $id_rubrique, $changer_lang);
-
 maj_documents($id_article, 'article');
 
 if ($changer_virtuel) {
diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php
index 2f248693f4..0ec3ef969a 100644
--- a/ecrire/exec/naviguer.php
+++ b/ecrire/exec/naviguer.php
@@ -260,7 +260,7 @@ if ($id_rubrique>0 AND $GLOBALS['meta']['multi_rubriques'] == 'oui' AND ($GLOBAL
 
 	echo debut_block_invisible('languesrubrique');
 	echo "<div class='verdana2' align='center'>";
-	echo menu_langues('changer_lang', $langue_rubrique, '', $langue_parent, redirige_action_auteur('instituer', "langue-$id_rubrique-$id_parent","naviguer","id_rubrique=$id_rubrique"), $ze_logo, "supprimer.gif");
+	echo menu_langues('changer_lang', $langue_rubrique, '', $langue_parent, redirige_action_auteur('instituer', "langue_rubrique-$id_rubrique-$id_parent","naviguer","id_rubrique=$id_rubrique"), $ze_logo, "supprimer.gif");
 	echo "</div>\n";
 	echo fin_block();
 
diff --git a/ecrire/inc/actions.php b/ecrire/inc/actions.php
index da99f2340b..5c77f83f16 100644
--- a/ecrire/inc/actions.php
+++ b/ecrire/inc/actions.php
@@ -68,9 +68,9 @@ function generer_action_auteur($action, $arg, $redirect="", $mode=false, $att=''
 		"\n\t</div>\n</form>\n";
 }
 
-function redirige_action_auteur($action, $arg, $ret, $gra)
+function redirige_action_auteur($action, $arg, $ret, $gra, $mode=false, $atts='')
 {
-	return generer_action_auteur($action, $arg, generer_url_ecrire($ret, $gra, true, _DIR_RESTREINT_ABS));
+	return generer_action_auteur($action, $arg, generer_url_ecrire($ret, $gra, true, _DIR_RESTREINT_ABS), $mode, $atts);
 }
 
 
-- 
GitLab