Astuce fournie par Ladnet sur IRC
Voici une explication rapide de l’API révision de SPIP
Méthode
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)
Exemple
J’ai un formulaire CVT qui met à jour des recettes
// TRAITER
function formulaires_recette_edit_traiter_dist() {
$message_cvt = "(Aucun traitement)";
// recuperer donnees ...et construit une requette
$sql = array();
// .... vos traitements
$sql['titre'] = $titre;
$sql['ingredients'] = $ingredients;
if (sql_updateq("spip_recettes", $sql, "id_recette='$id_recette'"))
$message_cvt = "Recette mise à 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",
);
}