ADD trois mode d'affichage pour les pseudos
[euphorik.git] / modules / erl / euphorik_protocole.erl
index 548f4af..c2cb984 100755 (executable)
@@ -45,7 +45,10 @@ loginUser({ok, User}) ->
    euphorik_minichat:update_date_derniere_connexion(User#user.id),
    json_reponse_login_ok(User);
 loginUser(_) ->
-   erreur("Erreur login").
+   % ajoute un délais d'attente (TODO : un autre moyen plus élégant ?)
+   receive after 1000 ->
+      erreur("Erreur login")
+   end.
    
    \r
 % Renvoie un string() représentant un cookie en base 36. Il y a 10^32 possibillités.\r
@@ -69,13 +72,14 @@ profile(
       {nick, Pseudo},
       {email, Email},
       {css, Css},
+      {nick_format, Nick_format_str},
       {main_page, Main_page},
-      {conversations, Conversations_json}
+      {conversations, {array, Conversations_json}}
    ]
 ) ->
    % est-ce que les messages auquel on répond existent ?
    Conversations = lists:foldr(
-      fun([struct, {root, Root}, {page, Page}], Acc) ->
+      fun({struct, [{root, Root}, {page, Page}]}, Acc) ->
          Message_existe = euphorik_minichat:message_existe(Root),
          if  Message_existe ->
             [{Root, Page} | Acc];
@@ -86,7 +90,7 @@ profile(
       [],
       Conversations_json
    ),
-   case euphorik_minichat:set_profile(Cookie, Login, Password, Pseudo, Email, Css, Main_page, Conversations) of
+   case euphorik_minichat:set_profile(Cookie, Login, Password, Pseudo, Email, Css, list_to_atom(Nick_format_str), Main_page, Conversations) of
       ok ->
          json_reponse_ok();
       login_deja_pris ->
@@ -105,7 +109,7 @@ wait_event(Data) ->
    {value, {_, Message_count}} = lists:keysearch(message_count, 1, Data),
    Main_page = case lists:keysearch(main_page, 1, Data) of {value, {_, P}} -> P; _ -> 1 end,
    {value, {_, {array, Conversations_json}}} = lists:keysearch(conversations, 1, Data),
-   Conversations = lists:map(fun({struct, [{racine, Racine}, {page, Page}]}) -> {Racine, Page} end, Conversations_json),
+   Conversations = lists:map(fun({struct, [{root, Racine}, {page, Page}]}) -> {Racine, Page} end, Conversations_json),
    User = case euphorik_minichat:user_by_cookie(Cookie) of\r
       {ok, U} -> U;\r
       _ -> inconnu\r
@@ -245,14 +249,17 @@ json_reponse_login_ok(User) ->
          {login, User#user.login},
          {email, User#user.email},
          {css, User#user.css},
+         {nick_format, atom_to_list(User#user.nick_format)},
          {main_page, User#user.page_principale},
          {conversations, 
             {array,
                lists:map(
                   fun(C) ->
                      {struct,
-                        {root, element(1, C)},
-                        {page, element(2, C)}
+                        [
+                           {root, element(1, C)},
+                           {page, element(2, C)}
+                        ]
                      }
                   end,
                   User#user.conversations