X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_bd.erl;h=2b18d5b24cb38ba87fd5791dfee231768d9f25ff;hb=90a93ff3caa0639b4e0f96d0c485933ae80ede2f;hp=6eaea54799fe097871126da45bddc19468437af4;hpb=016c2536b3d43dee91de0d13b597ad5525dc9214;p=euphorik.git diff --git a/modules/erl/euphorik_bd.erl b/modules/erl/euphorik_bd.erl index 6eaea54..2b18d5b 100755 --- a/modules/erl/euphorik_bd.erl +++ b/modules/erl/euphorik_bd.erl @@ -57,7 +57,6 @@ messages/2, messages/3, message_by_id/1, - message_by_id_sans_transaction/1, messages_by_ids/1, message_existe/1, reponses/0, @@ -331,14 +330,16 @@ print_users() -> print_user(User) when is_record(User, user) -> - #user{id = Id, pseudo = Pseudo, login = Login, ek_master = Ek_master, date_derniere_connexion = Date} = User, + #user{id = Id, pseudo = Pseudo, login = Login, ek_master = Ek_master, date_derniere_connexion = Date, last_ip = IP} = User, {{Annee, Mois, Jour}, {Heure, Min, _}} = calendar:now_to_local_time(Date), io:format( - "~4w : ~10.10..s~10.10..s ~2w.~2.2.0w.~w - ~2wh~2.2.0w~n", + % id pseudo (login) IP Jour Mois Année Heure Minute + "~4w : ~10.10..s(~10.10..s) ~s ~2w.~2.2.0w.~w - ~2wh~2.2.0w~n", [ Id, if Ek_master -> "*"; true -> "" end ++ Pseudo, - "(" ++ Login ++ ")", + Login, + euphorik_common:serialize_ip(IP), Jour, Mois, Annee, Heure, Min ] ); @@ -542,15 +543,13 @@ messages(Id, N, P) -> message_by_id(Id) -> resultat_transaction(mnesia:transaction( fun() -> - message_by_id_sans_transaction(Id) + case mnesia:read({minichat, Id}) of + [] -> erreur; + [M] -> + {ok, M#minichat{contenu = contenu_message(M)}} + end end )). -message_by_id_sans_transaction(Id) -> - case mnesia:read({minichat, Id}) of - [] -> erreur; - [M] -> - {ok, M#minichat{contenu = contenu_message(M)}} - end. % Renvoie le contenu d'un message donnée, à utiliser à l'intérieur d'une transaction. @@ -563,10 +562,11 @@ contenu_message(E) -> % Renvoie une liste de message (voir #minichat de euphorik_bd.hrl) à partir d'une liste d'id (Ids). +% TODO : optimisations ? serait-ce du O(n) ? +% Bon de toutes façons on s'en fout c'est pas utilisé :) messages_by_ids(Ids) -> resultat_transaction(mnesia:transaction( fun() -> - % TODO : optimisations ? serait-ce du O(n) ? e(qlc:keysort( #minichat.id, q([E || E <- mnesia:table(minichat), lists:any(fun(Id) -> Id =:= E#minichat.id end, Ids)]),