Valider 0fb317fe rédigé par Fil's avatar Fil
Parcourir les fichiers

gestion de l'ajax, une methode plus simple que [11580] : on ajoute la classe...

gestion de l'ajax, une methode plus simple que [11580] : on ajoute la classe ajax sur un element englobant du squelette, et le formulaire est ajaxe ; disparition de ajaxid, disparition du script inline. Au passage, deux corrections sur la pagination ajax : 1) possibilite de paginer vers l'item 0 quand on a calcule la page avec debut_x=1  2) eviter un plantage javascript avec triggerAjaxLoad(blocfrag)
parent 8825749c
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -5,6 +5,7 @@ config/remove.txt -text
dist/favicon.ico -text
dist/feed.png -text
dist/fond/ajax.html -text
dist/fond/ajax_fonctions.php -text
dist/fond/ajax_stat.html -text
dist/formulaires/choix_mots.html -text
dist/formulaires/editer_article.html -text
@@ -18,7 +19,6 @@ dist/formulaires/editer_rubrique.php -text
dist/formulaires/editer_site.html -text
dist/formulaires/editer_site.php -text
dist/formulaires/editer_site_fonctions.php -text
dist/formulaires/formulaire_.html -text
dist/formulaires/login_forum_abo.html -text
dist/formulaires/logo_auteur.html -text
dist/formulaires/oubli/charger.php -text
+6 −15
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
#SET{ajaxid,id#EVAL{'include_spip("inc/acces")?substr(md5(creer_uniqid()),0,8):""'}}
<div id='#GET{ajaxid}'><INCLURE{fond=#ENV*{fond_ajax}}{env}></div>
[(#REM) calculer l'env et la cle pour le contexte du traitement ajax]
#SET{env,#ENV**|base64_encode}
#SET{env,#ENV**|supprimer_debuts|base64_encode}
#SET{cle,#EVAL{#VAL{'include_spip("inc/securiser_action")?calculer_cle_action("'}|concat{#GET{env},'"):""'}}}
<script type='text/javascript'>/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/
if (window.jQuery) {
	var ajaxbloc_#GET{ajaxid} = function() {
		jQuery('div#[(#GET{ajaxid})]')
		.prepend('<div><input type=\'hidden\' name=\'var_ajax_env\' value=\'#GET{env}\' />'
		+'<input type=\'hidden\' name=\'var_ajax_cle\' value=\'#GET{cle}\' /><\/div>')
		.ajaxbloc();
	};
	jQuery('document').ready(ajaxbloc_#GET{ajaxid});
	onAjaxLoad(ajaxbloc_#GET{ajaxid});
}
/*#EVAL{chr(93)}#EVAL{chr(93)}>*/</script>
[
<div class='ajaxbloc[ env-(#GET{env})][ cle-(#GET{cle})]'>
(#INCLURE{fond=#ENV*{fond_ajax}}{env})
</div><!-- ajaxbloc -->
]
+28 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<?php

/***************************************************************************\
 *  SPIP, Systeme de publication pour l'internet                           *
 *                                                                         *
 *  Copyright (c) 2001-2008                                                *
 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
 *                                                                         *
 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
\***************************************************************************/


if (!defined("_ECRIRE_INC_VERSION")) return;

/* filtre necessaire pour que la pagination ajax ne soit pas plantee
 * si on charge la page &debut_x=1 : car alors en cliquant sur l'item 0,
 * le debut_x=0 n'existe pas, et on resterait sur 1
 */
function supprimer_debuts($env) {
	$env = unserialize($env);
	foreach ($env as $k => $v)
		if (strpos($k,'debut_') === 0)
			unset($env[$k]);
	return serialize($env);
}

?>
 No newline at end of file
+5 −15
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
[#SET{ajaxid,ids#EVAL{'include_spip("inc/acces")?substr(md5(creer_uniqid()),0,8):""'}}
<div id='#GET{ajaxid}'>(#INCLURE{fond=#ENV*{fond_ajax}}{env})</div>
[(#REM) calculer l'env et la cle pour le contexte du traitement ajax]
#SET{env,#ENV**|base64_encode}
#SET{cle,#EVAL{#VAL{'include_spip("inc/securiser_action")?calculer_cle_action("'}|concat{#GET{env},'"):""'}}}
<script type='text/javascript'>/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/
if (window.jQuery) {
	var ajaxbloc_#GET{ajaxid} = function() {
		jQuery('div#[(#GET{ajaxid})]')
		.prepend('<div><input type=\'hidden\' name=\'var_ajax_env\' value=\'#GET{env}\' />'
		+'<input type=\'hidden\' name=\'var_ajax_cle\' value=\'#GET{cle}\' /><\/div>')
		.ajaxbloc();
	};
	jQuery('document').ready(ajaxbloc_#GET{ajaxid});
	onAjaxLoad(ajaxbloc_#GET{ajaxid});
}
/*#EVAL{chr(93)}#EVAL{chr(93)}>*/</script>
[
<div class='ajaxbloc[ env-(#GET{env})][ cle-(#GET{cle})]'>
(#INCLURE{fond=#ENV*{fond_ajax}}{env})
</div><!-- ajaxbloc -->
]

dist/formulaires/formulaire_.html

supprimé100644 → 0
+0 −13
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<div id='#ENV{ajaxid}'>
<INCLURE{fond=formulaires/#ENV{form}}{env}>
</div>
<script type='text/javascript'>/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/
if (window.jQuery) {
	var ajaxform_#ENV{ajaxid} = function() {
		jQuery('##ENV{ajaxid}',this).formulaire_dyn_ajax();
	};
	jQuery('document')
	.ready(ajaxform_#ENV{ajaxid});
	onAjaxLoad(ajaxform_#ENV{ajaxid});
}
/*#EVAL{chr(93)}#EVAL{chr(93)}>*/</script>
Chargement en cours