* Normalement 'const' à la place de 'var' mais non supporté par IE7.
*/
var conf = {
+ versionProtocole : 3, // version du protcole
nickDefaut : "<nick>",
- nbMessageAffiche : 40, // (par page)
+ nbMessageAffiche : 10, // (par page)
pseudoDefaut : "<nick>",
tempsAffichageMessageDialogue : 4000, // en ms
tempsKick : 15, // en minute
this.pagePrincipale = 1
this.ekMaster = false
+ this.ostentatiousMaster = "light"
// les conversations, une conversation est un objet possédant les attributs suivants :
// - root (entier)
Client.prototype.getJSONLogin = function(login, password)
{
return {
- "action" : "authentification",
+ "header" : { "action" : "authentification", "version" : conf.versionProtocole },
"login" : login,
"password" : password
}
Client.prototype.getJSONLoginCookie = function()
{
return {
- "action" : "authentification",
+ "header" : { "action" : "authentification", "version" : conf.versionProtocole },
"cookie" : this.cookie
}
}
*/
Client.prototype.getJSONEnregistrement = function(login, password)
{
- var mess = { "action" : "register" }
+ var mess = { "header" : { "action" : "register", "version" : conf.versionProtocole }}
if (login != undefined && password != undefined)
{
{
var conversations = new Array()
for (var i = 0; i < this.conversations.length; i++)
- conversations.push(this.conversations[i].root)
+ conversations.push({root : this.conversations[i].root, minimized : this.conversations[i].reduit})
return conversations
}
Client.prototype.getJSONProfile = function()
{
return {
- "action" : "set_profile",
+ "header" : { "action" : "set_profile", "version" : conf.versionProtocole },
"cookie" : this.cookie,
"login" : this.login,
"password" : this.password,
"nick_format" : this.nickFormat,
"view_times" : this.viewTimes,
"view_tooltips" : this.viewTooltips,
- "conversations" : this.getJSONConversations()
+ "conversations" : this.getJSONConversations(),
+ "ostentatious_master" : this.ostentatiousMaster
}
}
this.statut = statut
this.majMenu()
+ this.majLogo()
}
/**
Client.prototype.connexion = function(messageJson)
{
- ;; dumpObj(messageJson)
thisClient = this
jQuery.ajax(
{
success:
function(data)
{
- ;; dumpObj(data)
if (data["reply"] == "error")
thisClient.util.messageDialogue(data["error_message"])
else
this.nickFormat = data["nick_format"]
this.viewTimes = data["view_times"]
this.viewTooltips = data["view_tooltips"]
+ this.ostentatiousMaster = data["ostentatious_master"]
// la page de la conversation principale
this.pagePrincipale = 1
// les conversations
this.conversations = data["conversations"]
for (var i = 0; i < this.conversations.length; i++)
- this.conversations[i] = {root : this.conversations[i], page : 1}
+ this.conversations[i] = {root : this.conversations[i].root, page : 1, reduit : this.conversations[i].minimized}
this.majBulle()
this.majCssSelectionee()
+ //this.majLogo()
}
}
var thisClient = this
var ok = true
- ;; dumpObj(this.getJSONProfile())
jQuery.ajax(
{
async: async,
success:
function(data)
{
- ;; dumpObj(data)
if (data["reply"] == "error")
{
thisClient.util.messageDialogue(data["error_message"])
}
}
+/**
+ * Change la "class" du logo en fonction du statut de ekMaster.
+ */
+Client.prototype.majLogo = function()
+{
+ if (this.ekMaster)
+ $("#logo").addClass("ekMaster")
+ else
+ $("#logo").removeClass("ekMaster")
+}
+
+
Client.prototype.slap = function(userId, raison)
{
var thisClient = this
dataType: "json",
data: this.util.jsonVersAction(
{
- "action" : "slap",
+ "header" : { "action" : "slap", "version" : conf.versionProtocole },
"cookie" : thisClient.cookie,
"user_id" : userId,
"reason" : raison
dataType: "json",
data: this.util.jsonVersAction(
{
- "action" : "ban",
+ "header" : { "action" : "ban", "version" : conf.versionProtocole },
"cookie" : thisClient.cookie,
"duration" : minutes,
"user_id" : userId,
* classe permettant de gérer les événements (push serveur).
* l'information envoyé est sous la forme :
* {
- * "action" : "wait_event"
+ * "header" : {"action" : "wait_event", "version" : <v> },
* "page" : <page>
* [..]
* }
// TODO : ya pas mieux ?
var dataToSend =
{
- "action" : "wait_event",
+ "header" : { "action" : "wait_event", "version" : conf.versionProtocole },
"page" : this.page
}
var poulpe = funSend()
for (v in poulpe)
dataToSend[v] = poulpe[v]
- ;; dumpObj(dataToSend)
-
this.attenteCourante = jQuery.ajax({
type: "POST",
url: "request",
data: this.util.jsonVersAction(dataToSend),
success:
function(data)
- {
- ;; dumpObj(data)
-
+ {
funsReceive[data["reply"]](data)
// rappel de la fonction dans 100 ms