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;
}

Notes :

  • la fonction PHP lire_config() appartient au plugin de configuration « CFG ».
  • en SPIP 2.1, il serait plus pertinent d’utiliser le pipeline pre_insertion pour ce cet exemple précis.

Auteur Matthieu Marcillaud Publié le : Mis à jour : 17/05/10

Traductions : English, français