/***************************************************************************
- * Copyright (C) 2003-2008 Polytechnique.org *
+ * Copyright (C) 2003-2010 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
function AjaxEngine()
{
- this.xml_client = null;
- this.init = false;
- this.obj = null;
- this.func = null;
-
- this.prepare_client = function()
- {
- if (!this.init) {
- if (window.XMLHttpRequest) {
- this.xml_client = new XMLHttpRequest();
- } else if (window.ActiveXObject) {
- try {
- this.xml_client = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (e) {
- this.xml_client = new ActiveXObject("Microsoft.XMLHTTP");
- }
- }
- if (this.xml_client == null) {
- alert("Ton client ne supporte pas Ajax, nécessaire pour certaines fonctionalités de cette page");
- }
- }
- this.init = true;
- }
-
this.update_html = function(obj, src, func)
{
- this.prepare_client();
- if (this.xml_client == null) {
- return true;
- }
- if (src.match(/^http/i) == null) {
- src = platal_baseurl + src;
- }
- this.obj = obj;
- this.func = func;
- this.xml_client.abort();
- this.xml_client.onreadystatechange = this.apply_update_html(this);
- this.xml_client.open ('GET', src, true);
- this.xml_client.send (null);
- return false;
- }
-
- this.apply_update_html = function(ajax)
- {
- return function()
- {
- if(ajax.xml_client.readyState == 4) {
- if (ajax.xml_client.status == 200) {
- if (ajax.obj != null) {
- document.getElementById(ajax.obj).innerHTML = ajax.xml_client.responseText;
+ $.get(src,
+ function(data, textStatus) {
+ if (textStatus == "success") {
+ if (obj) {
+ $('#' + obj).html(data);
}
- if (ajax.func != null) {
- ajax.func(ajax.xml_client.responseText);
+ if (func) {
+ func(data);
}
- } else if (ajax.xml_client.status == 403) {
- window.location.reload();
+ } else if (textStatus == "error") {
+ alert("Une erreur s'est produite lors du traitement de la requête.\n"
+ +"Ta session a peut-être expirée.");
}
- }
- };
+ }, 'text');
+ return false;
}
}
function previewWiki(idFrom, idTo, withTitle, idShow)
{
- var text = encodeURIComponent(document.getElementById(idFrom).value);
+ var text = document.getElementById(idFrom).value;
if (text == "") {
return false;
}
if (!withTitle) {
url += "/notitle";
}
- Ajax.update_html(idTo, url + "?text=" + text);
+ $.post(url, { text: text },
+ function(data) {
+ $("#" + idTo).html(data);
+ },
+ 'text');
if (idShow != null) {
document.getElementById(idShow).style.display = "";
}
}
-function sendTestEmail(token, forlife)
+function sendTestEmail(token, hruid)
{
- Ajax.update_html(null, 'emails/test' + (forlife == null ? '' : '/' + forlife) + '?token=' + token,
+ Ajax.update_html(null, 'emails/test' + (hruid == null ? '' : '/' + hruid) + '?token=' + token,
function() {
- showTempMessage('mail_sent', "Un mail a été envoyé avec succès"
- + (forlife == null ? " sur ton adresse." : " sur l'adresse de " + forlife),
+ showTempMessage('mail_sent', "Un email a été envoyé avec succès"
+ + (hruid == null ? " sur ton adresse." : " sur l'adresse de " + hruid),
true); });
return false;
}