X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=htdocs%2Fjavascript%2Fajax.js;h=fa2849d3af06620a9f08cc0b5d54c6f8a8e6399b;hb=e97df22eacc433a9982aad507f980b303d5fa2c1;hp=71382a91c90c8cd42284afcd24821344da57c1b8;hpb=b9dcbdddb6ac127cb08bcc6c279ec58d0663c3a0;p=platal.git diff --git a/htdocs/javascript/ajax.js b/htdocs/javascript/ajax.js index 71382a9..fa2849d 100644 --- a/htdocs/javascript/ajax.js +++ b/htdocs/javascript/ajax.js @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2003-2007 Polytechnique.org * + * Copyright (C) 2003-2009 Polytechnique.org * * http://opensource.polytechnique.org/ * * * * This program is free software; you can redistribute it and/or modify * @@ -18,57 +18,30 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * ***************************************************************************/ -Ajax = { - xml_client: null, - init: false, - - prepare_client: function() - { - if (!Ajax.init) { - if (window.XMLHttpRequest) { - Ajax.xml_client = new XMLHttpRequest(); - } else if (window.ActiveXObject) { - try { - Ajax.xml_client = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - Ajax.xml_client = new ActiveXObject("Microsoft.XMLHTTP"); - } - } - if (Ajax.xml_client == null) { - alert("Ton client ne supporte pas Ajax, nécessaire pour certaines fonctionalités de cette page"); - } - } - Ajax.init = true; - }, - - update_html: function(obj, src, func) +function AjaxEngine() +{ + this.update_html = function(obj, src, func) { - Ajax.prepare_client(); - if (Ajax.xml_client == null) { - return true; - } - Ajax.xml_client.abort(); - Ajax.xml_client.onreadystatechange = function() - { - if(Ajax.xml_client.readyState == 4) { - if (Ajax.xml_client.status == 200) { - if (obj != null) { - document.getElementById(obj).innerHTML = Ajax.xml_client.responseText; - } - if (func != null) { - func(Ajax.xml_client.responseText); - } - } else if (Ajax.xml_client.status == 403) { - window.location.reload(); + $.get(src, + function(data, textStatus) { + if (textStatus == "success") { + if (obj) { + $('#' + obj).html(data); } + if (func) { + func(data); + } + } 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."); } - }; - Ajax.xml_client.open ('GET', src, true); - Ajax.xml_client.send (null); + }, 'text'); return false; } } +var Ajax = new AjaxEngine(); + var currentTempMessage = 0; function setOpacity(obj, opacity) { @@ -88,10 +61,10 @@ function _showTempMessage(id, state, back) var obj = document.getElementById(id); if (currentTempMessage != state) { return; - } - setOpacity(obj, back * 5); + } + setOpacity(obj, back * 4); if (back > 0) { - setTimeout("_showTempMessage('" + id + "', " + currentTempMessage + "," + (back-1) + ")", 100); + setTimeout("_showTempMessage('" + id + "', " + currentTempMessage + "," + (back-1) + ")", 125); } else { obj.innerHTML = ""; } @@ -106,7 +79,37 @@ function showTempMessage(id, message, success) obj.style.color = (success ? "green" : "red");; currentTempMessage++; setOpacity(obj, 100); - setTimeout("_showTempMessage('" + id + "', " + currentTempMessage + ", 20)", 700); + setTimeout("_showTempMessage('" + id + "', " + currentTempMessage + ", 25)", 1000); +} + +function previewWiki(idFrom, idTo, withTitle, idShow) +{ + var text = document.getElementById(idFrom).value; + if (text == "") { + return false; + } + var url = "wiki_preview"; + if (!withTitle) { + url += "/notitle"; + } + $.post(url, { text: text }, + function(data) { + $("#" + idTo).html(data); + }, + 'text'); + if (idShow != null) { + document.getElementById(idShow).style.display = ""; + } +} + +function sendTestEmail(token, hruid) +{ + Ajax.update_html(null, 'emails/test' + (hruid == null ? '' : '/' + hruid) + '?token=' + token, + function() { + showTempMessage('mail_sent', "Un email a été envoyé avec succès" + + (hruid == null ? " sur ton adresse." : " sur l'adresse de " + hruid), + true); }); + return false; } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: