FIX petit bug de merde qui faisait bien chier sa race
authorGreg Burri <greg.burri@gmail.com>
Fri, 2 May 2008 20:28:31 +0000 (20:28 +0000)
committerGreg Burri <greg.burri@gmail.com>
Fri, 2 May 2008 20:28:31 +0000 (20:28 +0000)
js/pageMinichat.js
modules/erl/euphorik_minichat_conversation.erl

index e8d607a..a6ba5a6 100755 (executable)
@@ -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)
                
index eb154ee..9015fec 100755 (executable)
@@ -13,8 +13,6 @@
    conversations/4\r
 ]).
 
--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}.