X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;ds=inline;f=js%2FpageMinichat.js;h=aeda772ebd4f64d2bc8da3f0673e445de61b641e;hb=f55ef9d6bc7352e2dffe18ded028a5a2e0cc3936;hp=2be7ca5af0930c899de54150494c868613ed5f48;hpb=13bf850da2316cde3ad2ff8d5c26fb32928bf7b4;p=euphorik.git
diff --git a/js/pageMinichat.js b/js/pageMinichat.js
index 2be7ca5..aeda772 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(
+ "
"
+ )
+ 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)) + "" +
""
@@ -494,10 +515,6 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
jQuery("#conversations #" + this.getId()).prepend(XHTML)
- // mise à jour des images (LightBox) après l'ajout de message
- if (myLightbox != null)
- myLightbox.updateImageList()
-
// enlève les messages exedentaires
var nbMessagesAffiche = jQuery("#conversations #" + this.getId() + " .message").size()
@@ -518,13 +535,42 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
}
)
+ $("a[@rel*=lightbox]").lightBox()
+
+ // 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 +657,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 +733,7 @@ Messages.prototype.ajouterMessage = function(element, numConversation)
var message = new Message(
id,
+ element["user_id"],
element["date"],
element["nick"],
element["login"],
@@ -849,8 +893,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