From 3d83704e3e65536bf9edc14fe2912200e9b4ca0c Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Wed, 7 May 2008 14:15:07 +0000
Subject: [PATCH] "eviter d'ajaxer les formulaires par defaut, cela est
 surprenant et modifie le html par un div englobant la regle devient donc : -
 par defaut un formulaire dynamique n'est pas ajax, et pas de div englobante -
 il faut passer $valeurs['_ajax'] = true en retour de charger pour activer
 l'ajax (ajout d'une div englobante et d'un js qui va bien) Dans ce cas, les
 formulaires avec la class='noajax' sur le <form> resteront cependant non ajax
 (permet de traiter eventuellement plusieurs form dans une meme balise) "

---
 ecrire/balise/formulaire_.php | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ecrire/balise/formulaire_.php b/ecrire/balise/formulaire_.php
index ecb4f671c7..ca74b9cb00 100644
--- a/ecrire/balise/formulaire_.php
+++ b/ecrire/balise/formulaire_.php
@@ -86,7 +86,9 @@ function balise_FORMULAIRE__dyn($form)
 	$action = parametre_url($action,'formulaire_action_args',''); // nettoyer l'url des champs qui vont etre saisis
 
 	$ajaxid = "";
-	if (!$ajax=_request('var_ajax')){
+	if ((!$ajax=_request('var_ajax'))
+	 AND (isset($valeurs['_ajax']))
+	 AND $valeurs['_ajax']){
 		include_spip('inc/acces');
 		$ajaxid = substr(md5(creer_uniqid()),0,8);
 	}
@@ -98,21 +100,20 @@ function balise_FORMULAIRE__dyn($form)
 		. "<input type='hidden' name='hash' value='".$secu['hash']."' />";
 	}
 
-	return array($ajax?"formulaires/$form":"formulaires/formulaire_", 0, 
+	return array($ajaxid?"formulaires/formulaire_":"formulaires/$form", 0, 
 		array_merge(
 		$valeurs, 
 		array(
 			'form' => $form,
 			'action' => $action,
 			'formulaire_args' => base64_encode(serialize($args)),
-			'redirect' => '',
 			'id' => isset($valeurs['id'])?$valeurs['id']:'new',
 			'erreurs' => $erreurs,
 			'message_ok' => $message_ok,
 			'message_erreur' => $message_erreur,
 			'editable' => $editable?' ':'',
-			'ajaxid' => "id$ajaxid",
-		))
+		),
+		$ajaxid?array('ajaxid' => "id$ajaxid"):array())
 	);
 }
 
-- 
GitLab