ADD début de versioning de la BD
[euphorik.git] / modules / erl / euphorik_bd.erl
index 91d6f67..bb092fa 100755 (executable)
@@ -33,7 +33,7 @@
    % users :
    nouveau_user/2,
    nouveau_user/3,
-   set_profile/9,
+   set_profile/11,
    update_date_derniere_connexion/1,
    update_ip/2,
    update_pseudo_user/2,
@@ -110,6 +110,10 @@ create_tables() ->
       {attributes, record_info(fields, counter)},
       {disc_copies, [node()]}
    ]),
+   mnesia:create_table(proprietes, [
+      {attributes, record_info(fields, proprietes)},
+      {disc_copies, [node()]}
+   ]),
    mnesia:create_table(minichat, [
       {attributes, record_info(fields, minichat)},
       {index, [auteur_id, troll_id]},
@@ -154,7 +158,8 @@ reset() ->
    mnesia:clear_table(troll),
    mnesia:clear_table(ip_table),\r
    % crée l'utilisateur root\r
-   mnesia:transaction(fun() ->\r
+   mnesia:transaction(fun() ->
+      mnesia:write(#proprietes{nom = version, valeur = ?VERSION_BD}),\r
       User = #user{id = 0, pseudo = "Sys", login = "Sys", date_creation = now(), date_derniere_connexion = now(), ek_master = true},\r
       mnesia:write(User),\r
       User\r
@@ -184,12 +189,12 @@ nouveau_user(Login, Password, Cookie) ->
 
 
 % 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, Nick_format, Page_principale, Conversations) ->
+set_profile(Cookie, Login, Password, Pseudo, Email, Css, Nick_format, View_times, View_tooltips, Page_principale, Conversations) ->
    if Nick_format =:= nick; Nick_format =:= login; Nick_format =:= nick_login ->
          resultat_transaction(mnesia:transaction(
             fun() ->
                case user_by_cookie(Cookie) of
-                  {ok, User} ->               
+                  {ok, User} ->
                      case user_by_login(Login) of
                         {ok, U} when Login =/= [], U#user.id =/= User#user.id ->
                            login_deja_pris;
@@ -203,6 +208,8 @@ set_profile(Cookie, Login, Password, Pseudo, Email, Css, Nick_format, Page_princ
                               email = if is_list(Email) -> Email; true -> User#user.email end,
                               css = if is_list(Css) -> Css; true -> User#user.css end,
                               nick_format = Nick_format,
+                              view_times = View_times,
+                              view_tooltips = View_tooltips,
                               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
                            },