ADD trois mode d'affichage pour les pseudos
[euphorik.git] / js / pageMinichat.js
index d82648e..e8d607a 100755 (executable)
@@ -210,11 +210,12 @@ function Reponse(id, pseudo, login)
   * @param pseudo
   * @param contenu
   */
-function Message(id, date, pseudo, contenu)
+function Message(id, date, pseudo, login, contenu)
 {
    this.id = id
    this.date = date
    this.pseudo = pseudo
+   this.login = login
    this.contenu = contenu
    
    this.appartientAuClient = false
@@ -285,7 +286,7 @@ Message.prototype.getConversation = function(messages)
   * @param numConv le numéro (appelé id) de la conversation
   * @param formateur outil permettant la mise en forme du texte des messages
   */
-function Conversation(num, util, formateur)
+function Conversation(num, util, formateur, client)
 {
    var thisConversation = this
 
@@ -294,6 +295,8 @@ function Conversation(num, util, formateur)
    this.messageOver = null // le message sur lequel se trouve le curseur
    this.util = util
    this.formateur = formateur
+   this.client = client
+   
    this.messages = new Array()
    this.messagesParId = new Object()
    
@@ -424,9 +427,14 @@ Conversation.prototype.flush = function(funClickExtract, funClickLienConv)
    var XHTML = ""
    for (var i = this.messages.length - 1; i >= 0; i--)
       if (this.messages[i].id > idDernierMessageAffiche)
-      {
+      {      
          var message = this.messages[i]
          
+         // construit l'identifiant de la personne
+         var identifiant = 
+            this.client.nickFormat == "nick" ? message.pseudo : 
+            (this.client.nickFormat == "login" ? message.login : message.pseudo + "(" + message.login +")" )
+         
          var XHTMLrepondA = ""
          for (var id in message.repondA)
             XHTMLrepondA += this.formateur.traitementComplet(message.repondA[id].pseudo) + "> "
@@ -441,7 +449,7 @@ Conversation.prototype.flush = function(funClickExtract, funClickLienConv)
             "\">" +
                "<div class=\"extraire\">&gt;</div>" +
                "[<span class=\"date\">" + message.date + "</span>]" +
-               "<span class=\"pseudo\">" + this.formateur.traitementComplet(message.pseudo) + "</span>:" +
+               "<span class=\"pseudo\">" + this.formateur.traitementComplet(identifiant) + "</span>:" +
                XHTMLrepondA +
                "<span class=\"contenu\">" + (message.systeme ? this.formateur.remplacerBalisesHTML(message.contenu) : this.formateur.traitementComplet(message.contenu, message.pseudo)) + "</span>" +
             "</div>"
@@ -623,6 +631,7 @@ Messages.prototype.ajouterMessage = function(element, numConversation)
       id,      
       element["date"],
       element["nick"],
+      element["login"],
       element["content"]
    )   \r
    
@@ -657,7 +666,7 @@ Messages.prototype.nouvelleConversation = function(num, funFermer, funLien)
 {
    var thisMessages = this
 
-   this.conversations[num] = new Conversation(num, this.util, this.formateur)
+   this.conversations[num] = new Conversation(num, this.util, this.formateur, this.client)
    if (funFermer != undefined)
       this.conversations[num].eventFermer(funFermer)
    if (funLien != undefined)
@@ -796,6 +805,8 @@ Messages.prototype.rafraichirMessages = function(vider)
             // ajoute les messages reçu à leur conversation respective
             for (var numConv = 0; numConv < data["conversations"].length; numConv++)
             {
+               //PLOP if (data["conversations"][numConv]["messages"].length == 0) continue
+               
                thisMessages.ajouterMessages(data["conversations"][numConv], numConv)
                
                // définit les événements liés à la conversation