Toujours vérifier/forcer la cohérence des objet+id_objet quand on répond dans un fil existant
Actuellement quand il y a un $set qui contient objet ou id_objet, ça les met sans rien vérifier : https://git.spip.net/spip/forum/src/branch/master/action/editer_forum.php#L37 Or si c'est pour un nouveau thread ok, mais si on répond à un message existant, et bien ce message est DEJA dans un objet + id_objet précis, et la réponse ne devrait pas pouvoir être ailleurs. Dit inversement, la réponse à un message précis doit, il me semble, toujours être dans le même contenu SPIP que ce à quoi on répond ! C'est possiblement le cas avec des mouvements comme ce que fait Comments (mais ça peut être d'autres), où un même #FORMULAIRE_FORUM déjà existant dans la page, est déplacé ailleurs, avec UN AUTRE "id_forum" à répondre que celui de départ. Et ce changement de "id_forum" dynamique fonctionne, ça prend bien le bon. Sauf que ce "id_forum" peut parfaitement être un message d'un autre contenu ailleurs. Actuellement du coup le plugin Forum enregistre un truc totalement farfelu, avec une réponse qui répond bien au bon "id_forum" MAIS qui est dans un autre objet + id_objet (celui venant de l'appel de départ de #FORMUALAIRE_FORUM), plutôt que celui du "id_forum" à qui on répond. Conclusion : dans l'action, on doit laisser le $set des objet/id_objet quand ils existent *seulement si* c'est pour un nouveau thread, mais si c'est pour une réponse, on devrait *totalement forcer* objet + id_objet en prenant toujours ceux du parent !
issue

Forge communautaire SPIP | Charte d'utilisation | Signaler un problème sur ce site