X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_bd.erl;h=e10ef2ab5b1a6ea51ad23cf11f11cf8bc801d6ca;hb=a2f6d159387e456847fb4e7607b4663ab8fa94fc;hp=7a9b582b15a846bea4c9637fc30163f5ae8d7ad7;hpb=81b3e94e62dd60087d71efc42004f8222d9e1e7a;p=euphorik.git diff --git a/modules/erl/euphorik_bd.erl b/modules/erl/euphorik_bd.erl index 7a9b582..e10ef2a 100755 --- a/modules/erl/euphorik_bd.erl +++ b/modules/erl/euphorik_bd.erl @@ -55,6 +55,7 @@ put_troll/2, mod_troll/2, del_troll/1, + troll_by_id/1, % versions : update_version/1, @@ -166,9 +167,9 @@ set_profile(Cookie, Login, Password, Pseudo, Email, Css, Nick_format, Page_princ case user_by_cookie(Cookie) of {ok, User} -> case user_by_login(Login) of - {ok, U} when User#user.login =/= [], U#user.id =/= User#user.id -> + {ok, U} when Login =/= [], U#user.id =/= User#user.id -> login_deja_pris; - _ -> + _ -> User_modifie = User#user{ % TODO : pourquoi ne pas tester avec la valeur "undefined" plutôt qu'avec "is_list" ? % TODO : validation plus strict des données (pas de page négative dans les conv par exemple) @@ -247,8 +248,7 @@ users() -> user_by_cookie(Cookie) -> resultat_transaction(mnesia:transaction( fun() -> - Users = qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.cookie =:= Cookie])), - case Users of + case qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.cookie =:= Cookie])) of [User] -> {ok, User}; _ -> erreur end @@ -259,8 +259,7 @@ user_by_cookie(Cookie) -> user_by_id(ID) -> resultat_transaction(mnesia:transaction( fun() -> - Users = qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.id =:= ID])), - case Users of + case qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.id =:= ID])) of [User] -> {ok, User}; _ -> erreur end @@ -296,9 +295,8 @@ toggle_ek_master(User_id) -> user_by_login_password(Login, Password) -> resultat_transaction(mnesia:transaction( fun() -> - Users = qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.login =:= Login, E#user.password =:= Password])), - case Users of - [User] -> {ok, User}; + case qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.login =:= Login, E#user.password =:= Password])) of + [User | _] -> {ok, User}; _ -> erreur end end @@ -310,7 +308,7 @@ user_by_mess(Id) -> resultat_transaction(mnesia:transaction( fun() -> case qlc:e(qlc:q([U || U <- mnesia:table(user), M <- mnesia:table(minichat), M#minichat.id =:= Id, M#minichat.auteur_id =:= U#user.id])) of - [User] -> {ok, User}; + [User | _] -> {ok, User}; _ -> erreur end end @@ -587,7 +585,7 @@ can_register(IP) -> trolls() -> resultat_transaction(mnesia:transaction( fun() -> - qlc:e(qlc:q([T || T <- mnesia:table(troll)])) + qlc:e(qlc:q([T || T <- qlc:keysort(2, mnesia:table(troll))])) end )). @@ -605,7 +603,7 @@ trolls(Last_id) -> _ -> case resultat_transaction(mnesia:transaction( fun() -> - qlc:e(qlc:q([T || T <- mnesia:table(troll), T#troll.id > Last_id, T#troll.date_post =:= undefined])) + qlc:e(qlc:q([T || T <- qlc:keysort(2, mnesia:table(troll)), T#troll.id > Last_id, T#troll.date_post =:= undefined])) end )) of [] -> % pas de trolls @@ -697,6 +695,18 @@ del_troll(Troll_id) -> end ). + +troll_by_id(Troll_id) -> + resultat_transaction(mnesia:transaction( + fun() -> + case qlc:e(qlc:q([T || T <- mnesia:table(troll), T#troll.id =:= Troll_id])) of + [T] -> {ok, T}; + _ -> + erreur + end + end + )). + update_version(1) -> mnesia:transform_table(