From 20aa66d9096ae2403628f65d4ccc93d28946617e Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Wed, 22 Apr 2009 21:22:39 +0000
Subject: [PATCH] report de [13911] et [13912]

---
 prive/formulaires/editer_article.html    |  4 ++--
 prive/formulaires/editer_auteur.html     |  2 +-
 prive/formulaires/editer_breve.html      |  2 +-
 prive/formulaires/editer_groupe_mot.html |  2 +-
 prive/formulaires/editer_mot.html        |  2 +-
 prive/formulaires/editer_rubrique.html   |  2 +-
 prive/formulaires/editer_site.html       |  2 +-
 prive/javascript/ajaxCallback.js         | 23 +++++++++++++++++++++++
 8 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/prive/formulaires/editer_article.html b/prive/formulaires/editer_article.html
index 3657873f41..da08c3bde7 100644
--- a/prive/formulaires/editer_article.html
+++ b/prive/formulaires/editer_article.html
@@ -1,6 +1,6 @@
 <div class="formulaire_spip formulaire_editer formulaire_editer_article formulaire_editer_article-#ENV{id_article,nouveau}">
 	<!-- <br class='bugajaxie' /> -->
-	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
 	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
 	[(#ENV{editable})
 	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
@@ -98,7 +98,7 @@
 
 	  [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
 	  <!--extra-->
-	  <p class='boutons'><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
+	  <p class='boutons'><input type='submit' name="save" class='submit' value='<:bouton_enregistrer:>' /></p>
 	</div></form>
 	]
 </div>
diff --git a/prive/formulaires/editer_auteur.html b/prive/formulaires/editer_auteur.html
index 885d5bc687..dbd723e50c 100644
--- a/prive/formulaires/editer_auteur.html
+++ b/prive/formulaires/editer_auteur.html
@@ -1,6 +1,6 @@
 <div class="formulaire_spip formulaire_editer formulaire_editer_auteur formulaire_editer_auteur-#ENV{id_auteur,nouveau}">
 	<!-- <br class='bugajaxie' /> -->
-	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
 	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur}) <:info_recommencer:></p>]
 	[(#ENV{editable})
 	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
diff --git a/prive/formulaires/editer_breve.html b/prive/formulaires/editer_breve.html
index 8e438cf9da..6410192fd3 100644
--- a/prive/formulaires/editer_breve.html
+++ b/prive/formulaires/editer_breve.html
@@ -1,6 +1,6 @@
 <div class='formulaire_spip formulaire_editer formulaire_editer_breve formulaire_editer_breve-#ENV{id_breve,nouveau}'>
 	<!-- <br class='bugajaxie' /> -->
-	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
 	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
 	[(#ENV{editable})
 	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
diff --git a/prive/formulaires/editer_groupe_mot.html b/prive/formulaires/editer_groupe_mot.html
index e7a770e11e..cda4fd1398 100644
--- a/prive/formulaires/editer_groupe_mot.html
+++ b/prive/formulaires/editer_groupe_mot.html
@@ -1,6 +1,6 @@
 <div class='formulaire_spip formulaire_editer formulaire_editer_groupe_mot formulaire_editer_groupe_mot-#ENV{id_groupe_mot,nouveau}'>
 	<!-- <br class='bugajaxie' /> -->
-	[<p class='reponse_formulaire reponse_formulaire_ok'>(#ENV*{message_ok})</p>]
+	[<p class='reponse_formulaire reponse_formulaire_ok'>(#ENV**{message_ok})</p>]
 	[<p class='reponse_formulaire reponse_formulaire_erreur'>(#ENV*{message_erreur})</p>]
 	[(#ENV{editable})
 	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
diff --git a/prive/formulaires/editer_mot.html b/prive/formulaires/editer_mot.html
index 4a3ddd4a8a..821a95dfe3 100644
--- a/prive/formulaires/editer_mot.html
+++ b/prive/formulaires/editer_mot.html
@@ -1,6 +1,6 @@
 <div class='formulaire_spip formulaire_editer formulaire_editer_mot formulaire_editer_mot-#ENV{id_mot,nouveau}'>
 	<!-- <br class='bugajaxie' /> -->
-	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
 	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
 	[(#ENV{editable})
 	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
diff --git a/prive/formulaires/editer_rubrique.html b/prive/formulaires/editer_rubrique.html
index 64cb505293..2541358d4c 100644
--- a/prive/formulaires/editer_rubrique.html
+++ b/prive/formulaires/editer_rubrique.html
@@ -1,6 +1,6 @@
 <div class='formulaire_spip formulaire_editer formulaire_editer_rubrique formulaire_editer_rubrique-#ENV{id_rubrique,nouveau}'>
 	<!-- <br class='bugajaxie' /> -->
-	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
 	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
 	[(#ENV{editable})
 	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
diff --git a/prive/formulaires/editer_site.html b/prive/formulaires/editer_site.html
index 048ec11cac..621e77afe5 100644
--- a/prive/formulaires/editer_site.html
+++ b/prive/formulaires/editer_site.html
@@ -1,6 +1,6 @@
 <div class="formulaire_spip formulaire_editer formulaire_editer_site formulaire_editer_site-#ENV{id_site,nouveau}">
 	<!-- <br class='bugajaxie' /> -->
-	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
 	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
 	[(#ENV{editable})
 	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
diff --git a/prive/javascript/ajaxCallback.js b/prive/javascript/ajaxCallback.js
index 8c72de5d44..735b14a9b8 100644
--- a/prive/javascript/ajaxCallback.js
+++ b/prive/javascript/ajaxCallback.js
@@ -114,9 +114,19 @@ jQuery.fn.formulaire_dyn_ajax = function(target) {
 		var cible = target || this;
 		jQuery('form:not(.noajax)', this).each(function(){
 		var leform = this;
+		var leclk,leclk_x,leclk_y;
 		jQuery(this).prepend("<input type='hidden' name='var_ajax' value='form' />")
 		.ajaxForm({
 			beforeSubmit: function(){
+				// memoriser le bouton clique, en cas de repost non ajax
+				leclk = leform.clk;
+        if (leclk) {
+            var n = leclk.name;
+            if (n && !leclk.disabled && leclk.type == "image") {
+							leclk_x = leform.clk_x;
+							leclk_y = leform.clk_y;
+            }
+        }
 				jQuery(cible).addClass('loading').animeajax();
 			},
 			success: function(c){
@@ -124,6 +134,19 @@ jQuery.fn.formulaire_dyn_ajax = function(target) {
 					// le serveur ne veut pas traiter ce formulaire en ajax
 					// on resubmit sans ajax
 					jQuery("input[name=var_ajax]",leform).remove();
+					// si on a memorise le nom et la valeur du bouton clique
+					// les reinjecter dans le dom sous forme de input hidden
+					// pour que le serveur les recoive
+					if (leclk){
+            var n = leclk.name;
+            if (n && !leclk.disabled) {
+							jQuery(leform).prepend("<input type='hidden' name='"+n+"' value='"+leclk.value+"' />");
+							if (leclk.type == "image") {
+								jQuery(leform).prepend("<input type='hidden' name='"+n+".x' value='"+leform.clk_x+"' />");
+								jQuery(leform).prepend("<input type='hidden' name='"+n+".y' value='"+leform.clk_y+"' />");
+							}
+						}
+					}
 					jQuery(leform).ajaxFormUnbind().submit();
 				}
 				else {
-- 
GitLab