Version 3 — Mai 2014 — erational
Astuce fournie par Ladnet sur IRC
Voici une explication rapide de l’API révision de SPIP
Après avoir mis à jour votre objet SPIP via un sql_updateq, vous pouvez intégrer ces mises à jour dans les révisions de l’objet
include_spip('inc/modifier');
revision_objet('nom_objet', $id_objet, $sql_upd);
Important : il faut que le suivi de révisions soit activé sur l’objet (à gérer dans le menu configuration de votre site)
J’ai un formulaire CVT qui met à jour des recettes
// TRAITER
function formulaires_recette_edit_traiter_dist formulaires_porteur_edit_projet_traiter_dist () {
$message_cvt = "(Aucun traitement)";
// recuperer donnees ...et construit une requette
$sql = array();
// .... vos traitements
$sql['titre'] = $titre;
$sql['ingredients'] = $ingredients $ingrediants ;
if (sql_updateq("spip_recettes", $sql, "id_recette='$id_recette'"))
$message_cvt = "Recette mise Campagne de dons mis à jour avec succès";
// bonus: on ajoute aux suivis de revision
include_spip('inc/modifier');
revision_objet('recette', $id_recette, $sql);
// message
return array(
"editable" => true,
"message_ok" => "$message_cvt",
);
}