From 7ceabc8815ef27557826380d649e18942b02c814 Mon Sep 17 00:00:00 2001 From: alecpl Date: Sat, 29 May 2010 17:16:45 +0000 Subject: - Add request* event triggers in http_post/http_request (#1486054) --- CHANGELOG | 1 + program/js/app.js | 24 ++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 00fb61a51..86694689d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Add request* event triggers in http_post/http_request (#1486054) - Fix use RFC-compliant line-delimiter when saving messages on IMAP (#1486712) - Add 'imap_timeout' option (#1486760) - Fix forwarding of messages with winmail attachments diff --git a/program/js/app.js b/program/js/app.js index fbbae4a0b..dcc212071 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -4884,9 +4884,19 @@ function rcube_webmail() // send a http request to the server this.http_request = function(action, querystring, lock) { - querystring += (querystring ? '&' : '') + '_remote=1'; - var url = this.env.comm_path + '&_action=' + action + '&' + querystring + // trigger plugin hook + var result = this.triggerEvent('request'+action, querystring); + if (typeof result != 'undefined') { + // abort if one the handlers returned false + if (result === false) + return false; + else + querystring = result; + } + querystring += (querystring ? '&' : '') + '_remote=1'; + var url = this.env.comm_path + '&_action=' + action + '&' + querystring; + // send request console.log('HTTP GET: ' + url); $.get(url, { _unlock:(lock?1:0) }, function(data){ ref.http_response(data); }, 'json'); @@ -4904,6 +4914,16 @@ function rcube_webmail() else postdata += (postdata ? '&' : '') + '_remote=1' + (lock ? '&_unlock=1' : ''); + // trigger plugin hook + var result = this.triggerEvent('request'+action, postdata); + if (typeof result != 'undefined') { + // abort if one the handlers returned false + if (result === false) + return false; + else + postdata = result; + } + // send request console.log('HTTP POST: ' + url); $.post(url, postdata, function(data){ ref.http_response(data); }, 'json'); -- cgit v1.2.3