-// coding: utf-8\r
+// coding: utf-8\r
// Copyright 2008 Grégory Burri\r
//\r
// This file is part of Euphorik.\r
var conf = {\r
nbMessageAffiche : 40, // (par page)
pseudoDefaut : "<nick>",\r
- tempsAffichageMessageDialogue : 4000, // en ms\r
+ tempsAffichageMessageDialogue : 4000, // en ms
+ tempsKick : 15, // en minute
+ tempsBan : 60 * 24 * 3, // en minutes (3jours)\r
smiles : { \r
"smile" : [/:\)/g, /:-\)/g], \r
"bigsmile" : [/:D/g, /:-D/g],\r
this.setCaretToPos(input, selectionStart + replaceString.length)\r
}\r
else if (document.selection)
- {\r
- var range = document.selection.createRange();\r
+ {
+ input.focus()\r
+ var range = document.selection.createRange()\r
if (range.parentElement() == input)
{\r
var isCollapsed = range.text == ''\r
range.text = replaceString\r
if (!isCollapsed)
- {
- // there has been a selection\r
- // it appears range.select() should select the newly \r
- // inserted text but that fails with IE\r
+ {\r
range.moveStart('character', -replaceString.length);\r
- range.select();\r
}\r
}\r
}\r
this.pages = {}
}
+/**
+ * Accepte soit un objet soit un string.
+ * un string correspond au nom de la page, par exemple : "page" -> "page.html"
+ */
Pages.prototype.ajouterPage = function(page)
{
- page.pages = this // la magie des langages dynamiques : le foutoire
- this.pages[page.nom] = page
+ if (typeof page == "string")
+ {
+ this.pages[page] = page
+ }
+ else
+ {
+ page.pages = this // la magie des langages dynamiques : le foutoire
+ this.pages[page.nom] = page
+ }
}
Pages.prototype.afficherPage = function(nomPage, forcerChargement)
$("#menu li." + nomPage).addClass("courante")
this.pageCourante = page
- $("#page").html(this.pageCourante.contenu()).removeClass().addClass(this.pageCourante.nom)
+ var contenu = ""
+ if (typeof page == "string")
+ $.ajax({async: false, url: "pages/" + page + ".html", success : function(page) { contenu += page }})
+ else
+ contenu += this.pageCourante.contenu()
+ $("#page").html(contenu).removeClass().addClass(this.pageCourante.nom)
if (this.pageCourante.charger)
this.pageCourante.charger()
document.cookie = "cookie=; max-age=0"\r
}
-Client.prototype.setCookie = function(cookie)
+Client.prototype.setCookie = function()
{
- if (this.cookie == null)
+ if (this.cookie == null || this.cookie == undefined)
return
- document.cookie =
- "cookie="+this.cookie+
- "; max-age=" + (60 * 60 * 24 * 365)
+ // ne fonctionne pas sous IE....
+ /*document.cookie = "cookie=" + this.cookie + "; max-age=" + (60 * 60 * 24 * 365) */
+
+ document.cookie =
+ "cookie="+this.cookie+"; expires=" + new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365).toUTCString()
}
Client.prototype.authentifie = function()
Client.prototype.connexion = function(messageJson)
{
- ;;; dumpObj(messageJson)
+ ;; dumpObj(messageJson)
thisClient = this
jQuery.ajax(
{
success:
function(data)
{
- ;;; dumpObj(data)
+ ;; dumpObj(data)
if (data["reply"] == "error")
thisClient.util.messageDialogue(data["error_message"])
else
var thisClient = this
var ok = true
- ;;; dumpObj(this.getJSONProfile())
+ ;; dumpObj(this.getJSONProfile())
jQuery.ajax(
{
async: async,
success:
function(data)
{
- ;;; dumpObj(data)
+ ;; dumpObj(data)
if (data["reply"] == "error")
{
thisClient.util.messageDialogue(data["error_message"])
// par défaut un ban correspond à 3 jours
if (typeof(minutes) == "undefined")
- minutes = 60 * 24 * 3
+ minutes = conf.tempsBan;
jQuery.ajax({
type: "POST",
Client.prototype.kick = function(userId, raison)
{
- this.ban(userId, raison, 15)
+ this.ban(userId, raison, conf.tempsKick)
}
///////////////////////////////////////////////////////////////////////////////////////////////////
for (v in poulpe)
dataToSend[v] = poulpe[v]
- ;;; dumpObj(dataToSend)
+ ;; dumpObj(dataToSend)
this.attenteCourante = jQuery.ajax({
type: "POST",
success:
function(data)
{
- ;;; dumpObj(data)
+ ;; dumpObj(data)
funReceive(data)
}
// charge dynamiquement le script de debug
-;;; jQuery.ajax({async : false, url : "js/debug.js", dataType : "script"})
+;; jQuery.ajax({async : false, url : "js/debug.js", dataType : "script"})
\r
// le main
$(document).ready(
})
$("#menu .register").click(function(){ pages.afficherPage("register") })
$("#menu .about").click(function(){ pages.afficherPage("about") })
+
+ // TODO : simplifier et pouvoir créer des liens par exemple : <span class="lien" href="conditions">Conditions d'utilisation</span>
+ $("#footer .conditions").click(function(){ pages.afficherPage("conditions_utilisation") })
pages.ajouterPage(new PageMinichat(client, formateur, util))
pages.ajouterPage(new PageAdmin(client, formateur, util))
pages.ajouterPage(new PageProfile(client, formateur, util))
pages.ajouterPage(new PageRegister(client, formateur, util))
pages.ajouterPage(new PageAbout(client, formateur, util))
+ pages.ajouterPage("conditions_utilisation")
+
pages.afficherPage("minichat")
}
)