- for (var i = 0; i < this.conversations.length; i++)
- this.conversations[i].viderMessages()
-}
-
-/**
- * Met à jour les messages de manière continue.
- * (AJAX-Comet-style proof)
- * @param vider vide tous les messages avant d'afficher les nouveaux
- */
-Messages.prototype.rafraichirMessages = function(vider)
-{
- if (this.attenteCourante != null)
- this.attenteCourante.abort()
-
- if (vider == undefined)
- vider = false
-
- var thisMessages = this // caisupair javacrypte
-
- if (vider)
- {
- this.idDernierMessage = null
- }\r
-
- this.util.xmlVersAction(this.getXMLrafraichirMessages()).action.dump()
- //alert(this.util.xmlVersAction(this.getXMLrafraichirMessages()).action)
- this.attenteCourante = jQuery.ajax({
- type: "POST",
- url: "request",
- dataType: "xml",
- data: this.util.xmlVersAction(this.getXMLrafraichirMessages()),
- success:
- function(data)
- { \r
- thisMessages.util.serializer.serializeToString(data).dump()\r
-
- if (vider)
- {
- thisMessages.viderMessages()
- /* Obsolète : pas besoin de supprimer les conversations
- for (var i = 1; i < this.conversations.length; i++)
- this.supprimerConversation(1)
- */
- }
-
- //thisMessages.MAJPages(parseInt(jQuery("nbPage", data.documentElement).text()))
-
- // ajoute les messages reçu à leur conversation respective
- var numConv = 0
- jQuery("conversation", data.documentElement).each(
- function(i)
- {
- var messages = []
- jQuery("message", this).each(
- function(j)
- {
- // thisMessages.ajouterMessage(this, numConv)
- messages.push(this)
- }
- )
- //alert("ajoutMess : " + messages.length + " " + numConv)
- thisMessages.ajouterMessages(messages, numConv)
- numConv += 1
- }
- )
-
- // demande à toutes les conversations d'afficher les messages non-affichés
- //thisMessages.flush()
-
- // rappel de la fonction dans 100 ms
- setTimeout(function(){ thisMessages.rafraichirMessages() }, 100);
- },
- error:
- function(XMLHttpRequest, textStatus, errorThrown)
- {
- setTimeout(function(){ thisMessages.rafraichirMessages() }, 1000);
- }