X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_minichat.erl;h=4268fef68f421acc7fd1c66023195b383cb1d069;hp=d45ca1c779b6c07b9a5810477ed398dbe02256ba;hb=42445687d95289c3c3f70e1e8d76278107a8b125;hpb=5527b650d1cb16caa6afc8f44545097ca92b97a2 diff --git a/modules/erl/euphorik_minichat.erl b/modules/erl/euphorik_minichat.erl index d45ca1c..4268fef 100755 --- a/modules/erl/euphorik_minichat.erl +++ b/modules/erl/euphorik_minichat.erl @@ -27,7 +27,7 @@ est_une_reponse_a_user/2, % set : update_pseudo_user/2, - set_profile/6, + set_profile/8, update_date_derniere_connexion/1, nouveau_user/2, nouveau_user/3, @@ -53,7 +53,7 @@ % Connexion à la base de données de yaws sur overnux connect() -> mnesia:start(), - mnesia:change_config(extra_db_nodes, [yaws@Plop]). + mnesia:change_config(extra_db_nodes, [yaws@flynux]). % Efface tous les users, minichat_reponse et minichat. @@ -195,7 +195,7 @@ update_pseudo_user(UserId, Pseudo) -> % Mise à par Cookie les autres peuvent être undefined ce qui veut dire qu'ils ne seront pas modifié. -set_profile(Cookie, Login, Password, Pseudo, Email, Css) -> +set_profile(Cookie, Login, Password, Pseudo, Email, Css, Page_principale, Conversations) -> resultat_transaction(mnesia:transaction( fun() -> case user_by_cookie(Cookie) of @@ -204,12 +204,16 @@ set_profile(Cookie, Login, Password, Pseudo, Email, Css) -> {ok, U} when U#user.id =/= User#user.id -> login_deja_pris; _ -> - User_modifie = User#user{ + 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) login = if is_list(Login) -> Login; true -> User#user.login end, password = if is_list(Password) -> Password; true -> User#user.password end, pseudo = if is_list(Pseudo) -> Pseudo; true -> User#user.pseudo end, email = if is_list(Email) -> Email; true -> User#user.email end, - css = if is_list(Css) -> Css; true -> User#user.css end + css = if is_list(Css) -> Css; true -> User#user.css end, + page_principale = if is_integer(Page_principale), Page_principale > 0 -> Page_principale; true -> User#user.page_principale end, + conversations = if is_list(Conversations) -> Conversations; true -> User#user.conversations end }, mnesia:write(User_modifie), ok @@ -369,14 +373,7 @@ nb_page(N) -> resultat_transaction(mnesia:transaction(fun() -> ceiling(length(qlc:e(qlc:q([E#minichat.id || E <- mnesia:table(minichat)]))) / N) end)). - - -% Renvoie le numéro de la page sur lequel se trouve le message M en sachant qu'il y a N messages par page. -%~ page(M, N) -> - %~ resultat_transaction(mnesia:transaction(fun() -> - %~ ceiling((length(qlc:e(qlc:q([E || E <- mnesia:table(minichat), E#minichat.id >= M])))) / N) - %~ end)). - + % Bizarre, cette fonction n'existe pas dans la stdlib. ceiling(X) ->