- if ($("form input.captcha").val() != "") return
-
- thisPage.envoyerMessage(
- $("form input.pseudo").val(),
- $("form input.message").val()
- )
-
- $("form input.message").focus()
- }
-
- $("form").keypress(
- function(e)
- {
- if (e.which == 13) // return
- nouveauMessage()
- }
- )
-
- $("form button.return").click(nouveauMessage)
-
- // interdiction de submiter le formulaire
- $("form").submit(function(){ return false})
-
- $("input.pseudo").click(
- function()
- {
- var input = $("input.pseudo")[0]
- if (input.value == conf.pseudoDefaut)
- input.value = ""
- }
- )
-}
-
-PageMinichat.prototype.decharger = function()
-{
- this.messages.pageEvent.stopAttenteCourante()
-
- $("body #smiles").remove()
-}
-
-PageMinichat.prototype.getJSONMessage = function(pseudo, message, repondA)
-{
- return {
- "action" : "put_message",
- "cookie" : this.client.cookie,
- "nick" : pseudo,
- "content" : message,
- "answer_to" : repondA
- }
-}
-
-PageMinichat.prototype.envoyerMessage = function(pseudo, message)
-{
- var thisPageMinichat = this
-
- // (un pseudo vide est autorisé)
- pseudo = this.formateur.filtrerInputPseudo(pseudo)
-
- // extraction des id des messages (en base 36 évidemment) auquels le user répond
- var repondA = []
- var tags = message.match(this.regexMessageTagMatch)
- if (tags != null)
- {
- for(var i = 0; i < tags.length; i++)
- repondA.push(parseInt(/\{(.*?)\}>/.exec(tags[i])[1], 36))
- message = message.replace(this.regexMessageTagReplace, "")
- }
-
- if (pseudo == conf.nickDefaut)
- {
- this.util.messageDialogue("Le pseudo ne peut pas être " + conf.nickDefaut)
- return
- }
-
- message = message.trim()
- if (message == "")
- {
- this.util.messageDialogue("Le message est vide")
- return
- }
-
- if (!this.client.authentifie())
- if (!this.client.enregistrement())
- {
- this.util.messageDialogue("login impossible")
- return
- }
-
- this.client.pseudo = pseudo
-
- // évite le double post
- if (this.envoieMessageEnCours)
- {
- this.util.messageDialogue("Message en cours d'envoie...")
- return
- }
- this.envoieMessageEnCours = true
-
- ;; dumpObj(this.getJSONMessage(pseudo, message, repondA))
- jQuery.ajax(
- {
- url : "request",
- type: "POST",
- data : this.util.jsonVersAction(this.getJSONMessage(pseudo, message, repondA)),
- dataType : "json",
- beforeSend : function(xmlHttpRequest)
- {
- // TODO : ça marche ça ??
- xmlHttpRequest.setRequestHeader("X-Requested-With", "")
- },
- success : function(data, textStatus)
- {
- ;; dumpObj(data)
-
- if(data["reply"] == "ok")
- {
- $("form input.message").val("")
-
- // met à jour la classe des messages auquel repond celui ci (c'est un peu de la triche) TODO : ya mieux ?
- for (var i = 0; i < repondA.length; i++)
- {
- for (var j = 0; j < thisPageMinichat.messages.conversations.length; j++)
- {
- var mess = thisPageMinichat.messages.conversations[j].messagesParId[repondA[i]]
- if (mess != undefined)
- mess.clientARepondu = true
- }
- $("#conversations div#mess" + repondA[i].toString(36)).addClass("repondu")
- }
- }
- else if (data["reply"] == "error")
- {
- thisPageMinichat.util.messageDialogue(data["error_message"])
- }
- thisPageMinichat.envoieMessageEnCours = false
- },
- error : function()
- {
- thisPageMinichat.envoieMessageEnCours = false