FIX plein de bugs introduits avec la Grand Restructuration
authorGreg Burri <greg.burri@gmail.com>
Thu, 24 Jul 2008 20:39:32 +0000 (20:39 +0000)
committerGreg Burri <greg.burri@gmail.com>
Thu, 24 Jul 2008 20:39:32 +0000 (20:39 +0000)
index.yaws
js/comet.js
js/euphorik.js
js/pageAdmin.js
js/pageMinichat/commandes.js
js/pageMinichat/conversations.js
js/pageMinichat/message.js
js/pageMinichat/pageMinichat.js

index 9a5d1e2..c5cbf63 100755 (executable)
          }.
    </erl>
    <link rel="stylesheet" href="css/jquery.lightbox.css" type="text/css" media="screen" ></link>
          }.
    </erl>
    <link rel="stylesheet" href="css/jquery.lightbox.css" type="text/css" media="screen" ></link>
-<script type="text/javascript" src="js/euphorik.js" ></script>
+
+   <script type="text/javascript" src="js/jquery.js" prod="delete"></script>
+   <script type="text/javascript" src="js/jquery.lightbox.js" prod="delete"></script>
+   <script type="text/javascript" src="js/md5.js" prod="delete"></script>
+   <script type="text/javascript" src="js/json2.js" prod="delete"></script>
+   <script type="text/javascript" src="js/comet.js" prod="delete"></script>
+
+   <script type="text/javascript" src="js/euphorik.js" ></script>
+
+   <script type="text/javascript" src="js/conf.js" prod="delete"></script>
+   <script type="text/javascript" src="js/util.js" prod="delete"></script>
+   <script type="text/javascript" src="js/formateur.js" prod="delete"></script>
+   <script type="text/javascript" src="js/pages.js" prod="delete"></script>
+   <script type="text/javascript" src="js/client.js" prod="delete"></script>
+
+   <script type="text/javascript" src="js/pageMinichat/pageMinichat.js" prod="delete"></script>
+   <script type="text/javascript" src="js/pageMinichat/conversation.js" prod="delete"></script>
+   <script type="text/javascript" src="js/pageMinichat/conversations.js" prod="delete"></script>
+   <script type="text/javascript" src="js/pageMinichat/message.js" prod="delete"></script>
+   <script type="text/javascript" src="js/pageMinichat/commandes.js" prod="delete"></script>
+   <script type="text/javascript" src="js/pageAdmin.js" prod="delete"></script>
+   <script type="text/javascript" src="js/pageProfile.js" prod="delete"></script>
+   <script type="text/javascript" src="js/pageRegister.js" prod="delete"></script>
+   <script type="text/javascript" src="js/pageAbout.js" prod="delete"></script>
+
 </head>
    <body>
       <div id="container">
 </head>
    <body>
       <div id="container">
index 5d848d6..9b4d0ee 100644 (file)
 /*jslint laxbreak:true */\r
 \r
 /**\r
 /*jslint laxbreak:true */\r
 \r
 /**\r
-   * Permet de gérer les événements (push serveur).\r
-   * Principe de fonctionnement :\r
-   *  - La page courante créer un objet euphorik.Comet en indiquant le nom de la page et la version du protocole \r
-   *  - La page courante attend un événement en appelant 'waitEvent' et en donnant deux fonctions :\r
-   *    - 'funSend' une fonction qui renvoie les données à envoyer avant l'attente, par exemple {"dernierMess" : 23}\r
-   *       "header" et "page" seront ajoutés aux données\r
-   *    - 'funsReceive' un ensemble de fonctions à appeler en fonction du "reply" du serveur\r
-   *\r
-   * l'information envoyée est sous la forme :\r
-   *  {\r
-   *     "header" : {"action" : "wait_event", "version" : <v> },\r
-   *     "page" : <page>\r
-   *     [..]\r
-   *  }\r
-   * l'information reçue est sous la forme :\r
-   *  {\r
-   *     "reply" : <reply>\r
-   *     [..]\r
-   *  }\r
-   * <reply> et <page> sont de type chaine\r
-   *\r
-   * @page [string] la page courante pour laquelle on écoute des événements (un string)\r
-   * @util [int] la version\r
-   */\r
+  * Permet de gérer les événements (push serveur).\r
+  * Principe de fonctionnement :\r
+  *  - La page courante créer un objet euphorik.Comet en indiquant le nom de la page et la version du protocole \r
+  *  - La page courante attend un événement en appelant 'waitEvent' et en donnant deux fonctions :\r
+  *    - 'funSend' une fonction qui renvoie les données à envoyer avant l'attente, par exemple {"dernierMess" : 23}\r
+  *       "header" et "page" seront ajoutés aux données\r
+  *    - 'funsReceive' un ensemble de fonctions à appeler en fonction du "reply" du serveur\r
+  *\r
+  * l'information envoyée est sous la forme :\r
+  *  {\r
+  *     "header" : {"action" : "wait_event", "version" : <v> },\r
+  *     "page" : <page>\r
+  *     [..]\r
+  *  }\r
+  * l'information reçue est sous la forme :\r
+  *  {\r
+  *     "reply" : <reply>\r
+  *     [..]\r
+  *  }\r
+  * <reply> et <page> sont de type chaine\r
+  *\r
+  * @page [string] la page courante pour laquelle on écoute des événements (un string)\r
+  * @util [int] la version\r
+  */\r
 Comet = function(page, version) {\r
    this.page = page;\r
    this.version = version;\r
 Comet = function(page, version) {\r
    this.page = page;\r
    this.version = version;\r
@@ -96,11 +96,11 @@ Comet.prototype.waitEvent = function(funSend, funsReceive) {
       dataType: "json",\r
       // TODO : doit disparaitre\r
       timeout: 180000, // timeout de 3min. Gros HACK pas beau. FIXME problème décrit ici : http://groups.google.com/group/jquery-en/browse_thread/thread/8724e64af3333a76\r
       dataType: "json",\r
       // TODO : doit disparaitre\r
       timeout: 180000, // timeout de 3min. Gros HACK pas beau. FIXME problème décrit ici : http://groups.google.com/group/jquery-en/browse_thread/thread/8724e64af3333a76\r
-      data: { action : JSON.stringify(dataToSend) \r
+      data: { action : JSON.stringify(dataToSend) },\r
       success:\r
       success:\r
-         function(data) {                        \r
+         function(data) {          \r
             funsReceive[data.reply](data);\r
             funsReceive[data.reply](data);\r
-            \r
+         \r
             // rappel de la fonction dans 100 ms\r
             setTimeout(function(){ thisComet.waitEvent2(funSend, funsReceive); }, 100);\r
          },\r
             // rappel de la fonction dans 100 ms\r
             setTimeout(function(){ thisComet.waitEvent2(funSend, funsReceive); }, 100);\r
          },\r
index afe0251..5265f28 100755 (executable)
@@ -42,27 +42,6 @@ var euphorik = {}
 ;;    if (req!==false) { if (req.status==200) { window.eval(req.responseText); } else if (req.status==404) { alert("erreur de chargement (404) de : " + url) } }
 ;; };
 
 ;;    if (req!==false) { if (req.status==200) { window.eval(req.responseText); } else if (req.status==404) { alert("erreur de chargement (404) de : " + url) } }
 ;; };
 
-;; euphorik.include("jquery");
-;; euphorik.include("jquery.lightbox");
-;; euphorik.include("md5");
-;; euphorik.include("json2");
-;; euphorik.include("comet");
-
-;; euphorik.include("conf");
-;; euphorik.include("util");
-;; euphorik.include("formateur");
-;; euphorik.include("pages");
-;; euphorik.include("client");
-
-;; euphorik.include("pageMinichat/pageMinichat");\r
-;; euphorik.include("pageMinichat/conversation");\r
-;; euphorik.include("pageMinichat/conversations");\r
-;; euphorik.include("pageMinichat/message");\r
-;; euphorik.include("pageMinichat/commandes");
-;; euphorik.include("pageAdmin");
-;; euphorik.include("pageProfile");
-;; euphorik.include("pageRegister");
-;; euphorik.include("pageAbout");
 
 // tout un tas d'améliorations de JavaScript ;)
 /**
 
 // tout un tas d'améliorations de JavaScript ;)
 /**
@@ -78,16 +57,16 @@ var objectEach = function(o, f) {
       }
    }
 };
       }
    }
 };
-\r
-var objectMemberCount = function(o) {\r
-   var nb = 0;\r
-   for (var k in o) {\r
-      if (o.hasOwnProperty(k)) {\r
-         nb += 1;\r
-      }\r
-   }\r
-   return nb;\r
-};\r
+
+var objectMemberCount = function(o) {
+   var nb = 0;
+   for (var k in o) {
+      if (o.hasOwnProperty(k)) {
+         nb += 1;
+      }
+   }
+   return nb;
+};
 
 Array.prototype.each = function(f) {
    for (var i = 0; i < this.length; i++) {
 
 Array.prototype.each = function(f) {
    for (var i = 0; i < this.length; i++) {
index 04b642c..06c2ca5 100644 (file)
@@ -17,9 +17,9 @@
 // along with Euphorik.  If not, see <http://www.gnu.org/licenses/>.
 // 
 // La page d'administation, ne peut être accédée que par les ekMaster (admins)
 // along with Euphorik.  If not, see <http://www.gnu.org/licenses/>.
 // 
 // La page d'administation, ne peut être accédée que par les ekMaster (admins)
-\r
-/*jslint laxbreak:true */\r
-\r
+
+/*jslint laxbreak:true */
+
 
 euphorik.PageAdmin = function(client, formateur, util) {
    this.nom = "admin";
 
 euphorik.PageAdmin = function(client, formateur, util) {
    this.nom = "admin";
@@ -84,7 +84,7 @@ euphorik.PageAdmin.prototype.decharger = function() {
    
    // supprime le rafraichissement période des ips
    if (this.timeoutIDmajIPs) {
    
    // supprime le rafraichissement période des ips
    if (this.timeoutIDmajIPs) {
-      clearTimeout(this.timeoutIDmajIPs);\r
+      clearTimeout(this.timeoutIDmajIPs);
    }
 };
 
    }
 };
 
@@ -129,7 +129,7 @@ euphorik.PageAdmin.prototype.posterTroll = function() {
   */
 euphorik.PageAdmin.prototype.majIPs = function() {
    if (this.timeoutIDmajIPs) {
   */
 euphorik.PageAdmin.prototype.majIPs = function() {
    if (this.timeoutIDmajIPs) {
-      clearTimeout(this.timeoutIDmajIPs);\r
+      clearTimeout(this.timeoutIDmajIPs);
    }
 
    var thisPageAdmin = this;
    }
 
    var thisPageAdmin = this;
@@ -147,12 +147,12 @@ euphorik.PageAdmin.prototype.majIPs = function() {
       success:
          function(data) {               
             if (data.reply === "list_banned_ips") {
       success:
          function(data) {               
             if (data.reply === "list_banned_ips") {
-               var XHTML = "";\r
+               var XHTML = "";
                data.list.each(function(ip) {
                   XHTML += '<div class="ban"><span class="ip">' + ip.ip + '</span>|' +
                      '<span class="temps">' +
                      ip.remaining_time +
                data.list.each(function(ip) {
                   XHTML += '<div class="ban"><span class="ip">' + ip.ip + '</span>|' +
                      '<span class="temps">' +
                      ip.remaining_time +
-                     '</span>|';\r
+                     '</span>|';
                   ip.users.each(function(user) {
                      XHTML += (j > 0 ? ", " : "") +
                         '<span class="pseudo">' + thisPageAdmin.formateur.traitementComplet(user.nick) + '</span>' +
                   ip.users.each(function(user) {
                      XHTML += (j > 0 ? ", " : "") +
                         '<span class="pseudo">' + thisPageAdmin.formateur.traitementComplet(user.nick) + '</span>' +
@@ -162,7 +162,7 @@ euphorik.PageAdmin.prototype.majIPs = function() {
                });
                
                if (data.list.length === 0) {
                });
                
                if (data.list.length === 0) {
-                  XHTML += '<p>Aucune IP bannie</p>';\r
+                  XHTML += '<p>Aucune IP bannie</p>';
                }
                   
                $("#ips").html(XHTML);
                }
                   
                $("#ips").html(XHTML);
@@ -212,7 +212,7 @@ euphorik.PageAdmin.prototype.deban = function(ip) {
       success:
          function(data){
             if(data.reply === "error") {
       success:
          function(data){
             if(data.reply === "error") {
-               thisPageAdmin.util.messageDialogue(data.error_message);\r
+               thisPageAdmin.util.messageDialogue(data.error_message);
             }
          }
    });
             }
          }
    });
@@ -263,7 +263,7 @@ euphorik.Trolls = function(client, util, formateur) {
 euphorik.Trolls.prototype.ajouterTrollEvent = function(data) {
    var thisTrolls = this;
 
 euphorik.Trolls.prototype.ajouterTrollEvent = function(data) {
    var thisTrolls = this;
 
-   var XHTML = "";\r
+   var XHTML = "";
    data.trolls.each(function(trollData) {
       var troll = new euphorik.Troll(trollData.content, trollData.author);
       var trollId = trollData.troll_id;
    data.trolls.each(function(trollData) {
       var troll = new euphorik.Troll(trollData.content, trollData.author);
       var trollId = trollData.troll_id;
@@ -287,10 +287,10 @@ euphorik.Trolls.prototype.ajouterTrollEvent = function(data) {
          $(this).keypress(
             function(e) {
                if (e.which === 13) { // return
          $(this).keypress(
             function(e) {
                if (e.which === 13) { // return
-                  $(".modifier", this).click();\r
+                  $(".modifier", this).click();
                }
             }
                }
             }
-         );\r
+         );
          
          $(".delTroll", this).click(
             function() {
          
          $(".delTroll", this).click(
             function() {
@@ -305,12 +305,12 @@ euphorik.Trolls.prototype.ajouterTrollEvent = function(data) {
                   }
                );
             }
                   }
                );
             }
-         );\r
+         );
          
          $(".editTroll", this).click(
             function() {
                $("span", troll).css("display", "none");
          
          $(".editTroll", this).click(
             function() {
                $("span", troll).css("display", "none");
-               $(troll).append(\r
+               $(troll).append(
                   '<form><p><input class="content" type="text" size="50" maxlength="500" value="' +
                   thisTrolls.trolls[id].content +
                   '"></input><span class="modifier">modifier</span><span class="annuler">annuler</span></p></form>'
                   '<form><p><input class="content" type="text" size="50" maxlength="500" value="' +
                   thisTrolls.trolls[id].content +
                   '"></input><span class="modifier">modifier</span><span class="annuler">annuler</span></p></form>'
@@ -336,7 +336,7 @@ euphorik.Trolls.prototype.ajouterTrollEvent = function(data) {
    );
    
    if (data.trolls.length > 0) {
    );
    
    if (data.trolls.length > 0) {
-      thisTrolls.dernierTroll = data.trolls[data.trolls.length - 1].troll_id;\r
+      thisTrolls.dernierTroll = data.trolls[data.trolls.length - 1].troll_id;
    }
 };
 
    }
 };
 
@@ -347,11 +347,11 @@ euphorik.Trolls.prototype.modifierTrollEvent = function(data) {
    thisTrolls.trolls[data.troll_id].content = data.content;
 };
 
    thisTrolls.trolls[data.troll_id].content = data.content;
 };
 
-Trolls.prototype.supprimerTrollEvent = function(data) {
+euphorik.Trolls.prototype.supprimerTrollEvent = function(data) {
    $("#trolls #troll" + data.troll_id).remove();
 };
 
    $("#trolls #troll" + data.troll_id).remove();
 };
 
-Trolls.prototype.modifier = function(id, content) {
+euphorik.Trolls.prototype.modifier = function(id, content) {
    var thisTrolls = this;
    
    var dataToSend = {
    var thisTrolls = this;
    
    var dataToSend = {
index a044617..4d25a43 100644 (file)
@@ -35,7 +35,19 @@ euphorik.Commandes.statut = {ok : 0, pas_une_commande : 1, erreur_commande : 2};
 
 euphorik.Commandes.liste = {
    "nick" : {
 
 euphorik.Commandes.liste = {
    "nick" : {
-      usage :
+      usage : "\\nick <nouveau pseudo",
+      exec : function(args, client) {
+         
+         if (args.length === 0) {
+            return [euphorik.Commandes.statut.erreur_commande, 'Utilisation de la commande : ' + this.usage];
+         }
+   
+         client.pseudo = args[0];
+         $("form#posterMessage input.pseudo").val(client.pseudo);
+   
+         return [euphorik.Commandes.statut.ok, ''];
+      }
+   }      
 };
 
 /**
 };
 
 /**
@@ -45,10 +57,11 @@ euphorik.Commandes.liste = {
 euphorik.Commandes.prototype.exec = function(chaine) {
    chaine = chaine.trim();
    
 euphorik.Commandes.prototype.exec = function(chaine) {
    chaine = chaine.trim();
    
-   var fragments = chaine.split(/\s*/);
+   var fragments = chaine.split(/\s+/);
    if (fragments.length === 0 || fragments[0].charAt(0) != '/') {
       return [euphorik.Commandes.statut.pas_une_commande, ''];
    }
    if (fragments.length === 0 || fragments[0].charAt(0) != '/') {
       return [euphorik.Commandes.statut.pas_une_commande, ''];
    }
+   console.log(fragments)
    
    var nomCommande = fragments[0].slice(1);
    var args = fragments.slice(1);
    
    var nomCommande = fragments[0].slice(1);
    var args = fragments.slice(1);
@@ -57,26 +70,9 @@ euphorik.Commandes.prototype.exec = function(chaine) {
       return [euphorik.Commandes.statut.erreur_commande, 'La commande est vide'];
    }
    
       return [euphorik.Commandes.statut.erreur_commande, 'La commande est vide'];
    }
    
-   if (euphorik.Commandes.liste.hasOwnProperty(commande) {
-      var commande = 
-      return this.commandeNick(args);
+   if (euphorik.Commandes.liste.hasOwnProperty(nomCommande)) {
+      return euphorik.Commandes.liste[nomCommande].exec(args, this.client);
    }
    
    }
    
-   switch (commande) {
-      case "" : 
-      case "nick" : 
-   }
-   
-   return [euphorik.Commandes.statut.erreur_commande, 'La commande \\' + commande + ' est inconnue'];
-};
-
-euphorik.Commandes.prototype.commandeNick = function(args) {
-   if (args.length === 0) {
-      return [euphorik.Commandes.statut.erreur_commande, 'Utilisation de la commande : "\nick <nouveau pseudo>"'];
-   }
-   
-   this.client.pseudo = args[0];
-   $("form#posterMessage input.pseudo").val(this.client.pseudo);
-   
-   return [euphorik.Commandes.statut.ok, ''];
+   return [euphorik.Commandes.statut.erreur_commande, 'La commande \\' + nomCommande + ' est inconnue'];
 };
 };
index d5a40e6..2d5df0c 100644 (file)
@@ -57,12 +57,12 @@ euphorik.Conversations.prototype.toggleMessageRepond = function(mess) {
 };\r
 \r
 /**\r
 };\r
 \r
 /**\r
-  * Enlève tous les messages auquel l'utilisateur souhaite répond.\r
+  * Enlève tous les messages auquel l'utilisateur souhaite répondre.\r
   */\r
 euphorik.Conversations.prototype.enleverMessagesRepond = function() {\r
    var thisConversations = this;\r
    \r
   */\r
 euphorik.Conversations.prototype.enleverMessagesRepond = function() {\r
    var thisConversations = this;\r
    \r
-   objectEach(function(messId, mess) {\r
+   objectEach(this.messagesRepond, function(messId, mess) {\r
       thisConversations.enleverMessageRepond(mess);\r
    });\r
     \r
       thisConversations.enleverMessageRepond(mess);\r
    });\r
     \r
@@ -98,7 +98,7 @@ euphorik.Conversations.prototype.ajouterMessageRepond = function(mess) {
    }\r
    mess2 = this.messagesRepond[mess2];\r
    \r
    }\r
    mess2 = this.messagesRepond[mess2];\r
    \r
-   if (!mess2 && mess2.racineId !== mess.racineId) {\r
+   if (mess2 && mess2.racineId == mess.racineId) {\r
       this.util.messageDialogue("Impossible de répondre à deux messages ne faisant pas partie de la même conversation");\r
       return;\r
    }\r
       this.util.messageDialogue("Impossible de répondre à deux messages ne faisant pas partie de la même conversation");\r
       return;\r
    }\r
@@ -156,7 +156,7 @@ euphorik.Conversations.prototype.rafraichireNombreMessagesRepond = function() {
   */\r
 euphorik.Conversations.prototype.afficherMessagesRepondConversations = function() {\r
    var expr = "";\r
   */\r
 euphorik.Conversations.prototype.afficherMessagesRepondConversations = function() {\r
    var expr = "";\r
-   objectEach(function(messId, mess) {\r
+   objectEach(this.messagesRepond, function(messId, mess) {\r
       expr += "#" + mess.getId() + ",";\r
    });\r
    $(expr).addClass("repondEnEvidence");\r
       expr += "#" + mess.getId() + ",";\r
    });\r
    $(expr).addClass("repondEnEvidence");\r
index ba158a4..3afb8b5 100644 (file)
@@ -92,14 +92,12 @@ euphorik.Message.prototype.getConversation = function(messages) {
    var f = function(tabIds, premierNiveau) {\r
       objectEach(tabIds, function(id) {\r
          // si le message (id) a déjà été traité\r
    var f = function(tabIds, premierNiveau) {\r
       objectEach(tabIds, function(id) {\r
          // si le message (id) a déjà été traité\r
-         if (!messagesEnEvidence[id] && !premierNiveau) {\r
-            continue;\r
-         }\r
-           \r
-         var message = messages.messagesParId[id];\r
-         if (!message) { \r
-            messagesEnEvidence[id] = premierNiveau ? 3 : (message.auteurId === thisMessage.auteurId ? 1 : 0);\r
-            f (message.repondA, false);\r
+         if (messagesEnEvidence[id] || premierNiveau) {           \r
+            var message = messages.messagesParId[id];\r
+            if (!message) { \r
+               messagesEnEvidence[id] = premierNiveau ? 3 : (message.auteurId === thisMessage.auteurId ? 1 : 0);\r
+               f (message.repondA, false);\r
+            }\r
          }\r
       });\r
    };\r
          }\r
       });\r
    };\r
@@ -126,7 +124,7 @@ euphorik.Message.prototype.XHTML = function(messagePair, pre) {
 \r
    var XHTMLrepondA = "";\r
    var debut = true;\r
 \r
    var XHTMLrepondA = "";\r
    var debut = true;\r
-   objectEach(function(id, rep) {\r
+   objectEach(this.repondA, function(id, rep) {\r
       if (!debut) {\r
          XHTMLrepondA += ", ";\r
       }\r
       if (!debut) {\r
          XHTMLrepondA += ", ";\r
       }\r
index 7aeb158..2283acb 100755 (executable)
 //
 // You should have received a copy of the GNU General Public License
 // along with Euphorik.  If not, see <http://www.gnu.org/licenses/>.
 //
 // You should have received a copy of the GNU General Public License
 // along with Euphorik.  If not, see <http://www.gnu.org/licenses/>.
\r
-/*jslint laxbreak:true */\r
+/*jslint laxbreak:true */
 
 euphorik.PageMinichat = function(client, formateur, util) {
    this.nom = "minichat";
    
    this.client = client;
    this.formateur = formateur;
 
 euphorik.PageMinichat = function(client, formateur, util) {
    this.nom = "minichat";
    
    this.client = client;
    this.formateur = formateur;
-   this.util = util;\r
+   this.util = util;
    this.commandes = new euphorik.Commandes(this.client);
    
    // permet d'éviter d'envoyer plusieurs messages simultanément en pressant
    this.commandes = new euphorik.Commandes(this.client);
    
    // permet d'éviter d'envoyer plusieurs messages simultanément en pressant
@@ -36,7 +36,7 @@ euphorik.PageMinichat = function(client, formateur, util) {
 
 euphorik.PageMinichat.prototype.contenu = function() {
    // le fait que tout soit collé est fait exprès, permet d'éviter d'avoir des espaces supplémentaires entre les spans'
 
 euphorik.PageMinichat.prototype.contenu = function() {
    // le fait que tout soit collé est fait exprès, permet d'éviter d'avoir des espaces supplémentaires entre les spans'
-   var formulaireXHTML = '' +\r
+   var formulaireXHTML = '' +
       '<form method="post" action="" id ="posterMessage">' +
       ' <p>' +
       '  <input class="captcha" name="captcha" type="text" size="8" maxlength="8"></input>' +
       '<form method="post" action="" id ="posterMessage">' +
       ' <p>' +
       '  <input class="captcha" name="captcha" type="text" size="8" maxlength="8"></input>' +
@@ -46,7 +46,7 @@ euphorik.PageMinichat.prototype.contenu = function() {
       '  <button class="smiles"></button>' +
       '  <button class="return"></button>' +
       ' </p>' +
       '  <button class="smiles"></button>' +
       '  <button class="return"></button>' +
       ' </p>' +
-      '</form>';\r
+      '</form>';
       
    var trollXHTML = '<div id="trollCourant">Troll de la semaine : <span class="troll"></span></div>';
    var conversationXHTML = '<table id="conversations"><tr></tr></table>';
       
    var trollXHTML = '<div id="trollCourant">Troll de la semaine : <span class="troll"></span></div>';
    var conversationXHTML = '<table id="conversations"><tr></tr></table>';
@@ -54,7 +54,7 @@ euphorik.PageMinichat.prototype.contenu = function() {
    if (this.client.chatOrder === "reverse") {
       return trollXHTML + formulaireXHTML + conversationXHTML;
    } else {
    if (this.client.chatOrder === "reverse") {
       return trollXHTML + formulaireXHTML + conversationXHTML;
    } else {
-      return trollXHTML + conversationXHTML + formulaireXHTML;\r
+      return trollXHTML + conversationXHTML + formulaireXHTML;
    }
 };
 
    }
 };
 
@@ -68,7 +68,7 @@ euphorik.PageMinichat.prototype.charger = function() {
    $("#posterMessage input.pseudo").val(this.client.pseudo);
    
    // cet appel ne doit pas être fait avant l'appel à 'charger'
    $("#posterMessage input.pseudo").val(this.client.pseudo);
    
    // cet appel ne doit pas être fait avant l'appel à 'charger'
-   this.conversations = new Conversations(this.client, this.formateur, this.util);
+   this.conversations = new euphorik.Conversations(this.client, this.formateur, this.util);
    
    this.conversations.rafraichirMessages(true);
    
    
    this.conversations.rafraichirMessages(true);
    
@@ -96,12 +96,12 @@ euphorik.PageMinichat.prototype.charger = function() {
    
    this.util.infoBulle("Cliquer sur les messages pour les enlevers de la liste",
       $("form#posterMessage #repondA").hover(
    
    this.util.infoBulle("Cliquer sur les messages pour les enlevers de la liste",
       $("form#posterMessage #repondA").hover(
-         function() { thisPage.util.afficherBoite($(".messages", this), $(this), positionTypeX.centre, positionTypeY.bas); },
+         function() { thisPage.util.afficherBoite($(".messages", this), $(this), euphorik.Util.positionTypeX.centre, euphorik.Util.positionTypeY.bas); },
          function() { $(".messages", this).hide(); }
       ).click(
          function(e) {
             if ($(e.target).is(".nb")) {
          function() { $(".messages", this).hide(); }
       ).click(
          function(e) {
             if ($(e.target).is(".nb")) {
-               thisPage.conversations.enleverMessagesRepond();\r
+               thisPage.conversations.enleverMessagesRepond();
             }
          }     
       ),
             }
          }     
       ),
@@ -126,7 +126,7 @@ euphorik.PageMinichat.prototype.charger = function() {
    );
    $("form#posterMessage button.smiles").hover(
       // affichage de la boite présentant les smiles
    );
    $("form#posterMessage button.smiles").hover(
       // affichage de la boite présentant les smiles
-      function(e){ thisPage.util.afficherBoite($("#smiles"), $(e.target), positionTypeX.centre, positionTypeY.basRecouvrement); },
+      function(e){ thisPage.util.afficherBoite($("#smiles"), $(e.target), euphorik.Util.positionTypeX.centre, euphorik.Util.positionTypeY.basRecouvrement); },
       function(){}
    );
    $("#smiles").hover(
       function(){}
    );
    $("#smiles").hover(
@@ -141,24 +141,24 @@ euphorik.PageMinichat.prototype.charger = function() {
    var nouveauMessage = 
       function() {  
          // captcha anti bot
    var nouveauMessage = 
       function() {  
          // captcha anti bot
-         if ($("form#posterMessage input.captcha").val() !== "") {\r
-            return;\r
-         }\r
-         \r
-         var message = $("form#posterMessage input.message").val();\r
-         \r
-         // traitement des commandes..\r
-         var retCommandes = thisPage.commandes.exec(message);         \r
-         switch (retCommandes[0]) {\r
+         if ($("form#posterMessage input.captcha").val() !== "") {
+            return;
+         }
+         
+         var message = $("form#posterMessage input.message").val();
+         
+         // traitement des commandes..
+         var retCommandes = thisPage.commandes.exec(message);         
+         switch (retCommandes[0]) {
             case euphorik.Commandes.statut.pas_une_commande :
             case euphorik.Commandes.statut.pas_une_commande :
-               thisPage.envoyerMessage(message, $("form#posterMessage input.message").val());\r
-               break;\r
-            case euphorik.Commandes.statut.erreur_commande :\r
-               thisPage.util.messageDialogue(retCommandes[1], euphorik.Util.messageType.erreur);\r
-               break;\r
-            case euphorik.Commandes.statut.ok :\r
-               $("form#posterMessage input.message").val("");\r
-               break;\r
+               thisPage.envoyerMessage($("form#posterMessage input.pseudo").val(), message);
+               break;
+            case euphorik.Commandes.statut.erreur_commande :
+               thisPage.util.messageDialogue(retCommandes[1], euphorik.Util.messageType.erreur);
+               break;
+            case euphorik.Commandes.statut.ok :
+               $("form#posterMessage input.message").val("");
+               break;
          }         
             
          $("form#posterMessage input.message").focus();
          }         
             
          $("form#posterMessage input.message").focus();
@@ -167,7 +167,7 @@ euphorik.PageMinichat.prototype.charger = function() {
    $("form#posterMessage").keypress(
       function(e) {
          if (e.which === 13) { // return
    $("form#posterMessage").keypress(
       function(e) {
          if (e.which === 13) { // return
-            nouveauMessage();\r
+            nouveauMessage();
          }
       }
    );
          }
       }
    );
@@ -181,7 +181,7 @@ euphorik.PageMinichat.prototype.charger = function() {
       function() {
          var input = $("input.pseudo")[0];
          if (input.value === euphorik.conf.pseudoDefaut) {
       function() {
          var input = $("input.pseudo")[0];
          if (input.value === euphorik.conf.pseudoDefaut) {
-            input.value = "";\r
+            input.value = "";
          }
       }
    );
          }
       }
    );
@@ -194,9 +194,9 @@ euphorik.PageMinichat.prototype.decharger = function() {
 };
 
 euphorik.PageMinichat.prototype.getJSONMessage = function(pseudo, message) {
 };
 
 euphorik.PageMinichat.prototype.getJSONMessage = function(pseudo, message) {
-   var repondA = [];\r
+   var repondA = [];
    objectEach(this.conversations.messagesRepond, function(id) {
    objectEach(this.conversations.messagesRepond, function(id) {
-      repondA.push(parseInt(id, 10));\r
+      repondA.push(parseInt(id, 10));
    });
       
    return {
    });
       
    return {
@@ -218,7 +218,7 @@ euphorik.PageMinichat.prototype.envoyerMessage = function(pseudo, message) {
       this.util.messageDialogue("Le pseudo ne peut pas être " + euphorik.conf.nickDefaut);
       return;
    }
       this.util.messageDialogue("Le pseudo ne peut pas être " + euphorik.conf.nickDefaut);
       return;
    }
-   \r
+   
    message = message.trim();
    if (!message) {
       this.util.messageDialogue("Le message est vide");
    message = message.trim();
    if (!message) {
       this.util.messageDialogue("Le message est vide");
@@ -229,7 +229,7 @@ euphorik.PageMinichat.prototype.envoyerMessage = function(pseudo, message) {
       if (!this.client.enregistrement()) {
          this.util.messageDialogue("login impossible");
          return;
       if (!this.client.enregistrement()) {
          this.util.messageDialogue("login impossible");
          return;
-      }\r
+      }
    }
       
    this.client.pseudo = pseudo;
    }
       
    this.client.pseudo = pseudo;
@@ -252,12 +252,13 @@ euphorik.PageMinichat.prototype.envoyerMessage = function(pseudo, message) {
       },
       success : function(data, textStatus) {         
          if(data.reply === "ok") {           
       },
       success : function(data, textStatus) {         
          if(data.reply === "ok") {           
-            // met à jour la classe des messages auquel repond celui ci (c'est un peu de la triche) TODO : ya mieux ?\r
-            objectEach(thisPageMinichat.conversations.messagesRepond, function(messId) {\r
+            // TODO : revoir cette partie
+            // met à jour la classe des messages auquel repond celui ci (c'est un peu de la triche) TODO : ya mieux ?
+            objectEach(thisPageMinichat.conversations.messagesRepond, function(messId) {
                thisPageMinichat.conversations.conversations.each(function(i, conv) {
                   var mess = conv.messagesParId[messId];
                thisPageMinichat.conversations.conversations.each(function(i, conv) {
                   var mess = conv.messagesParId[messId];
-                  if (!mess) {
-                     mess.clientARepondu = true;\r
+                  if (mess) {
+                     mess.clientARepondu = true;
                   }
                });
                // TODO : ca sert à qque chose ?
                   }
                });
                // TODO : ca sert à qque chose ?
@@ -275,4 +276,4 @@ euphorik.PageMinichat.prototype.envoyerMessage = function(pseudo, message) {
          thisPageMinichat.envoieMessageEnCours = false;
       }
    });
          thisPageMinichat.envoieMessageEnCours = false;
       }
    });
-};\r
+};