ADD fin de la page admin
[euphorik.git] / modules / erl / euphorik_bd.erl
index be43e59..9de83fb 100755 (executable)
@@ -54,7 +54,6 @@
    % trolls :
    trolls/0,
    trolls/1,
-   trolls_attente/1,
    put_troll/2,
    mod_troll/2,
    del_troll/1,
@@ -388,7 +387,7 @@ nouveau_message(Mess, Auteur_id, Repond_A) ->
             % est-ce que l'auteur à trop floodé ?
             if Auteur#user.indice_flood =/= ?INDICE_SPAM_MAX, Auteur_maj#user.indice_flood =:= ?INDICE_SPAM_MAX, Delta =< ?DUREE_BLOCAGE_SPAM ->
                mnesia:write(Auteur#user{indice_flood = Auteur_maj#user.indice_flood}),
-               nouveau_message_sys(Auteur#user.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.");
+               nouveau_message_sys("''" ++ Auteur#user.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.");
             Auteur#user.indice_flood =:= ?INDICE_SPAM_MAX, Delta =< ?DUREE_BLOCAGE_SPAM ->
                {erreur, "Bloqué pour cause de flood"};
             true ->     
@@ -655,58 +654,11 @@ trolls() ->
 % Renvoie les trolls manquants posté après Last_id.
 trolls(Last_id) ->
    resultat_transaction(mnesia:transaction(
-      e(q([T || T <- qlc:keysort(2, mnesia:table(troll)), T#troll.id > Last_id, T#troll.date_post =:= undefined]))
+      fun() ->
+         e(q([T || T <- qlc:keysort(2, mnesia:table(troll)), T#troll.id > Last_id, T#troll.date_post =:= undefined]))
+      end
    )).
    
-   
-% Renvoie les trolls manquants posté après Last_id.
-% Si pas de trolls alors attend un événement tel qu'un ajout, une modification ou une suppression.
-% renvoie :
-%  {mod, Troll}
-% ou {add, [Trolls]}
-% ou {del, Troll_id}
-% ou timeout
-trolls_attente(Last_id) ->
-   case mnesia:subscribe({table, troll, detailed}) of
-      {error, E} = E ->
-         E;
-      _ ->
-         R = case resultat_transaction(mnesia:transaction(
-               fun() ->
-                  e(q([T || T <- qlc:keysort(2, mnesia:table(troll)), T#troll.id > Last_id, T#troll.date_post =:= undefined]))
-               end
-            )) of
-               [] -> % pas de trolls
-                  attend_evenement_troll();
-               Trolls ->
-                  {add, Trolls}
-         end,
-         mnesia:unsubscribe({table, troll, detailed}),
-         R
-   end.
-   
-attend_evenement_troll() ->
-   % s'il n'y a pas de trolls que l'utilisateur n'a pas connaissance alors on attend un événement
-   receive
-      % cas où un troll est choisit comme courant
-      {mnesia_table_event, {write, troll, Troll, [Old_troll | _], _}} when Old_troll#troll.date_post =:= undefined, Troll#troll.date_post =/= undefined ->
-         {del, Troll#troll.id};
-      {mnesia_table_event, {write, troll, Troll, [_Old_troll | _], _}} ->
-         {mod, Troll};
-      {mnesia_table_event, {write, troll, Troll, [], _}} ->
-         {add, [Troll]};
-      {mnesia_table_event, {delete, troll, {troll, Id}, _, _}} ->
-         {del, Id};
-      {tcp_closed, _} ->
-         exit(normal);
-      _ ->
-         attend_evenement_troll()
-   % 60 minutes de timeout (on ne sais jamais)
-   % Après 60 minutes de connexion, le client doit donc reétablir une connexion
-   after 1000 * 60 * 60 -> 
-      timeout
-   end.
-   
  
  % Renvoie l'id du nouveau troll
  % ou max_troll_reached_per_user si le nombre de troll posté par l'utilisateur max a été atteind