X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=htdocs%2Fjavascript%2Fajax.js;h=fa2849d3af06620a9f08cc0b5d54c6f8a8e6399b;hb=e97df22eacc433a9982aad507f980b303d5fa2c1;hp=71797f0c8cf08d32eefd7ab1605d85311277752f;hpb=a1cec8694f46c786d38564105711d78abc39c187;p=platal.git diff --git a/htdocs/javascript/ajax.js b/htdocs/javascript/ajax.js index 71797f0..fa2849d 100644 --- a/htdocs/javascript/ajax.js +++ b/htdocs/javascript/ajax.js @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2003-2008 Polytechnique.org * + * Copyright (C) 2003-2009 Polytechnique.org * * http://opensource.polytechnique.org/ * * * * This program is free software; you can redistribute it and/or modify * @@ -20,67 +20,23 @@ 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 (ajax.xml_client.status >= 500) { - alert("Une erreur s'est produite lors du traitement de la requête"); + } 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; } } @@ -128,7 +84,7 @@ function showTempMessage(id, message, success) function previewWiki(idFrom, idTo, withTitle, idShow) { - var text = encodeURIComponent(document.getElementById(idFrom).value); + var text = document.getElementById(idFrom).value; if (text == "") { return false; } @@ -136,18 +92,22 @@ function previewWiki(idFrom, idTo, withTitle, idShow) 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 email a été envoyé avec succès" - + (forlife == null ? " sur ton adresse." : " sur l'adresse de " + forlife), + + (hruid == null ? " sur ton adresse." : " sur l'adresse de " + hruid), true); }); return false; }