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

  [Opened] [HaveFnuBB] Tri des sujets

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

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


Follow me on twitter - HaveFnuBB! - Fork on GitHub : HaveFnuBB // Jelix // Huanui

  [Opened] [HaveFnuBB] Tri des sujets

Attendons la prochaine version alors smile

  [Opened] [HaveFnuBB] Tri des sujets

Litchi a dit :
Attendons la prochaine version alors smile

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


Manu

  [Opened] [HaveFnuBB] Tri des sujets

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

  [Opened] [HaveFnuBB] Tri des sujets

@manoo : je sais @litchi : gagné smile

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 smile


Follow me on twitter - HaveFnuBB! - Fork on GitHub : HaveFnuBB // Jelix // Huanui

  [Opened] [HaveFnuBB] Tri des sujets

1 . Hey hey grin

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

Salut,

Pour passer à hfn 1.4, il faut déjà qu'il soit terminé wink, 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

Litchi a dit :
1 . Hey hey grin

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 smile

<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


Follow me on twitter - HaveFnuBB! - Fork on GitHub : HaveFnuBB // Jelix // Huanui

  [Opened] [HaveFnuBB] Tri des sujets

Il me semblait te l'avoir déjà précisé wink

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. Parler de Jelix sur SmashingFeedMagazine >
  2. Parler de Jelix sur SmashingFeedMagazine >
  3. Re: Parler de Jelix sur SmashingFeedMagazine >
  4. Divers : PHP - Page 1 >
  5. Yii Framework >
  6. Vim tout en couleur ;) >
  7. Projets annexes - Page 1 >
  8. [HaveFnuBB] Tri des sujets