X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;ds=sidebyside;f=js%2FpageMinichat.js;h=94f6e7ce65be6caded2f583b909debde3aa06afa;hb=01922222ac686c2507052c0cc1d755495145d154;hp=2be7ca5af0930c899de54150494c868613ed5f48;hpb=ad1fa23b71f5025d415e3a6c5289b3d1240ae4a4;p=euphorik.git diff --git a/js/pageMinichat.js b/js/pageMinichat.js index 2be7ca5..94f6e7c 100755 --- a/js/pageMinichat.js +++ b/js/pageMinichat.js @@ -40,6 +40,21 @@ PageMinichat.prototype.charger = function() this.util.setCaretToEnd(jQuery("form input.message")[0]) + // les outils de bannissement (uniquement pour les ekMaster) + if (this.client.ekMaster) + { + jQuery("body").append( + "
\"Ban\"Ban\"Avertissement\"
" + ) + jQuery("#outilsBan").hover( + function(){}, + function() + { + jQuery("#outilsBan").hide() + } + ) + } + // jQuery("body").append("
") // affichage des smiles @@ -134,6 +149,7 @@ PageMinichat.prototype.decharger = function() this.messages.stopAttenteCourante() jQuery("body #smiles").remove() + jQuery("body #outilsBan").remove() } PageMinichat.prototype.getJSONMessage = function(pseudo, message, repondA) @@ -209,7 +225,11 @@ PageMinichat.prototype.envoyerMessage = function(pseudo, message) thisPageMinichat.messages.conversations[c].messages[m].clientARepondu = true */ } - } + } + else if (data["reply"] == "error") + { + thisPageMinichat.util.messageDialogue(data["error_message"]) + } } } ) @@ -239,9 +259,10 @@ function Reponse(id, pseudo, login) * @param pseudo * @param contenu */ -function Message(id, date, pseudo, login, contenu) +function Message(id, auteurId, date, pseudo, login, contenu) { this.id = id + this.auteurId = auteurId this.date = date this.pseudo = pseudo this.login = login @@ -484,7 +505,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv) "\">" + "
>
" + "[" + message.date + "]" + - "" + identifiant + ":" + + "" + identifiant + ":" + XHTMLrepondA + "" + (message.systeme ? this.formateur.remplacerBalisesHTML(message.contenu) : this.formateur.traitementComplet(message.contenu, message.pseudo)) + "" + "" @@ -518,13 +539,40 @@ Conversation.prototype.flush = function(funClickOuvrirConv) } ) + // les outils de bannissement (uniquement pour les ekMaster) + if (thisConversation.client.ekMaster) + jQuery(".pseudo", this).hover( + function(e) + { + var userId = parseInt(jQuery(this).attr("id").substr(4)) + var element = jQuery(e.target) + var h = element.height() + var offset = element.offset() + var outils = jQuery("#outilsBan").css("top", offset.top - 2).css("left", offset.left - 2).height(h < 16 ? 16 : h).width(element.width() + 16 * 3 + 4).show() + jQuery("img", outils).unbind() + jQuery("#kick", outils).click( + function(e) + { + thisConversation.client.kick(userId) + } + ) + jQuery("#ban", outils).click( + function(e) + { + thisConversation.client.ban(userId) + } + ) + }, + function(){} + ) + jQuery(this).click( function(event) { if (jQuery(event.target).is("a")) return // l'id du message - idMess = jQuery(this).attr("id") + var idMess = jQuery(this).attr("id") // extraction d'une conversation if (jQuery(event.target).is(".extraire")) @@ -611,9 +659,6 @@ function Messages(client, formateur, util) this.conversations = new Array() // les conversations, la première représente la conversation principale this.nouvelleConversation(0) - -// Obsolète - //this.idDernierMessage = null // l'id du dernier message connu // l'objet JSONHttpRequest représentant la connexion d'attente this.attenteCourante = null @@ -690,6 +735,7 @@ Messages.prototype.ajouterMessage = function(element, numConversation) var message = new Message( id, + element["user_id"], element["date"], element["nick"], element["login"], @@ -849,8 +895,6 @@ Messages.prototype.rafraichirMessages = function(vider) this.stopAttenteCourante() - /*if (vider) - this.idDernierMessage = null*/ if (vider) for (var i = 0; i < this.conversations.length; i++) this.conversations[i].idDernierMessageAffiche = 0