-export([\r
register/2,\r
login/2,\r
- logout/1,\r
profile/1,\r
wait_event/1,\r
put_message/1,\r
erreur("Authentification impossible par cookie")\r
end.\r
\r
+ \r
+% L'utilisateur donné se logge avec l'ip donnée.\r
loginUser(User, IP) ->\r
euphorik_bd:update_ip(User#user.id, IP),\r
euphorik_bd:update_date_derniere_connexion(User#user.id),\r
erlang:integer_to_list(random:uniform(math:pow(10, 32)), 36).\r
\r
\r
-% Un utilisateur se délogge.\r
-logout(_) ->\r
- do_nothing.\r
-\r
-\r
% Modification du profile.\r
profile(\r
[\r
case profile_from_json(Profile_json) of\r
{erreur, E} -> E;\r
Profile ->\r
- % TODO : pas très beau, mieux vaut construire un #user\r
case euphorik_bd:set_profile(Cookie, Login, Password, Profile) of\r
ok ->\r
json_reponse_ok();\r
end.\r
\r
\r
-% Renvoie les messages appropriés.\r
+% Attend un événement pour la page "Chat"\r
% last_message id et cookie sont facultatifs\r
wait_event([{page, "chat"} | Data]) ->\r
% traitement des inputs\r
mnesia:unsubscribe({table, troll, detailed}),\r
R\r
end;\r
+% Attend un événement pour la page "Admin"\r
wait_event([{page, "admin"}, {last_troll, Last_troll}]) ->\r
case wait_event_page_admin(Last_troll) of\r
banned_ips_refresh ->\r
erreur("Page inconnue").\r
\r
\r
+% Attend un événement pour la page "Chat" et renvoie soit un troll soit les messages manquants au client.\r
wait_event_page_chat(User, Racines_conversations, Message_count, Last_message_id, Main_page, Troll_id) ->\r
% est-ce que le troll est à jour ?\r
case euphorik_bd:current_troll() of\r