summaryrefslogtreecommitdiff
path: root/program/js/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'program/js/app.js')
-rw-r--r--program/js/app.js26
1 files changed, 21 insertions, 5 deletions
diff --git a/program/js/app.js b/program/js/app.js
index 52bf4f67a..c08ba34b4 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1288,7 +1288,7 @@ function rcube_webmail()
}
}
- this.http_post('save-pref', '_name=collapsed_folders&_value='+urlencode(this.env.collapsed_folders));
+ this.http_post('utils/save-pref', '_name=collapsed_folders&_value='+urlencode(this.env.collapsed_folders));
this.set_unread_count_display(id, false);
};
@@ -1459,7 +1459,7 @@ function rcube_webmail()
if ((found = $.inArray('subject', this.env.coltypes)) >= 0)
this.set_env('subject_col', found);
- this.http_post('save-pref', { '_name':'list_cols', '_value':this.env.coltypes });
+ this.http_post('utils/save-pref', { '_name':'list_cols', '_value':this.env.coltypes, '_session':'list_attrib/columns' });
};
this.check_droptarget = function(id)
@@ -4894,8 +4894,17 @@ function rcube_webmail()
// send a http request to the server
this.http_request = function(action, querystring, lock)
{
+ var url = this.env.comm_path;
+
+ // overwrite task name
+ if (action.match(/([a-z]+)\/([a-z-_]+)/)) {
+ action = RegExp.$2;
+ url = url.replace(/\_task=[a-z]+/, '_task='+RegExp.$1);
+ }
+
// trigger plugin hook
var result = this.triggerEvent('request'+action, querystring);
+
if (typeof result != 'undefined') {
// abort if one the handlers returned false
if (result === false)
@@ -4904,8 +4913,7 @@ function rcube_webmail()
querystring = result;
}
- querystring += (querystring ? '&' : '') + '_remote=1';
- var url = this.env.comm_path + '&_action=' + action + '&' + querystring;
+ url += '&_remote=1&_action=' + action + (querystring ? '&' : '') + querystring;
// send request
console.log('HTTP GET: ' + url);
@@ -4915,7 +4923,15 @@ function rcube_webmail()
// send a http POST request to the server
this.http_post = function(action, postdata, lock)
{
- var url = this.env.comm_path+'&_action=' + action;
+ var url = this.env.comm_path;
+
+ // overwrite task name
+ if (action.match(/([a-z]+)\/([a-z-_]+)/)) {
+ action = RegExp.$2;
+ url = url.replace(/\_task=[a-z]+/, '_task='+RegExp.$1);
+ }
+
+ url += '&_action=' + action;
if (postdata && typeof(postdata) == 'object') {
postdata._remote = 1;