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"
id="tspan2569"
x="575.31531"
y="608.81085">Utilise</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#7a7a7a;stroke-width:0.622;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 412.81223,584.5762 L 484.61011,578.95139"
+ id="path2474"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g3551"
+ inkscape:connection-end="#g3472" />
</g>
</svg>
{erreur, "Un ou plusieurs messages introuvable"};\r
true ->\r
% comparaison entre la date du dernier poste et maintenant (gestion du flood)\r
- Delta = delta_date_ms(Auteur#user.date_derniere_connexion, now()),\r
+ Delta = euphorik_common:delta_date_ms(Auteur#user.date_derniere_connexion, now()),\r
Nouvel_indice_flood = Auteur#user.indice_flood + if Delta =< ?DUREE_SPAM -> 2; true -> -1 end,\r
Auteur_maj = Auteur#user{\r
indice_flood = if Nouvel_indice_flood > ?INDICE_SPAM_MAX -> ?INDICE_SPAM_MAX; Nouvel_indice_flood < 0 -> 0; true -> Nouvel_indice_flood end,\r
e(qlc:keysort(1, q([\r
{\r
IP#ip_table.ip,\r
- delta_date_minute(date_plus_minutes(IP#ip_table.ban, IP#ip_table.ban_duration), Now),\r
+ euphorik_common:delta_date_minute(date_plus_minutes(IP#ip_table.ban, IP#ip_table.ban_duration), Now),\r
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}])\r
} ||\r
IP <- mnesia:table(ip_table),\r
if Echeance < Now -> % l'échéance est passée\r
false;\r
true ->\r
- {true, delta_date_minute(Echeance, Now)}\r
+ {true, euphorik_common:delta_date_minute(Echeance, Now)}\r
end;\r
_ ->\r
false\r
mnesia:write(#ip_table{ip = IP, date_last_try_register = now()}),\r
true;\r
[T] ->\r
- Delta = delta_date_ms(T#ip_table.date_last_try_register, now()),\r
+ Delta = euphorik_common:delta_date_ms(T#ip_table.date_last_try_register, now()),\r
if T#ip_table.nb_try_register =:= ?NB_MAX_FLOOD_REGISTER, Delta < ?TEMPS_BAN_FLOOD_REGISTER ->\r
false;\r
true ->\r
% Renvoie le résultat d'une transaction (en décomposant le tuple fournit)\r
resultat_transaction({_, T}) ->\r
T.\r
- \r
-\r
-% Retourne la difference entre deux timestamp (erlang:now()) en miliseconde\r
-delta_date_ms(D1, D2) ->\r
- 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).\r
-\r
-% Retourne la différence entre deux timestamp (erlang:now) en minutes\r
-delta_date_minute(D1, D2) ->\r
- trunc(delta_date_ms(D1, D2) / 1000 / 60).\r
\r
\r
% Renvoie un nouvel id pour une table donnée\r
% You should have received a copy of the GNU General Public License
% along with Euphorik. If not, see <http://www.gnu.org/licenses/>.
%
-% Module avec plein de bordel utile à l'intérieur
+% Module avec plein de bordel utile à l'intérieur.
% @author G.Burri
\r
Neg when Neg < 0 -> T;\r
Pos when Pos > 0 -> T + 1;\r
_ -> T\r
- end.
-
+ end.\r
+ \r
+\r
+% Retourne la difference entre deux timestamp (erlang:now()) en miliseconde\r
+delta_date_ms(D1, D2) ->\r
+ 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).\r
+\r
+\r
+% Retourne la différence entre deux timestamp (erlang:now) en minutes\r
+delta_date_minute(D1, D2) ->\r
+ trunc(delta_date_ms(D1, D2) / 1000 / 60).\r
+
serialize_ip(undefined) ->
"<unknown IP>";