Ce pipeline permet d’agir lors de l’édition d’un élément éditorial, lorsque l’utilisateur édite les champs ou change le statut de l’objet. Il est appelé juste après l’enregistrement des données.
Plusieurs informations sont transmises dans un tableau comportant 2 clés :
-
datacontient les champs et leurs valeurs. -
argscontient des informations sur la table, l’objet édité, et l’action effectuée.
Voici une liste d’actions effectuées dans le core :
- controler : contrôler les contenus postés d’un objet, cf.
controler_contenu()dans ecrire/inc/editer - modifier : modifier le contenu d’un objet, cf.
objet_modifier_champs()dans ecrire/inc/modifier.php - instituer : changer le statut d’un objet, cf.
objet_instituer()dans ecrire/action/editer_objet.php - copie_locale : créer au besoin la copie locale d’un fichier distant, cf.
copie_localedans ecrire/inc/distant.php
Exemple d’appel dans objet_modifier_champs() :
pipeline('post_edition',
array(
'args' => array(
'table' => $spip_table_objet,
'table_objet' => $table_objet,
'spip_table_objet' => $spip_table_objet,
'type' => $objet,
'id_objet' => $id_objet,
'champs' => isset($options['champs']) ? $options['champs'] : array(), // [doc] kesako ?
'champs_anciens' => $row,
'serveur' => $serveur,
'action' => isset($options['action']) ? $options['action'] : 'modifier'
),
'data' => $champs
)
);
D’autres actions transitent par le pipeline post_edition. Par exemple :
– sur les documents : tourner, delier_document, supprimer_document, ajouter_document
– sur les sites syndiqués : syndiquer
– ...