X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_bd.erl;h=6efd76b750cf4d6947c297d8b78009f758a6ae1b;hp=7fac81d4a89df771598dca1f5aa9f0e8ba3d8a4c;hb=221a44d7aeaf467ef9854fe21af93bc964e92ef1;hpb=bfb430d094eb0021777302c1191642eab4077e78 diff --git a/modules/erl/euphorik_bd.erl b/modules/erl/euphorik_bd.erl index 7fac81d..6efd76b 100755 --- a/modules/erl/euphorik_bd.erl +++ b/modules/erl/euphorik_bd.erl @@ -21,6 +21,7 @@ update_pseudo_user/2, print_users/0, print_users/1, + print_user/1, user_by_cookie/1, user_by_id/1, user_by_login/1, @@ -67,9 +68,7 @@ % utiles : resultat_transaction/1 ]). - -import(qlc, [e/1, e/2, q/1, cursor/1]). - -include("../include/euphorik_bd.hrl"). -include("../include/euphorik_defines.hrl"). -include_lib("stdlib/include/qlc.hrl"). @@ -250,28 +249,48 @@ print_users(N) -> Users = qlc:next_answers(C, N), lists:foreach( fun(U) -> - #user{id = Id, pseudo = Pseudo, login = Login, ek_master = Ek_master, date_derniere_connexion = Date} = U, - {{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, - if Ek_master -> "*"; true -> "" end ++ Pseudo, - "(" ++ Login ++ ")", - Jour, Mois, Annee, Heure, Min - ] - ) + print_user(U) end, Users ), qlc:delete_cursor(C) end)). - + % Affiche tous les users. print_users() -> print_users(all_remaining). + +print_user(User) when is_record(User, user) -> + #user{id = Id, pseudo = Pseudo, login = Login, ek_master = Ek_master, date_derniere_connexion = Date} = 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, + if Ek_master -> "*"; true -> "" end ++ Pseudo, + "(" ++ Login ++ ")", + Jour, Mois, Annee, Heure, Min + ] + ); +% Affichage d'un user en fonction de son login +print_user(Login) when is_list(Login) -> + case user_by_login(Login) of + {ok, User} -> + print_user(User); + _ -> + {erreur, "Login pas trouvé : " ++ Login} + end; +% Affichage d'un user en fonction de son id +print_user(Id) when is_integer(Id) -> + case user_by_id(Id) of + {ok, User} -> + print_user(User); + _ -> + {erreur, "Id pas trouvé : " ++ integer_to_list(Id)} + end. + % Est-ce qu'un utilisateur existe en fonction de son cookie ? % Renvoie {ok, User} ou erreur