FSB / Fire-Soft-Board-2

Fire Soft Board (FSB) is an open source bulletin board software written in PHP5.
http://www.fire-soft-board.com/
16 stars 4 forks source link

[WIP] #104 : Dernier message edite == non lu #202

Closed Taluu closed 12 years ago

Taluu commented 12 years ago

Attention, c'est pas fini. Il y a quelques bugs..

Taluu commented 12 years ago

(Oui je fais mumuse avec git :-°)

Taluu commented 12 years ago

Okay j'ai trouvé pourquoi la mise en lu merde ; c'est à cause de la condition de la ligne 666 de main/forum/forum_topic.php (je crois que le numéro de ligne n'est pas un hasard :-°)...

En gros, y'a toujours cette référence à u_last_read dont je parlais dans #191, mais je ne sais toujours pas si je peux le jarter ou non. :/

.. Quelqu'un a une idée sur le sujet ?

Taluu commented 12 years ago

J'ai trouvé à quoi sert ce champ. En fait, il permet de déterminer quand un sujet est "trop vieux" pour être considéré comme non lu, et est donc automatiquement lu.

Je pense que ce champ ne sert à rien à part nous emmerder l'existence, car on peut très bien faire le calcul (vu que le process de prune de la table des topics lus n'est executée qu'une fois tous les x temps, ce qui n'est donc pas trop chiant de demander au serveur sql de calculer les dates périmées...)

De toutes manières, avant de faire la condition qui supprime donc les entrées qui ont un ttstamp inférieur à "dernière date de lecture - 3 mois", on normalise toutes les dates de dernière lecture des utilisateurs pour que la date minimum soit "maintenant - 3 mois"... Ce qui fait que les entrées supprimées sont celles ayant entre 3 et 6 mois d'ancienneté, selon la date de dernière lecture du membre.

Je pense qu'on aurait donc fort à gagner avec une décision arbitraire de supprimer "date de dernier message inférieur à y'a 6 mois". Des avis ?

Taluu commented 12 years ago

ping @Arcalys, @Grummfy ?

arcalys commented 12 years ago

En clair, le champ sert bien à nous embêter, comme on l'avait supposé auparavant... Je trouve d'ailleurs que c'est un peu bête de dire que si un sujet est vieux, il doit passer en lu. Un sujet non lu, c'est un sujet non lu... Si tu ne veux pas le lire, à toi de le marquer comme lu. Enfin peu importe...

Sinon oui, pour ce qui est de la suppression , je trouve plus logique de faire une suppression "maintenant - 6 mois".

Taluu commented 12 years ago

Dans ce cas j'essaye de m'en charger dans le courant de la semaine ou la semaine prochaine. Je ferai une autre pr par contre je pense.

arcalys commented 12 years ago

Donc dans l'état actuel des choses, ça ne le met jamais à jour ?

Taluu commented 12 years ago

Ben quand on lit un topic, si "la date de dernière lecture est supérieure à la date du dernier message lu du topic", non. Du coup, quand on édite le dernier message, le topic sera bien marqué en "non lu" (avec cette PR), mais à al nouvelle lecture du sujet, il ne sera jamais marqué comme "lu"...

arcalys commented 12 years ago

Un peu chiant ça :(

Taluu commented 12 years ago

Donc ouais la solution c'est de supprimer le comportement lié avec la fameuse colonne "u_last_read"... Comme ça n'a pas trop de rapport avec cette PR, je préfère faire le fixe dans une nouvelle PR. :)

arcalys commented 12 years ago

Pas de soucis, je merge déjà celle-ci ;)

Taluu commented 12 years ago

Je ne l'aurai pas mergée immédiatement mais OK. :D Car bon, là, si le dernier message est édité, le topic sera marqué en "non lu" (ce qui est recherché), mais il ne sera jamais marqué comme lu par la suite, tant que y'a pas un nouveau post...

arcalys commented 12 years ago

Je peux annuler les changements sinon...

Taluu commented 12 years ago

C'est toi qui vois. Au pire, fais une branche à part, et remets le master avant le merge...

arcalys commented 12 years ago

Je vais faire une branche pour ça :)

Taluu commented 12 years ago

(Done au fait, j'ai réussi à me démeler :D)