% \r
% Ce module est fait pour répondre à des requêtes 'AJAX'.\r
% Il est définit comme 'appmods' pour l'url "request" dans yaws.\r
-% Par exemple http://www.euphorik.ch/request abouti sur la fonction out() de ce module.\r
+% Par exemple http://www.euphorik.ch/request abouti sur la fonction out/1 de ce module.\r
% @author G.Burri\r
\r
\r
-module(euphorik_requests).\r
-export([out/1, traiter_donnees/2]).\r
--include_lib("xmerl/include/xmerl.hrl").\r
-include_lib("yaws/include/yaws_api.hrl").\r
-include("../include/euphorik_defines.hrl").\r
\r
\r
+% Point d'entrée pour les requêtes AJAX sur http://www.euphorik.ch/request.\r
out(A) ->\r
- %io:format("~p~n", [A]), % utilisé parfois pendant le debug\r
IP = case inet:peername(A#arg.clisock) of\r
{ok, {Adresse, _Port}} -> Adresse;\r
_ -> inconnue\r
inet:setopts(A#arg.clisock, [{active, true}, {keepalive, true}]),\r
{value, {_, Contenu}} = lists:keysearch("action", 1, yaws_api:parse_post(A)),\r
Ret = traiter_donnees(Contenu, IP),\r
- %io:format("~p~n", [Ret]),\r
{content, "application/json", Ret}.\r
\r
\r
% authentification d'un client\r
traiter_action("authentification", JSON, IP) ->\r
euphorik_protocole:login(JSON, IP);\r
-% un client s'enregistre (pseudo + password)\r
+% un client s'enregistre : (pseudo + password) ou de manière anonyme\r
traiter_action("register", JSON, IP) ->\r
euphorik_protocole:register(JSON, IP);\r
% modification du profile\r
% un utilisateur envoie un message\r
traiter_action("put_message", JSON, _) ->\r
euphorik_protocole:put_message(JSON);\r
+% un ekMaster bannie un utilisateur (ip)\r
traiter_action("ban", JSON, _) ->\r
euphorik_protocole:ban(JSON);\r
+% un ekMaster slap un utilisateur\r
traiter_action("slap", JSON, _) ->\r
euphorik_protocole:slap(JSON);\r
+% un ekMaster envoie un nouveau troll\r
traiter_action("put_troll", JSON, _) ->\r
euphorik_protocole:put_troll(JSON);\r
+% un ekMaster modifie un troll\r
traiter_action("mod_troll", JSON, _) ->\r
euphorik_protocole:mod_troll(JSON);\r
+% un ekMaster supprime un troll\r
traiter_action("del_troll", JSON, _) ->\r
euphorik_protocole:del_troll(JSON);\r
+% un ekMaster demande la liste des ips bannies\r
traiter_action("list_banned_ips", JSON, _) ->\r
euphorik_protocole:list_banned_ips(JSON);\r
+% un ekMaster débannie une ip\r
traiter_action("unban", JSON, _) ->\r
euphorik_protocole:unban_ip(JSON).\r
\ No newline at end of file