Valider d463bc54 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

fix: Correction des ordres (_todo) adressées à SVP

On utilise encoder_contexte_ajax et decoder_contexte_ajax qui fonctionnent bien pour ça.

Refs: #4877
(cherry picked from commit ee6568ec)
parent 4938c44d
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+6 −4
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -144,8 +144,9 @@ function formulaires_admin_plugin_verifier_dist($voir = 'actif', $verrouille = '
			// verification des dependances
			include_spip('inc/svp_decider');
			svp_decider_verifier_actions_demandees($a_actionner, $erreurs);
			$todo = _request('_todo') ? unserialize(_request('_todo')) : array();
			$actions = _request('_decideur_actions') ? unserialize(_request('_decideur_actions')) : array();
			include_spip('inc/filtres');
			$todo = decoder_contexte_ajax(_request('_todo'), 'svp_todo') ?: [];
			$actions = _request('_libelles_actions') ?: [];
			// si c'est une action simple (hors suppression) sans rien a faire de plus que demande, on y go direct
			if (in_array('stop', $todo) or in_array('kill', $todo)) {
				if (in_array('stop', $todo)) {
@@ -202,7 +203,8 @@ function formulaires_admin_plugin_traiter_dist($voir = 'actif', $verrouille = 'n
		// Ajout de la liste des actions à l'actionneur
		// c'est lui qui va effectuer rellement les actions
		// lors de l'appel de action/actionner
		$actions = unserialize(_request('_todo'));
		include_spip('inc/filtres');
		$actions = decoder_contexte_ajax(_request('_todo'), 'svp_todo');
		include_spip('inc/svp_actionner');
		svp_actionner_traiter_actions_demandees($actions, $retour, $redirect);
	}
+3 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -127,7 +127,8 @@ function formulaires_charger_plugin_traiter_dist() {
		// Ajout de la liste des actions à l'actionneur
		// c'est lui qui va effectuer rellement les actions
		// lors de l'appel de action/actionner
		$actions = unserialize(_request('_todo'));
		include_spip('inc/filtres');
		$actions = decoder_contexte_ajax(_request('_todo'), 'svp_todo') ?: [];
		include_spip('inc/svp_actionner');
		// si toutes les actions sont des téléchargements (pas d'activation), on reste sur cette page
		$redirect = null;
+2 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -1275,7 +1275,8 @@ function svp_decider_verifier_actions_demandees($a_actionner, &$erreurs) {
	foreach ($decideur->todo as $_todo) {
		$todo[$_todo['i']] = $_todo['todo'];
	}
	set_request('_todo', serialize($todo));
	include_spip('inc/filtres');
	set_request('_todo', encoder_contexte_ajax($todo, 'svp_todo'));

	return true;
}