From 61d69b4bc16998b01b34346c677e0e9505be818d Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Mon, 28 Jul 2003 08:12:40 +0000
Subject: [PATCH] =?UTF-8?q?cas=20particuliers=20:=20les=20formulaires=20in?=
 =?UTF-8?q?clus=20ne=20doivent=20pas=20changer=20de=20langue=20quand=20la?=
 =?UTF-8?q?=20page=20est=20recalcul=C3=A9e=20ou=20pas=20:=20leur=20donner?=
 =?UTF-8?q?=20la=20langue=20courante=20;=20le=20formulaire=20admin=20est?=
 =?UTF-8?q?=20si=20possible=20dans=20la=20langue=20de=20l'admin=20(touche?=
 =?UTF-8?q?=20chic)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Reste à savoir ce qu'on fait avec les INCLURE ; à priori il faut aussi les initialiser avec la langue courante au moment du calcul, mais je dois encore faire des essais...
---
 ecrire/lang/spip_cpf.php3 |  6 ++++++
 inc-admin.php3            | 10 ++++++++++
 inc-calcul-squel.php3     | 30 +++++++++++++++++++++++++-----
 inc-formulaires.php3      |  2 ++
 4 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/ecrire/lang/spip_cpf.php3 b/ecrire/lang/spip_cpf.php3
index e2c32b3282..e37458449b 100644
--- a/ecrire/lang/spip_cpf.php3
+++ b/ecrire/lang/spip_cpf.php3
@@ -710,6 +710,11 @@ fisy&eacute; SPIP.}}',
 'info_mots_cles' => 'Bann molakl&eacute;',
 'info_mots_cles_association' => 'I p&eacute; m&egrave;t ansanm bann molakl&eacute; lo group-la&nbsp;:',
 'info_moyenne' => 'Mwayinn&nbsp;:',
+'info_multi_articles' => '<NEW> Activer le menu de langue sur les articles&nbsp;?',
+'info_multi_cet_article' => '<NEW> Cet article est en&nbsp;:',
+'info_multi_cette_rubrique' => '<NEW> Cette rubrique est en&nbsp;:',
+'info_multi_rubriques' => '<NEW> Activer le menu de langue sur les rubriques&nbsp;?',
+'info_multilinguisme' => '<NEW> Multilinguisme',
 'info_nexen_1' => 'Out l&eacute;b&egrave;rz&egrave;r l&eacute; Nexen Services.',
 'info_nexen_2' => 'Pou prot&egrave;z lo r&eacute;pertwar <tt>ecrire/data/</tt> i dwa anserv',
 'info_nexen_3' => 'l&egrave;spas bann w&egrave;bm&egrave;t',
@@ -1367,6 +1372,7 @@ r&eacute;ind&eacute;ks&eacute;&nbsp;: &eacute; litilit&eacute; la komand-la l&ea
 'texte_moteur_recherche_non_active' => 'Rod&egrave;r do SPIP l&eacute; pa an mars.',
 'texte_mots_cles' => 'Bann molakl&eacute; i perm&egrave;t aou kr&eacute; bann gatiraz antrobann zartik, s&eacute;lon lo t&egrave;m zot i abord. Bann gatiraz-la l&eacute; ind&eacute;pandan laplas bann zartik dann rubrik. Ou i p&eacute; anserv azot pou rand lo batkaraz pli ris sir out sitw&egrave;b, o pou rand pli person&egrave;l lapr&eacute;zantasyon out bann skel&egrave;t.',
 'texte_mots_cles_dans_forum' => 'Indik isi si ou v&eacute; perm&egrave;t litilizasyon bann molakl&eacute;, sak bann vizit&egrave;r i p&eacute; swazi zot-minm, dann bann forom piblik sir lo sitw&egrave;b&nbsp;? (Tansyon pangar&nbsp;:lopsyon-la l&eacute; inn p&eacute; difisil pou anserv &eacute; pou f&eacute; zw&eacute; byin kor&egrave;kman.)',
+'texte_multilinguisme' => '<NEW> Si vous souhaitez g&eacute;rer des articles en plusieurs langues, avec une navigation complexe, vous pouvez ajouter un menu de s&eacute;lection de langue sur les articles et/ou sur les rubriques, en fonction de l\'organisation de votre site.',
 'texte_non_compresse' => '<i>L&eacute; pa konp&egrave;rs&eacute;</i> (akoz out serv&egrave;r i p&eacute; pa f&eacute; zw&eacute; lafonksyon-la)',
 'texte_non_fonction_referencement' => 'L&eacute; posib ou pr&eacute;f&egrave;r pa anserv lafonksyon-la akoz i l&eacute; otomatik : dann ka-la, ou p&eacute; indik ou-minm tout bann z&eacute;l&eacute;man ou la d&eacute;sid sak i kosern lo sit...',
 'texte_nouveau_message' => 'Nouvo mod&eacute;kri',
diff --git a/inc-admin.php3 b/inc-admin.php3
index ca17a56e8f..7a55706c77 100644
--- a/inc-admin.php3
+++ b/inc-admin.php3
@@ -22,6 +22,14 @@ function afficher_boutons_admin() {
 	global $id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur;
 	include_ecrire("inc_filtres.php3");
 
+	// regler les boutons dans la langue de l'admin (sinon tant pis)
+	if ($login = addslashes(ereg_replace('^@','',$GLOBALS['spip_admin']))) {
+		$q = spip_query("SELECT lang FROM spip_auteurs WHERE login='$login'");
+		$row = spip_fetch_array($q);
+		$lang = $row['lang'];
+	}
+	lang_select($lang);
+
 	echo '<div class="spip-admin">';
 	if ($id_article) {
 		bouton_admin(_T('admin_modifier_article')." ($id_article)", "./ecrire/articles.php3?id_article=$id_article");
@@ -53,6 +61,8 @@ function afficher_boutons_admin() {
 	}
 
 	echo "</div>";
+
+	lang_dselect();
 }
 
 
diff --git a/inc-calcul-squel.php3 b/inc-calcul-squel.php3
index 339c29041e..0593dd35fd 100644
--- a/inc-calcul-squel.php3
+++ b/inc-calcul-squel.php3
@@ -1507,10 +1507,14 @@ function calculer_champ($id_champ, $id_boucle, $nom_var)
 	case 'FORMULAIRE_INSCRIPTION':
 		$milieu = '
 		$request_uri = $GLOBALS["REQUEST_URI"];
+		$spip_lang = $GLOBALS["spip_lang"];
 		$accepter_inscriptions = lire_meta("accepter_inscriptions");
-
 		if ($accepter_inscriptions == "oui") {
-			$'.$nom_var.' = "<"."?php include_local(\"inc-formulaires.php3\"); formulaire_inscription(\"redac\"); ?".">";
+			$'.$nom_var.' = "<"."?php
+				include_local(\"inc-formulaires.php3\");
+				lang_select(\"$spip_lang\");
+				formulaire_inscription(\"redac\");
+				lang_dselect(); ?".">";
 		}
 		else {
 			$'.$nom_var.' = "";
@@ -1527,8 +1531,12 @@ function calculer_champ($id_champ, $id_boucle, $nom_var)
 		$milieu = '
 		if (email_valide($row[\'email\'])) {
 			$email = trim($row[\'email\']);
+			$spip_lang = $GLOBALS["spip_lang"];
 			$'.$nom_var.' = "<'.'?php
-				include (\'inc-formulaires.php3\'); formulaire_ecrire_auteur(".$row[\'id_auteur\'].",\'$email\');
+				include (\'inc-formulaires.php3\');
+				lang_select(\"$spip_lang\");
+				formulaire_ecrire_auteur(".$row[\'id_auteur\'].",\'$email\');
+				lang_dselect();
 			?'.'>";
 		}
 		';
@@ -1543,12 +1551,18 @@ function calculer_champ($id_champ, $id_boucle, $nom_var)
 		$milieu = '
 		$request_uri = $GLOBALS["REQUEST_URI"];
 		$accepter_inscriptions = lire_meta("accepter_inscriptions");
+		$spip_lang = $GLOBALS["spip_lang"];
 
 		$query_petition = "SELECT * FROM spip_petitions WHERE id_article=$contexte[id_article]";
  		$result_petition = spip_query($query_petition);
 
 		if ($row_petition = spip_fetch_array($result_petition)) {
-			$'.$nom_var.' = "<"."?php include_local(\"inc-formulaires.php3\"); formulaire_signature($contexte[id_article]); ?".">";
+			$'.$nom_var.' = "<"."?php
+				include_local(\"inc-formulaires.php3\");
+				lang_select(\"$spip_lang\");
+				formulaire_signature($contexte[id_article]);
+				lang_dselect();
+				?".">";
 		}
 		else {
 			$'.$nom_var.' = "";
@@ -1565,9 +1579,15 @@ function calculer_champ($id_champ, $id_boucle, $nom_var)
 		$milieu = '
 		$request_uri = $GLOBALS["REQUEST_URI"];
 		$proposer_sites = lire_meta("proposer_sites");
+		$spip_lang = $GLOBALS["spip_lang"];
 
 		if ($proposer_sites == "2") {
-			$'.$nom_var.' = "<"."?php include_local(\"inc-formulaires.php3\"); formulaire_site($contexte[id_rubrique]); ?".">";
+			$'.$nom_var.' = "<"."?php
+				include_local(\"inc-formulaires.php3\");
+				lang_select(\"$spip_lang\");
+				formulaire_site($contexte[id_rubrique]);
+				lang_dselect();
+				?".">";
 		}
 		else {
 			$'.$nom_var.' = "";
diff --git a/inc-formulaires.php3 b/inc-formulaires.php3
index 72a7843168..9a9ea8eca5 100644
--- a/inc-formulaires.php3
+++ b/inc-formulaires.php3
@@ -5,6 +5,8 @@
 if (defined("_INC_FORMULAIRES")) return;
 define("_INC_FORMULAIRES", "1");
 
+include_ecrire('inc_filtres.php3');
+
 function test_pass() {
 	include_ecrire("inc_acces.php3");
 	for (;;) {
-- 
GitLab