FIX problème de gestion du profile, après ouverture d'une conversation puis enregistr...
[euphorik.git] / js / client.js
index ea96902..73622a4 100644 (file)
 \r
 /*jslint laxbreak:true */\r
 \r
-// les statuts possibes du client\r
-euphorik.Client.statutType = {\r
-   // mode enregistré, peut poster des messages et modifier son profile\r
-   auth_registered : 0,\r
-   // mode identifié, peut poster des messages mais n'a pas accès au profile\r
-   auth_not_registered : 1,\r
-   // mode déconnecté, ne peut pas poster de message\r
-   deconnected : 2\r
-};\r
-\r
 /**\r
   * Représente l'utilisateur du site.\r
   */\r
@@ -46,6 +36,16 @@ euphorik.Client = function(util) {
    this.autoflush = $.browser.opera;\r
 };\r
 \r
+// les statuts possibes du client\r
+euphorik.Client.statutType = {\r
+   // mode enregistré, peut poster des messages et modifier son profile\r
+   auth_registered : 0,\r
+   // mode identifié, peut poster des messages mais n'a pas accès au profile\r
+   auth_not_registered : 1,\r
+   // mode déconnecté, ne peut pas poster de message\r
+   deconnected : 2\r
+};\r
+\r
 euphorik.Client.prototype.resetDonneesPersonnelles = function() {\r
    this.id = 0;\r
    this.pseudo = euphorik.conf.pseudoDefaut;\r
@@ -105,12 +105,12 @@ euphorik.Client.prototype.pagePrecedente = function(numConv) {
 euphorik.Client.prototype.goPremierePage = function(numConv)\r
 {\r
    if (numConv < 0) {\r
-      if (this.pagePrincipale == 1) {\r
+      if (this.pagePrincipale === 1) {\r
          return false;\r
       }\r
       this.pagePrincipale = 1;\r
    } else {\r
-      if (this.conversations[numConv].page == 1) {\r
+      if (this.conversations[numConv].page === 1) {\r
          return false;\r
       }\r
       this.conversations[numConv].page = 1;\r
@@ -126,11 +126,15 @@ euphorik.Client.prototype.goPremierePage = function(numConv)
   */\r
 euphorik.Client.prototype.ajouterConversation = function(racine) {\r
    // vérification s'il elle n'existe pas déjà   \r
+   var existe = false\r
    this.conversations.each(function(i, conv) {\r
       if (conv.root === racine) {\r
-         return false;\r
+         existe = true;\r
       }\r
    });\r
+   if (existe) {\r
+      return false;\r
+   }\r
    \r
    this.conversations.push({root : racine, page : 1, reduit : false});\r
    if (this.autoflush) {\r
@@ -176,13 +180,17 @@ euphorik.Client.prototype.getJSONLoginCookie = function() {
   * de s'autentifier avec (login, password).\r
   */\r
 euphorik.Client.prototype.getJSONEnregistrement = function(login, password) {\r
-   var mess = { "header" : { "action" : "register", "version" : euphorik.conf.versionProtocole } };\r
+   var mess = {\r
+      "header" : { "action" : "register","version" : euphorik.conf.versionProtocole }\r
+   };\r
    \r
    if (login && password) {\r
       mess.login = login;\r
       mess.password = password;\r
    }\r
    \r
+   mess.profile_infos = this.getJSONProfileInfos();\r
+   \r
    return mess;\r
 };\r
 \r
@@ -200,6 +208,12 @@ euphorik.Client.prototype.getJSONProfile = function() {
       "cookie" : this.cookie,\r
       "login" : this.login,\r
       "password" : this.password,\r
+      "profile_infos" : this.getJSONProfileInfos()\r
+   };\r
+};\r
+\r
+euphorik.Client.prototype.getJSONProfileInfos = function() {\r
+   return {\r
       "nick" : this.pseudo,\r
       "email" : this.email,\r
       "css" : this.css,\r
@@ -260,6 +274,7 @@ euphorik.Client.prototype.setStatut = function(statut)
    }\r
    \r
    this.statut = statut;\r
+   \r
    this.majMenu();\r
    this.majLogo();\r
 };\r
@@ -297,7 +312,7 @@ euphorik.Client.prototype.enregistrement = function(login, password) {
 };\r
 \r
 /**\r
-  * Connexion. Réalisé de manière synchrone.\r
+  * Connexion. Réalisée de manière synchrone.\r
   */\r
 euphorik.Client.prototype.connexion = function(messageJson) {\r
    var thisClient = this;\r
@@ -402,13 +417,13 @@ euphorik.Client.prototype.majMenu = function() {
    var displayType = "block";\r
 \r
    $("#menu .admin").css("display", this.ekMaster ? displayType : "none");\r
-\r
+  \r
    // met à jour le menu   \r
-   if (this.statut == euphorik.Client.statutType.auth_registered) {\r
+   if (this.statut === euphorik.Client.statutType.auth_registered) {\r
       $("#menu .profile").css("display", displayType).text("profile");\r
       $("#menu .logout").css("display", displayType);\r
       $("#menu .register").css("display", "none");\r
-   } else if (this.statut == euphorik.Client.statutType.auth_not_registered) {\r
+   } else if (this.statut === euphorik.Client.statutType.auth_not_registered) {\r
       $("#menu .profile").css("display", "none");\r
       $("#menu .logout").css("display", displayType);\r
       $("#menu .register").css("display", displayType);\r