MOD cleanage du code
[euphorik.git] / modules / erl / euphorik_minichat_conversation.erl
index 9015fec..8cddd03 100755 (executable)
@@ -17,7 +17,7 @@
 -include_lib("stdlib/include/qlc.hrl").
 
 -import(lists, [reverse/1, any/2, map/2, sublist/3, filter/2]).
--import(euphorik_minichat, [resultat_transaction/1]).
+-import(euphorik_bd, [resultat_transaction/1]).
 -import(qlc, [e/1, q/1, keysort/3]).
 -import(mnesia, [table/1, transaction/1]).
   
@@ -27,7 +27,7 @@
 % Message est le message de type #minichat et Parents une liste d'Id.
 % Plus est un bool. Si Plus vaut true alors il y a encore des messages.
 % Si il n'y a pas de nouveaux message alors la fonction est bloquante et attend un nouveau message.
-% @spec conversations([{integer(), integer()}], integer(), integer(), integer()) -> [Conversation()]
+% @spec conversations([{integer(), integer(), integer()}], integer(), integer(), integer()) -> [Conversation()]
 conversations(Racines, N, D, P) ->
    % écoute des nouveaux messages
    case subscribe(minichat, 2) of
@@ -115,7 +115,7 @@ mise_en_forme_conversations([{Principale, Plus_principale} | Conversations]) ->
 mise_en_forme_conversation(Messages) ->
    lists:foldr(
       fun(Id, Acc) ->
-         case euphorik_minichat:message_by_id(Id) of
+         case euphorik_bd:message_by_id(Id) of
             {ok, Message} ->
                [{Message, parents(Id)} | Acc];
             _ ->
@@ -132,7 +132,7 @@ mise_en_forme_conversation(Messages) ->
 % Racines est une liste de tuple {Id, P} des racines des conversations ou P est la page et Id l'id du message.
 % @spec conversations_detailees([{integer(), integer()}], integer(), integer(), integer()) -> [[integer()] | Conversation_detailee()]
 conversations_detailees(Racines, N, D, P) ->   
-   Conversations = map(fun({Racine, P_conv}) -> conversation(Racine, N, D, P_conv) end, Racines),
+   Conversations = map(fun({Racine, P_conv, Dernier}) -> conversation(Racine, N, Dernier, P_conv) end, Racines),
    Conversation_principale = resultat_transaction(transaction(fun() ->
       Curseur = qlc:cursor(q([E#minichat.id || E <- qlc:sort(table(minichat), [{order, descending}])])),
       {CP, Plus} = conversation_principale(Curseur, Conversations, N, P),
@@ -202,10 +202,10 @@ conversation(R, N, D, P) ->
       if Decalage > length(C) ->
             [];
          true ->
-            reverse(filter(
+            filter(
                fun(E) -> E > D end,
-               sublist(C, Decalage, N)
-            ))
+               reverse(sublist(C, Decalage, N))
+            )
       end,
       reverse(X),
       Decalage + N - 1 < length(C)