From e019f2d0f2dc2fbfa345ab5d7ae85e67bfdd76b8 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sat, 25 Sep 2010 09:03:53 -0400
Subject: [PATCH] - s/RoundCube/Roundcube/

---
 program/js/app.js |   58 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 41 insertions(+), 17 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index 48e05f4..c42b62c 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1,9 +1,9 @@
 /*
  +-----------------------------------------------------------------------+
- | RoundCube Webmail Client Script                                       |
+ | Roundcube Webmail Client Script                                       |
  |                                                                       |
- | This file is part of the RoundCube Webmail client                     |
- | Copyright (C) 2005-2010, RoundCube Dev, - Switzerland                 |
+ | This file is part of the Roundcube Webmail client                     |
+ | Copyright (C) 2005-2010, Roundcube Dev, - Switzerland                 |
  | Licensed under the GNU GPL                                            |
  |                                                                       |
  +-----------------------------------------------------------------------+
@@ -56,7 +56,7 @@
   $.ajaxSetup({
     cache:false,
     error:function(request, status, err){ ref.http_error(request, status, err); },
-    beforeSend:function(xmlhttp){ xmlhttp.setRequestHeader('X-RoundCube-Request', ref.env.request_token); }
+    beforeSend:function(xmlhttp){ xmlhttp.setRequestHeader('X-Roundcube-Request', ref.env.request_token); }
   });
 
   // set environment variable(s)
@@ -1288,7 +1288,7 @@
       }
     }
 
-    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 @@
     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)
@@ -1782,11 +1782,11 @@
   {
     if (page == 'next')
       page = this.env.current_page+1;
-    if (page == 'last')
+    else if (page == 'last')
       page = this.env.pagecount;
-    if (page == 'prev' && this.env.current_page > 1)
+    else if (page == 'prev' && this.env.current_page > 1)
       page = this.env.current_page-1;
-    if (page == 'first' && this.env.current_page > 1)
+    else if (page == 'first' && this.env.current_page > 1)
       page = 1;
 
     if (page > 0 && page <= this.env.pagecount) {
@@ -4887,25 +4887,41 @@
 
   this.goto_url = function(action, query, lock)
   {
-    var querystring = query ? '&'+query : '';
-    this.redirect(this.env.comm_path+'&_action='+action+querystring, lock);
+    var url = this.env.comm_path,
+     querystring = query ? '&'+query : '';
+
+    // overwrite task name
+    if (action.match(/([a-z]+)\/([a-z-_]+)/)) {
+      action = RegExp.$2;
+      url = url.replace(/\_task=[a-z]+/, '_task='+RegExp.$1);
+    }
+
+    this.redirect(url+'&_action='+action+querystring, lock);
   };
 
   // send a http request to the server
-  this.http_request = function(action, querystring, lock)
+  this.http_request = function(action, query, 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);
+    var result = this.triggerEvent('request'+action, query);
+
     if (typeof result != 'undefined') {
       // abort if one the handlers returned false
       if (result === false)
         return false;
       else
-        querystring = result;
+        query = result;
     }
 
-    querystring += (querystring ? '&' : '') + '_remote=1';
-    var url = this.env.comm_path + '&_action=' + action + '&' + querystring;
+    url += '&_remote=1&_action=' + action + (query ? '&' : '') + query;
 
     // send request
     console.log('HTTP GET: ' + url);
@@ -4915,7 +4931,15 @@
   // 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;

--
Gitblit v1.9.1