function mots_article_revision($ids, $colonnes, $type_objet) { return mots_objet_revision($ids, $colonnes, $type_objet, 'mots_article'); } function mots_objet_revision($ids, $colonnes, $type_objet, $champ = '') { if (!$champ) return false; list($id_objet, $id_groupe) = explode('-', $ids); list(, $type_liaison) = explode('_', $champ); // actuellement en bdd $old = valeur_champ_mots_objet($type_objet, $ids, $champ); // ceux qu'on veut maintenant $new = explode(',', $colonnes[$champ]); // les mots à supprimer $del = array_diff($old, $new); // les mots à ajouter $add = array_diff($new, $old); include_spip('action/editer_liens'); if ($del) { objet_dissocier(array('mot'=>$del), array($type_liaison => $id_objet)); } if ($add) { objet_associer(array('mot'=>$add), array($type_liaison => $id_objet)); } return true; }