ADD le slap
[euphorik.git] / modules / erl / euphorik_protocole.erl
index dc29bf5..c2342ca 100755 (executable)
@@ -12,6 +12,7 @@
    wait_event/1,
    put_message/1,
    ban/1,
+   slap/1,
    erreur/1
 ]).\r
 
@@ -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) ->
    {