Gérer le statut forum 'original'
Lorsqu'on édite un forum, le statut 'original' ser(vai)t à marquer une copie de la version originale de ce forum, qui est créée pour mémoire en tant que réponse du forum édité.
C'est conserver_original()
qui fait cette copie ; c'est appelé par enregistre_et_modifie_forum
, mais enregistre_et_modifie_forum
n'est appelée nulle part dans SPIP.
Le seul appel de enregistre_et_modifie_forum
trouvé, c'est dans les vieux crayons. On voit en 2018 lors du passage en trunk (= "horizon" git) que c'est appelé pour les SPIP < 3, dans le cadre d'une compatibilité des crayons avec un maximum de versions de SPIP.
Et on voit que sinon, pour SPIP3+ (et hors cas particuliers des fonctions modeles qui, je crois, sont définis par l'utilisateur), c'est délégué à crayons_objet_modifier
, qui à son tour délègue à objet_modifier
qui
- charge
action/editer_forum
qui définitforum_inserer
etrevision_forum
mais pas la fonctionforum_modifier
attendue parobjet_modifier
qui ne peut donc être appelée et donc ça continue : - puis appelle
objet_modifier_champs
qui appelle plein de trucs.
DONC :
Au final il faudrait appeler enregistre_et_modifie_forum
quelque part, peut être dans revision_forum
puisque ça gère la modification d'un forum et notamment le cas du déplacement d'un forum avec les crayons.
Par ailleurs, il faudrait afficher ces forums au statut 'original'. Jadis, l'original des statuts édités était présenté avec un cadre vert comme on le voit ici en SPIP 1.9.2 par exemple. À un moment l'affichage des originaux a sauté mais les forums 'original' sont restés en BDD et à force on les a oublié et quelqu'un a viré le code obsolète des crayons.
Ou bien on poubellise proprement les forums 'original' ou la fonctionnalité... mais bon c'est une fonctionnalité utile de les garder pour référence, car modifier un forum c'est pas anodin.