Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [HaveFnuBB] Tri des sujets

Posted by Vincentv on 06/21/2010 09:34

Salut,

Je voulais juste savoir s'il y avait un tri particulier sur les sujets. J'ai remarque que sur ce forum, les sujet n'était pas forcement triée par la date des derniers commentaire.

  [Opened] [HaveFnuBB] Tri des sujets

Reply #1 Posted by foxmask on 06/21/2010 22:26

oui c'est un bug qui est corrigé dans la prochaine version


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] [HaveFnuBB] Tri des sujets

Reply #2 Posted by Vincentv on 06/22/2010 13:29

Attendons la prochaine version alors :)

  [Opened] [HaveFnuBB] Tri des sujets

Reply #3 Posted by manooweb on 09/09/2010 11:47

Litchi a dit :
Attendons la prochaine version alors :)

@foxmask : il existe un haveFnuBB 1.3.6 maintenant ;-) pourrait-on en bénéficier sur jelix.org parce que les sujets sont un peu difficiles à suivre.


Manu

  [Opened] [HaveFnuBB] Tri des sujets

Reply #4 Posted by Vincentv on 09/09/2010 13:09

Il attend peut être la sorti en stable de jelix 1.2 pour nous mettre la toute dernière version de haveFnuBB :).

  [Opened] [HaveFnuBB] Tri des sujets

Reply #5 Posted by foxmask on 09/09/2010 14:33

@manoo : je sais @litchi : gagné :)

HaveFNuBB dans la version du trunk est deja sur la 1.2 beta de jelix et ce probleme est regle.

me reste un truc qui me met les neuronnes à l'envers à finir et ca sera bon pour une release 1.4 :)


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] [HaveFnuBB] Tri des sujets

Reply #6 Posted by Vincentv on 09/09/2010 22:10

1 . Hey hey :D

2 . C'est quoi le problème qui te retourne les neurones?

<hs>

Dans la 1.4, est ce que le pseudo indiqué dans le compte est utilisé dans le forum? actuellement, ici, c'est le login qui est utilisé :'(

</hs>

  [Opened] [HaveFnuBB] Tri des sujets

Reply #7 Posted by laurentj on 09/10/2010 18:14

Salut,

Pour passer à hfn 1.4, il faut déjà qu'il soit terminé ;-), mais aussi qu'on passe à jelix 1.2 sur le site (qui n'est pas encore sorti, mais ça ne saurait tarder). Et on en profitera pour virer phpdoc pour la documentation de référence et passer enfin à Rarangi (qui nécessite jelix 1.2), proche lui aussi d'une première petite release stable.

  [Opened] [HaveFnuBB] Tri des sujets

Reply #8 Posted by foxmask on 09/11/2010 15:06

Litchi a dit :
1 . Hey hey :D

2 . C'est quoi le problème qui te retourne les neurones?

un truc "con" : mémoriser qui a lu quoi, pour afficher un indicateur de "nouveau message", visible tant sur un forum, que sur la liste des threads. Tout cela avec la gestion de "marquer tous les messages comme lus/marquer tous les messages de CE forum comme lu". Là c'est buggé.

j'ai bien des moyens mais ca sent trop l'usine à gaz, alors je regarde comment font les autres mais ca me plait pas...

Vala :)

<hs>
Dans la 1.4, est ce que le pseudo indiqué dans le compte est utilisé dans le forum? actuellement, ici, c'est le login qui est utilisé :'(
</hs>

j'ai fait un ticket sur le sujet


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] [HaveFnuBB] Tri des sujets

Reply #9 Posted by laurentj on 09/11/2010 17:32

Il me semblait te l'avoir déjà précisé ;-)

Voici ce que j'ai fait dans un ancien forum:

  • Une table forum_vu : forum_id, user_id, date_vu
  • une table forum_message_vu: forum_id, user_id, discussion_id, date_vu

La table forum_message_vu contient toute les discussions (id des messages "racines" d'une discussion, ou id d'une discussion, je sais plus quelle est ta structure) que le user a lu. Donc à chaque fois qu'il va lire une discussion -> on y stocke l'id de la discussion et la date now() (ou on met à jour date_vu si il a déjà été voir cette discussion).

Pour éviter que cette table devienne trop chargée, on y fait le ménage quand le user clique sur "marquer tout comme lu", pour un forum donnée et le user donnée. Et à cette occasion, on marque la date de cette action dans la table forum_vu. On sait ainsi, avec ces deux tables, que le user a lu tout les messages antérieurs à la date indiqué dans forum_vu, et toutes les discussions indiquées dans forum_message_vu (qui ont été lue depuis le dernier clique sur "marquer tout comme lu").

Pour l'affichage maintenant. Pour faciliter les choses, il est important de stocker dans l'enregistrement de chaque discussion, la date du dernier message de la discussion.

Dans la liste des discussions dans un forum:

  • on récupère la date dans forum_vu (null si il n'a jamais cliqué sur "marquer tous comme lu") -> $last_date_tout_vu
  • la requete pour récupérer la liste des discussions devrait définir une jointure externe entre la table des discussions et forum_messages_vu (si le user est identifié bien sur). on récupère ainsi pour chaque discussion la date du dernier message $date_last_response et la date de la dernière fois que le user est aller lire la discussion $date_last_response_vu (null si il n'est jamais allé lire la discussion, puisque dans ce cas il n'y a pas d'enregistrement dans forum_message_vu

Pour afficher "nouveau", il suffit de vérifier que ($date_last_response < $last_date_tout_vu || $date_last_response_vu >= $date_last_response) soit faux.

Dans la liste des réponses, même principe.

  • on récupère la date dans forum_vu (null si il n'a jamais cliqué sur "marquer tous comme lu") -> $last_date_tout_vu
  • on récupère la date dans forum_message_vu (null si il n'a jamais lu la discussion) : $date_last_response_vu

Et ensuite, pour chaque réponse, on vérifie que ($date_response < $last_date_tout_vu || $date_last_response_vu >= $date_response) soit faux pour afficher "nouveau" en face de la réponse.

Pour optimiser tout ça, faut éviter d'utiliser les daos pour récupérer la liste des discussions et messages, mais faire des requêtes avec jointures etc.

 
Page
  1. [HaveFnuBB] Tri des sujets