Skip to content
Extraits de code Groupes Projets
Valider c5c8584a rédigé par cerdic's avatar cerdic
Parcourir les fichiers

"la propagation de var_ajax et var_ajax_env au redirect qui suit les actions...

"la propagation de var_ajax et var_ajax_env au redirect qui suit les actions est utilisee pour les liens ajax dans les inclusions ajax :
on peut ainsi faire
<INCLURE{fond=noisette}{ajax}>

et dans noisette.html
...
<a href='#URL_ACTION_AUTEUR{action,args,#SELF}' class='ajax'>actionner</a>
...

qui permettra de declencher l'action et de recharger le bloc concerne.
Ce montage est utilise pour les listes d'items avec bouton supprimer par exemple"
parent 1008e348
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -17,13 +17,33 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
function traiter_appels_actions(){
// cas de l'appel qui renvoie une redirection (302) ou rien (204)
if ($action = _request('action')) {
include_spip('base/abstract_sql'); // chargement systematique pour les actions
include_spip('inc/autoriser');
include_spip('inc/headers');
$url = _request('redirect');
// si l'action est provoque par un hit {ajax}
// il faut transmettre l'env ajax au redirect
// on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
if (($v=_request('var_ajax'))
AND ($v!=='form')
AND ($args = _request('var_ajax_env'))
AND ($url = _request('redirect'))){
$url = parametre_url($url,'var_ajax',$v,'&');
$url = parametre_url($url,'var_ajax_env',$args,'&');
set_request('redirect',$url);
}
$var_f = charger_fonction($action, 'action');
$var_f();
if (isset($GLOBALS['redirect'])
OR $GLOBALS['redirect'] = _request('redirect')) {
$url = urldecode($GLOBALS['redirect']);
// si l'action est provoque par un hit {ajax}
// il faut transmettre l'env ajax au redirect qui a pu etre defini par l'action
if (($v=_request('var_ajax'))
AND ($v!=='form')
AND ($args = _request('var_ajax_env'))) {
$url = parametre_url($url,'var_ajax',$v,'&');
$url = parametre_url($url,'var_ajax_env',$args,'&');
}
redirige_par_entete($GLOBALS['redirect']);
}
if (!headers_sent()
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter