From 19944389b67dffe01709f31a69af65976a81aaa4 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Wed, 19 Jan 2011 15:03:49 -0500 Subject: [PATCH] Prototype 1.7 seems to need ajax parameters wrapped with encodeURI() This fixes the broken mailbox view --- webcit/static/instant_messenger.html | 4 ++-- webcit/static/summaryview.js | 25 ++++++++++++++++--------- webcit/static/wclib.js | 5 +++-- webcit/webcit.c | 2 +- 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/webcit/static/instant_messenger.html b/webcit/static/instant_messenger.html index dc2e3cd5c..cd546c33c 100644 --- a/webcit/static/instant_messenger.html +++ b/webcit/static/instant_messenger.html @@ -171,7 +171,7 @@ function ShowNewMsg(gexp_xmlresponse) { // This is called periodically to check for new incoming messages function FetchNewMsgs() { - parms = 'g_cmd=GEXP&r=' + Math.random(); + parms = encodeURI('g_cmd=GEXP&r=' + Math.random()); new Ajax.Request('../ajax_servcmd', { method: 'get', @@ -182,7 +182,7 @@ function FetchNewMsgs() { } // Perform some initialization. -parms = 'g_cmd=GREG _SELF_&r=' + Math.random(); +parms = encodeURI('g_cmd=GREG _SELF_&r=' + Math.random()); new Ajax.Request('../ajax_servcmd', { method: 'get', diff --git a/webcit/static/summaryview.js b/webcit/static/summaryview.js index 6fd338c77..edcb3e2b8 100644 --- a/webcit/static/summaryview.js +++ b/webcit/static/summaryview.js @@ -279,10 +279,12 @@ function CtdlMessageListClick(evt) { document.getElementById("preview_pane").innerHTML = ""; new Ajax.Updater('preview_pane', 'msg/'+msgId, {method: 'get'}); markRow(parent); + var p = encodeURI('g_cmd=SEEN ' + msgId + '|1'); new Ajax.Request('ajax_servcmd', { method: 'post', - parameters: 'g_cmd=SEEN ' + msgId + '|1', - onComplete: CtdlMarkRowAsRead(parent)}); + parameters: p, + onComplete: CtdlMarkRowAsRead(parent) + }); // If the shift key modifier is used, mark a range... } else if (event.button != 2 && event.shiftKey) { if (originalMarkedRow == null) { @@ -408,16 +410,21 @@ function deleteAllMarkedRows() { } function deleteAllSelectedMessages() { + var pa = ""; for(msgId in currentlyMarkedRows) { if (!room_is_trash) { - new Ajax.Request('ajax_servcmd', - {method: 'post', - parameters: 'g_cmd=MOVE ' + msgId + '|_TRASH_|0' - }); - } else { - new Ajax.Request('ajax_servcmd', {method: 'post', - parameters: 'g_cmd=DELE '+msgId}); + pa = encodeURI("g_cmd=MOVE " + msgId + "|_TRASH_|0"); + } + else { + pa = encodeURI("g_cmd=DELE " + msgId); } + new Ajax.Request("ajax_servcmd", { + parameters: pa, + method: 'post', + onSuccess: function(transport) { + WCLog(transport.responseText); + } + }); } document.getElementById("preview_pane").innerHTML = ""; deleteAllMarkedRows(); diff --git a/webcit/static/wclib.js b/webcit/static/wclib.js index 2c3a8fdf0..711bbf520 100644 --- a/webcit/static/wclib.js +++ b/webcit/static/wclib.js @@ -317,7 +317,7 @@ function roomListDropHandler(target, dropped) { for(msgId in currentlyMarkedRows) { //defined in summaryview.js msgIds += ","+msgId; } - var mvCommand = "g_cmd=MOVE " + msgIds + "|"+room+"|0"; + var mvCommand = encodeURI("g_cmd=MOVE " + msgIds + "|"+room+"|0"); new Ajax.Request('ajax_servcmd', { method: 'post', parameters: mvCommand, @@ -853,10 +853,11 @@ function RefreshSMTPqueueDisplay() { } function DeleteSMTPqueueMsg(msgnum1, msgnum2) { + var p = encodeURI('g_cmd=DELE ' + msgnum1 + ',' + msgnum2); new Ajax.Request( 'ajax_servcmd', { method: 'post', - parameters: 'g_cmd=DELE ' + msgnum1 + ',' + msgnum2, + parameters: p, onComplete: RefreshSMTPqueueDisplay() } ); diff --git a/webcit/webcit.c b/webcit/webcit.c index 93dad13cf..57399ca22 100644 --- a/webcit/webcit.c +++ b/webcit/webcit.c @@ -406,7 +406,7 @@ void ajax_servcmd(void) char *junk; size_t len; - syslog(LOG_DEBUG, "ajax_servcmd() gcmd=\"%s\"\n", bstr("g_cmd") ); + syslog(LOG_DEBUG, "ajax_servcmd() g_cmd=\"%s\"\n", bstr("g_cmd") ); begin_ajax_response(); Buf = NewStrBuf(); serv_puts(bstr("g_cmd")); -- 2.30.2