{conversations, {array, Conversations_json}}
]
) ->
- % est-ce que les messages auquel on répond existent ?
- Conversations = lists:foldr(
- fun({struct, [{root, Root}, {page, Page}]}, Acc) ->
- Message_existe = euphorik_bd:message_existe(Root),
- if Message_existe ->
- [{Root, Page} | Acc];
- true ->
- Acc
- end
+ % virage des messages qui n'existent pas
+ Conversations = lists:dropwhile(
+ fun(Message_id) ->
+ not euphorik_bd:message_existe(Message_id)
end,
- [],
Conversations_json
),
% TODO : pas très beau, mieux vaut construire un #user
if Strip_content =:= [] ->
erreur("Message vide");
true ->
- % TODO : non-atomique (update_pseudo+nouveau_message)
+ % attention : non-atomique (update_pseudo+nouveau_message)
euphorik_bd:update_pseudo_user(User#user.id, Nick),
case euphorik_bd:nouveau_message(Strip_content, User#user.id, Answer_to) of
{erreur, R} -> erreur("Impossible d'ajouter un nouveau message. Raison : " ++ R);
{nick_format, atom_to_list(User#user.nick_format)},
{view_times, User#user.view_times},
{view_tooltips, User#user.view_tooltips},
- {main_page, User#user.page_principale},
- {conversations,
- {array,
- lists:map(
- fun(C) ->
- {struct,
- [
- {root, element(1, C)},
- {page, element(2, C)}
- ]
- }
- end,
- User#user.conversations
- )
- }
- },
- {ek_master, User#user.ek_master}
+ {conversations, {array, User#user.conversations } },
+ {ek_master, User#user.ek_master}
]
}.