From: Greg Burri Date: Fri, 2 May 2008 20:28:31 +0000 (+0000) Subject: FIX petit bug de merde qui faisait bien chier sa race X-Git-Tag: 1.0.0^2~121 X-Git-Url: http://git.euphorik.ch/index.cgi?a=commitdiff_plain;h=6fab12088e85e62ef34a312c3f3a33f9636bbc97;p=euphorik.git FIX petit bug de merde qui faisait bien chier sa race --- diff --git a/js/pageMinichat.js b/js/pageMinichat.js index e8d607a..a6ba5a6 100755 --- a/js/pageMinichat.js +++ b/js/pageMinichat.js @@ -805,7 +805,8 @@ Messages.prototype.rafraichirMessages = function(vider) // ajoute les messages reçu à leur conversation respective for (var numConv = 0; numConv < data["conversations"].length; numConv++) { - //PLOP if (data["conversations"][numConv]["messages"].length == 0) continue + // ya pas de nouveaux message -> on passe à la prochaine conversation + if (data["conversations"][numConv]["messages"].length == 0) continue thisMessages.ajouterMessages(data["conversations"][numConv], numConv) diff --git a/modules/erl/euphorik_minichat_conversation.erl b/modules/erl/euphorik_minichat_conversation.erl index eb154ee..9015fec 100755 --- a/modules/erl/euphorik_minichat_conversation.erl +++ b/modules/erl/euphorik_minichat_conversation.erl @@ -13,8 +13,6 @@ conversations/4 ]). --compile(export_all). - -include("euphorik_bd.hrl"). -include_lib("stdlib/include/qlc.hrl"). @@ -198,7 +196,7 @@ conversation_principale2(C, Messages, N, S) -> % @spec conversation([integer()], integer(), integer(), integer()) -> Conversation_detailee() conversation(R, N, D, P) -> {C, X} = conversation([], [R], []), - Decalage = N*(P-1)+1, + Decalage = N * (P - 1) + 1, { reverse(C), if Decalage > length(C) -> @@ -220,13 +218,13 @@ conversation(R, N, D, P) -> conversation(Messages, [M | Reste], X) -> Est_deja_traite = any(fun(E) -> E =:= M end, Messages), if Est_deja_traite -> - conversation(Messages, Reste, X); - true -> - Enfants = enfants(M), - Parents = parents(M), - % un message est dit externe si un de ses parent ne fait pas partie de la conversation ou si un de ses parents fait partie de X - Est_message_externe = Parents -- Messages =/= [] orelse intersection(Parents, X) =/= [], - conversation([M | Messages], Reste ++ Enfants, if Est_message_externe -> [M | X]; true -> X end) + conversation(Messages, Reste, X); + true -> + Enfants = enfants(M), + Parents = parents(M), + % un message est dit externe si un de ses parent ne fait pas partie de la conversation ou si un de ses parents fait partie de X + Est_message_externe = Parents -- Messages =/= [] orelse intersection(Parents, X) =/= [], + conversation([M | Messages], lists:merge(Reste, Enfants), if Est_message_externe -> [M | X]; true -> X end) end; conversation(Messages, [], X) -> {Messages, X}.