From: Greg Burri Date: Tue, 29 Jul 2008 12:10:26 +0000 (+0000) Subject: Déplacement de fonction dans euphorik_common.erl X-Git-Tag: 1.1.0~29 X-Git-Url: http://git.euphorik.ch/index.cgi?a=commitdiff_plain;h=bd9caeefe3cfc9b4194c31052b0ddd4da26f604c;p=euphorik.git Déplacement de fonction dans euphorik_common.erl --- diff --git a/doc/architecture_serveur.svg b/doc/architecture_serveur.svg index 67c1d55..7051db2 100644 --- a/doc/architecture_serveur.svg +++ b/doc/architecture_serveur.svg @@ -59,7 +59,7 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.4" - inkscape:cx="327.96873" + inkscape:cx="198.32587" inkscape:cy="545.33419" inkscape:document-units="px" inkscape:current-layer="layer1" @@ -440,5 +440,12 @@ id="tspan2569" x="575.31531" y="608.81085">Utilise + diff --git a/modules/erl/euphorik_bd.erl b/modules/erl/euphorik_bd.erl index cad8183..921bac5 100755 --- a/modules/erl/euphorik_bd.erl +++ b/modules/erl/euphorik_bd.erl @@ -285,7 +285,7 @@ nouveau_message(Mess, Auteur_id, Repond_A_ids) -> {erreur, "Un ou plusieurs messages introuvable"}; true -> % comparaison entre la date du dernier poste et maintenant (gestion du flood) - Delta = delta_date_ms(Auteur#user.date_derniere_connexion, now()), + Delta = euphorik_common:delta_date_ms(Auteur#user.date_derniere_connexion, now()), Nouvel_indice_flood = Auteur#user.indice_flood + if Delta =< ?DUREE_SPAM -> 2; true -> -1 end, Auteur_maj = Auteur#user{ indice_flood = if Nouvel_indice_flood > ?INDICE_SPAM_MAX -> ?INDICE_SPAM_MAX; Nouvel_indice_flood < 0 -> 0; true -> Nouvel_indice_flood end, @@ -554,7 +554,7 @@ list_ban() -> e(qlc:keysort(1, q([ { IP#ip_table.ip, - delta_date_minute(date_plus_minutes(IP#ip_table.ban, IP#ip_table.ban_duration), Now), + euphorik_common:delta_date_minute(date_plus_minutes(IP#ip_table.ban, IP#ip_table.ban_duration), Now), e(q([{Profile#profile.pseudo, U#user.login} || #user{profile = Profile} = U <- mnesia:table(user), U#user.last_ip =:= IP#ip_table.ip]), [{tmpdir, ?KEY_SORT_TEMP_DIR}]) } || IP <- mnesia:table(ip_table), @@ -601,7 +601,7 @@ est_banni(User_id) -> if Echeance < Now -> % l'échéance est passée false; true -> - {true, delta_date_minute(Echeance, Now)} + {true, euphorik_common:delta_date_minute(Echeance, Now)} end; _ -> false @@ -630,7 +630,7 @@ can_register(IP) -> mnesia:write(#ip_table{ip = IP, date_last_try_register = now()}), true; [T] -> - Delta = delta_date_ms(T#ip_table.date_last_try_register, now()), + Delta = euphorik_common:delta_date_ms(T#ip_table.date_last_try_register, now()), if T#ip_table.nb_try_register =:= ?NB_MAX_FLOOD_REGISTER, Delta < ?TEMPS_BAN_FLOOD_REGISTER -> false; true -> @@ -798,15 +798,6 @@ message_id_associe(Troll_id) -> % Renvoie le résultat d'une transaction (en décomposant le tuple fournit) resultat_transaction({_, T}) -> T. - - -% Retourne la difference entre deux timestamp (erlang:now()) en miliseconde -delta_date_ms(D1, D2) -> - 1000000000 * abs(element(1, D1) - element(1, D2)) + 1000 * abs(element(2, D1) - element(2, D2)) + trunc(abs(element(3, D1) - element(3, D2)) / 1000). - -% Retourne la différence entre deux timestamp (erlang:now) en minutes -delta_date_minute(D1, D2) -> - trunc(delta_date_ms(D1, D2) / 1000 / 60). % Renvoie un nouvel id pour une table donnée diff --git a/modules/erl/euphorik_common.erl b/modules/erl/euphorik_common.erl index e91eff6..ff251d7 100644 --- a/modules/erl/euphorik_common.erl +++ b/modules/erl/euphorik_common.erl @@ -16,7 +16,7 @@ % You should have received a copy of the GNU General Public License % along with Euphorik. If not, see . % -% Module avec plein de bordel utile à l'intérieur +% Module avec plein de bordel utile à l'intérieur. % @author G.Burri @@ -37,8 +37,18 @@ ceiling(X) -> Neg when Neg < 0 -> T; Pos when Pos > 0 -> T + 1; _ -> T - end. - + end. + + +% Retourne la difference entre deux timestamp (erlang:now()) en miliseconde +delta_date_ms(D1, D2) -> + 1000000000 * abs(element(1, D1) - element(1, D2)) + 1000 * abs(element(2, D1) - element(2, D2)) + trunc(abs(element(3, D1) - element(3, D2)) / 1000). + + +% Retourne la différence entre deux timestamp (erlang:now) en minutes +delta_date_minute(D1, D2) -> + trunc(delta_date_ms(D1, D2) / 1000 / 60). + serialize_ip(undefined) -> "";