formulaire_traiter

Ce pipeline est appelé dans ecrire/public/aiguiller.php après les traitements d’un formulaire CVT. Il permet de compléter le tableau de réponse ou d’effectuer des traitements supplémentaires.

Il reçoit les mêmes arguments que les pipelines formulaire_charger ou formulaire_verifier. Il retourne le tableau d’informations résultant du traitement (message d’erreur, de réussite, redirection, formulaire éditable de nouveau...).

$rev = pipeline(
	'formulaire_traiter',
	array(
		'args' => array('form'=>$form, 'args'=>$args),
		'data' => $rev)
);

Exemple

Le plugin « Licence » qui offre la possibilité d’attribuer une licence d’utilisation aux articles l’utilise pour enregistrer la valeur de la licence par défaut enregistrée dans la configuration, au moment de la création d’un nouvel article :

function licence_formulaire_traiter($flux){
	// si creation d'un nouvel article lui attribuer la licence par defaut de la config
	if ($flux['args']['form'] == 'editer_article' AND $flux['args']['args'][0] == 'new') {
		$id_article = $flux['data']['id_article'];
		$licence_defaut = lire_config('licence/licence_defaut');
		sql_updateq('spip_articles', array('id_licence' => $licence_defaut), 'id_article=' . intval($id_article));
	}
	return $flux;
}

Note : Il est plus pertinent d’utiliser le pipeline pre_insertion dans cet exemple précis (et c’est d’ailleurs ce que fait le plugin à partir de SPIP 3).

Auteur Matthieu Marcillaud Publié le : Mis à jour : 12/03/23

Traductions : English, français