+\r
+% Renvoie le message formaté en JSON.\r
+% Mess est de type #minichat\r
+% Repond_a est une liste d'id des messages auquel répond Mess\r
+% User est l'utilisateur courant de type #user\r
+json_message(Mess, Repond_a, User) ->\r
+ Est_proprietaire = User =/= inconnu andalso User#user.id =:= Mess#minichat.auteur_id,\r
+ A_repondu_a_message = User =/= inconnu andalso euphorik_bd:a_repondu_a_message(User#user.id, Mess#minichat.id),\r
+ Est_une_reponse_a_user = User =/= inconnu andalso euphorik_bd:est_une_reponse_a_user(User#user.id, Mess#minichat.id),\r
+ {ok, #user{profile = Profile_mess} = User_mess } = euphorik_bd:user_by_id(Mess#minichat.auteur_id),\r
+ {struct, [\r
+ {"id", Mess#minichat.id},\r
+ {"user_id", User_mess#user.id},\r
+ {"date", case Mess#minichat.date of undefined -> "?"; _ -> format_date(Mess#minichat.date) end},\r
+ {"system", Mess#minichat.auteur_id =:= 0},\r
+ {"owner", Est_proprietaire},\r
+ {"answered", A_repondu_a_message},\r
+ {"is_a_reply", Est_une_reponse_a_user},\r
+ {"nick", Mess#minichat.pseudo},\r
+ {"login", User_mess#user.login},\r
+ {"content", Mess#minichat.contenu},\r
+ {"root", Mess#minichat.racine_id},\r
+ {"answer_to", {array, lists:map(\r
+ fun(Id_mess) ->\r
+ {ok, M} = euphorik_bd:message_by_id(Id_mess),\r
+ {ok, User_reponse} = euphorik_bd:user_by_mess(M#minichat.id),\r
+ {struct, [{"id", M#minichat.id}, {"nick", M#minichat.pseudo}, {"login", User_reponse#user.login}]}\r
+ end,\r
+ Repond_a\r
+ )}},\r
+ {"ek_master", User_mess#user.ek_master},\r
+ {"ostentatious_master", atom_to_list(Profile_mess#profile.ostentatious_master)}\r
+ ]}.\r