PageMinichat.prototype.contenu = function()
{
return '\
+<div id="trollCourant">Troll de la semaine : <span class="troll"></span></div>\
<form method="post" action="">\
<p>\
<input class="captcha" name="captcha" type="text" size="8" maxlength="8"></input>\
- <input class="pseudo" name="pseudo" type="text" size="12" maxlength="50" value="<nick>"></input>\
- <input class="message" name="message" type="text" size="80" maxlength="500" value=""></input>\
+ <input class="pseudo" name="pseudo" type="text" maxlength="50" value="<nick>"></input>\
+ <input class="message" name="message" type="text" maxlength="500" value=""></input>\
<button class="smiles"></button>\
<button class="return"></button>\
</p>\
$("form button.smiles").hover(
function(e)
{
- var offset = $(e.target).offset()
- $("#smiles").css("top", offset.top).css("left", offset.left).show()
+ var position = $(e.target).offset()
+ // le décalage pour ne pas dépasser à droite (10 correspond à la marge pour éviter de coller le bord)
+ var decalage = $("body").width() - $("#smiles").width() - position.left - 10
+ decalage = decalage > 0 ? 0 : decalage
+
+ $("#smiles").css("top", position.top).css("left", position.left + decalage).show()
},
function(e){}
)
$("form input.message").val()
)
- $("form input.message")[0].focus()
+ $("form input.message").focus()
}
$("form").keypress(
if (this.messages[i].id > this.idDernierMessageAffiche)
{
var message = this.messages[i]
-
+
// construit l'identifiant de la personne
var identifiant =
- this.client.nickFormat == "nick" ? this.formateur.traitementComplet(message.pseudo) :
+ this.client.nickFormat == "nick" || message.login == "" ? this.formateur.traitementComplet(message.pseudo) :
(this.client.nickFormat == "login" ? this.formateur.traitementComplet(message.login) :
this.formateur.traitementComplet(message.pseudo) + "<span class=\"login\">(" + this.formateur.traitementComplet(message.login) +")</span>" )
function(e)
{
var userId = parseInt($(this).attr("id").substr(4))
- var element = $(e.target)
+ var element = $(this)
var h = element.height()
var offset = element.offset()
var outils = $("#outilsBan").css("top", offset.top - 2).css("left", offset.left - 2).height(h < 16 ? 16 : h).width(element.width() + 16 * 3 + 4 + 64).show()
this.conversations = new Array() // les conversations, la première représente la conversation principale
this.nouvelleConversation(0)
+ this.trollIdCourant = 0
+
this.pageEvent = new PageEvent("chat", this.util)
}
var mess = {
"message_count" : conf.nbMessageAffiche,
"main_page" : this.client.pagePrincipale,
- "conversations" : this.getJSONConversations()
+ "conversations" : this.getJSONConversations(),
+ "troll_id" : this.trollIdCourant
}
- if (this.client.cookie != null) mess["cookie"] = this.client.cookie;
+ if (this.client.cookie != null) mess["cookie"] = this.client.cookie
mess["last_message_id"] = this.conversations[0].idDernierMessageAffiche
return mess
function() { return thisMessages.getJSONrafraichirMessages() },
function(data)
{
- if (vider)
- {
- thisMessages.viderMessages()
- vider = false
- }
-
- // ajoute les messages reçus à leur conversation respective
- for (var numConv = 0; numConv < data["conversations"].length; numConv++)
- {
- if (! thisMessages.ajouterMessages(data["conversations"][numConv], numConv))
+ if (vider)
+ {
+ thisMessages.viderMessages()
+ vider = false
+ }
+
+ // en fonction du message
+ switch(data["reply"])
+ {
+ case "new_troll" :
+ thisMessages.trollIdCourant = data["troll_id"]
+ $("#trollCourant .troll").html(thisMessages.formateur.traitementComplet(data["content"]))
+ $("#trollCourant .troll a[@rel*=lightbox]").lightBox()
+ break
+
+ case "new_messages" :
+ // ajoute les messages reçus à leur conversation respective
+ for (var numConv = 0; numConv < data["conversations"].length; numConv++)
{
- thisMessages.util.messageDialogue("La conversation {" + thisMessages.client.conversations[numConv -1].root.toString(36) + "} n'existe pas")
- thisMessages.client.supprimerConversation(numConv - 1)
+ if (! thisMessages.ajouterMessages(data["conversations"][numConv], numConv))
+ {
+ thisMessages.util.messageDialogue("La conversation {" + thisMessages.client.conversations[numConv -1].root.toString(36) + "} n'existe pas")
+ thisMessages.client.supprimerConversation(numConv - 1)
+ }
}
- }
+ break
+ }
}
)
}