X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_protocole.erl;h=c2342ca3c773824f78af9daec7f16262d05cf952;hb=eae50232e73fca26d6f631c8177cbea649e5036e;hp=dc29bf5d2f8f3e53af8aae28050738c1c7df9021;hpb=01922222ac686c2507052c0cc1d755495145d154;p=euphorik.git diff --git a/modules/erl/euphorik_protocole.erl b/modules/erl/euphorik_protocole.erl index dc29bf5..c2342ca 100755 --- a/modules/erl/euphorik_protocole.erl +++ b/modules/erl/euphorik_protocole.erl @@ -12,6 +12,7 @@ wait_event/1, put_message/1, ban/1, + slap/1, erreur/1 ]). @@ -230,7 +231,11 @@ format_minutes(Min) -> Minutes = Min rem (60), if Jours =/= 0 -> integer_to_list(Jours) ++ "Jour" ++ if Jours > 1 -> "s"; true -> "" end ++ " "; true -> "" end ++ if Heures =/= 0 -> integer_to_list(Heures) ++ "h"; true -> "" end ++ - lists:flatten(io_lib:format(if Jours =:= 0, Heures =:= 0 -> "~w"; true -> "~2.2.0w" end, [Minutes])) ++ "min". + if Minutes == 0 -> + ""; + true -> + lists:flatten(io_lib:format(if Jours =:= 0, Heures =:= 0 -> "~w"; true -> "~2.2.0w" end, [Minutes])) ++ "min" + end. % bannissement d'un utilisateur (son ip est bannie) @@ -267,6 +272,36 @@ ban( end. +% slapage d'un user (avertissement) +slap( + [ + {cookie, Cookie}, + {user_id, User_id} + ]) -> + % controle que l'utilisateur est un admin + case euphorik_bd:user_by_cookie(Cookie) of + {ok, User1 = #user{ek_master = true}} -> + case euphorik_bd:user_by_id(User_id) of + {ok, User1} -> + euphorik_bd:nouveau_message_sys(lists:flatten(io_lib:format("~s s'auto slap (et il aime ça)", [User1#user.pseudo]))); + {ok, User2 = #user{ek_master = false}} -> + euphorik_bd:nouveau_message_sys(lists:flatten(io_lib:format("~s se fait slaper par ~s", + [ + User2#user.pseudo, + User1#user.pseudo + ] + ))), + json_reponse_ok(); + {ok, _} -> + erreur("L'utilisateur est lui même un ekMaster"); + _ -> + erreur("Utilisateur à slaper inconnu") + end; + _ -> + erreur("Utilisateur inconnu ou non ek master") + end. + + % Construit une erreur erreur(Message) -> {