\r
-module(euphorik_bd).\r
-export([ \r
+ % texte :\r
+ get_texte/1,\r
+ get_texte/2,\r
+ \r
% users :\r
nouveau_user/2,\r
nouveau_user/4,\r
-include_lib("stdlib/include/qlc.hrl").\r
\r
\r
+get_texte(Id) ->\r
+ get_texte(Id, fr).\r
+\r
+\r
+% TODO : généraliser la langue\r
+get_texte(Id, _Lang = fr) ->\r
+ resultat_transaction(mnesia:transaction(fun() ->\r
+ case mnesia:read({texte, Id}) of\r
+ [#texte{fr = Texte}] -> Texte;\r
+ _ -> "Message " ++ integer_to_list(Id) ++ " unknown"\r
+ end\r
+ end)).\r
+\r
+\r
% Ajoute un nouveau user et le renvoie\r
nouveau_user(Cookie, Profile) ->\r
F = fun() ->\r
% est-ce que l'auteur à trop floodé ?\r
if Auteur#user.indice_flood =/= ?INDICE_SPAM_MAX, Auteur_maj#user.indice_flood =:= ?INDICE_SPAM_MAX, Delta =< ?DUREE_BLOCAGE_SPAM ->\r
mnesia:write(Auteur#user{indice_flood = Auteur_maj#user.indice_flood}),\r
- nouveau_message_sys("''" ++ Profile#profile.pseudo ++ if Auteur#user.login =/= [] -> " (" ++ Auteur#user.login ++ ")"; true -> "" end ++ "'' est bloqué pour " ++ integer_to_list(trunc(?DUREE_BLOCAGE_SPAM / 1000)) ++ " secondes pour cause de flood.");\r
+ nouveau_message_sys("\"" ++ Profile#profile.pseudo ++ if Auteur#user.login =/= [] -> " (" ++ Auteur#user.login ++ ")"; true -> "" end ++ "\" est bloqué pour " ++ integer_to_list(trunc(?DUREE_BLOCAGE_SPAM / 1000)) ++ " secondes pour cause de flood.");\r
Auteur#user.indice_flood =:= ?INDICE_SPAM_MAX, Delta =< ?DUREE_BLOCAGE_SPAM ->\r
{erreur, "Bloqué pour cause de flood"};\r
true -> \r
if T#ip_table.nb_try_register =:= ?NB_MAX_FLOOD_REGISTER, Delta < ?TEMPS_BAN_FLOOD_REGISTER ->\r
false;\r
true ->\r
- mnesia:write(#ip_table{\r
+ mnesia:write(T#ip_table{\r
ip = IP,\r
date_last_try_register = now(),\r
nb_try_register = T#ip_table.nb_try_register + if Delta < ?TEMPS_FLOOD_REGISTER -> 1; T#ip_table.nb_try_register > 0 -> -1; true -> 0 end\r