From 7902df457d3401c83f78a6ddd48df1a7f07f68b1 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 20 Oct 2005 18:20:26 -0400
Subject: [PATCH] Fixed SSL support; improved Courier compatibility; some visual enhancements and bugfixes

---
 program/js/app.js |   38 ++++++++++++++++++++++++--------------
 1 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index d8afc0e..418f33c 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1,12 +1,12 @@
-/*
+/*
  +-----------------------------------------------------------------------+
  | RoundCube Webmail Client Script                                       |
  |                                                                       |
  | This file is part of the RoundCube Webmail client                     |
  | Copyright (C) 2005, RoundCube Dev, - Switzerland                      |
- | All rights reserved.                                                  |
+ | Licensed under the GNU GPL                                            |
  |                                                                       |
- | Modified: 2005/08/19 (tbr)                                            |
+ | Modified: 2005/10/13 (tbr)                                            |
  |                                                                       |
  +-----------------------------------------------------------------------+
  | Author: Thomas Bruederli <roundcube@gmail.com>                        |
@@ -76,7 +76,8 @@
     this.task = this.env.task;
     
     // check browser
-    if (!(bw.dom && ((bw.ie && bw.vendver>=5.5 && !bw.opera) || (bw.mz && bw.vendver>=1) || (bw.safari && bw.vendver>=125) || (bw.opera && bw.vendver>=8))))
+    if (!(bw.dom && ((bw.ie && bw.vendver>=5.5 && !bw.opera) || (bw.mz && bw.vendver>=1) || (bw.safari && bw.vendver>=125) ||
+                     (bw.opera && bw.vendver>=8) || (bw.konq && bw.vendver>=3.4))))
       {
       location.href = this.env.comm_path+'&_action=error&_code=0x199';
       return;
@@ -203,7 +204,7 @@
 
     // flag object as complete
     this.loaded = true;
-      
+          
     // show message
     if (this.pending_message)
       this.display_message(this.pending_message[0], this.pending_message[1]);
@@ -564,12 +565,14 @@
 
       case 'nextmessage':
         if (this.env.next_uid)
-          location.href = this.env.comm_path+'&_action=show&_uid='+this.env.next_uid+'&_mbox='+this.env.mailbox;
+          this.show_message(this.env.next_uid);
+          //location.href = this.env.comm_path+'&_action=show&_uid='+this.env.next_uid+'&_mbox='+this.env.mailbox;
         break;
 
       case 'previousmessage':
         if (this.env.prev_uid)
-          location.href = this.env.comm_path+'&_action=show&_uid='+this.env.prev_uid+'&_mbox='+this.env.mailbox;
+          this.show_message(this.env.prev_uid);
+          //location.href = this.env.comm_path+'&_action=show&_uid='+this.env.prev_uid+'&_mbox='+this.env.mailbox;
         break;
 
       case 'compose':
@@ -963,7 +966,7 @@
 
     if (id)
       {
-      this.set_busy(true);   
+      this.set_busy(true, 'loading');
       target.location.href = this.env.comm_path+'&_action=show&_uid='+id+'&_mbox='+escape(this.env.mailbox)+add_url;
       }
     };
@@ -1003,6 +1006,7 @@
     if (!page && mbox != this.env.mailbox)
       {
       page = 1;
+      add_url += '&_refresh=1';
       this.env.current_page = page;
       this.clear_selection();
       }
@@ -1013,14 +1017,14 @@
     // load message list remotely
     if (this.gui_objects.messagelist)
       {
-      this.list_mailbox_remote(mbox, page);
+      this.list_mailbox_remote(mbox, page, add_url);
       return;
       }
     
     if (this.env.contentframe && window.frames && window.frames[this.env.contentframe])
       {
       target = window.frames[this.env.contentframe];
-      add_url = '&_framed=1';
+      add_url += '&_framed=1';
       }
 
     // load message list to target frame/window
@@ -1033,7 +1037,7 @@
 
 
   // send remote request to load message list
-  this.list_mailbox_remote = function(mbox, page)
+  this.list_mailbox_remote = function(mbox, page, add_url)
     {
     // clear message list
     var table = this.gui_objects.messagelist;
@@ -1047,7 +1051,7 @@
     // send request to server
     var url = '_mbox='+escape(mbox)+(page ? '&_page='+page : '');
     this.set_busy(true, 'loading');
-    this.http_request('list', url);
+    this.http_request('list', url+add_url);
     };
 
 
@@ -1799,6 +1803,10 @@
        }
      if (row.cells[2].firstChild.tagName=='A')
        row.cells[2].firstChild.onclick = new Function(this.ref+".command('delete-folder','"+name+"')");
+
+    var form;
+    if ((form = this.gui_objects.editform) && form.elements['_folder_name'])
+      form.elements['_folder_name'].value = '';
      };
 
 
@@ -1985,9 +1993,11 @@
       var item, reg, text_obj;
       var s_mbox = String(mbox).toLowerCase().replace(this.mbox_expression, '');
       var s_current = this.env.mailbox.toLowerCase().replace(this.mbox_expression, '');
-      for (var n=0; n<this.gui_objects.mailboxlist.childNodes.length; n++)
+      var nodes = this.gui_objects.mailboxlist.getElementsByTagName('LI');
+      
+      for (var n=0; n<nodes.length; n++)
         {
-        item = this.gui_objects.mailboxlist.childNodes[n];
+        item = nodes[n];
         if (item.className && item.className.indexOf('mailbox '+s_mbox+' ')>=0)
           this.set_classname(item, 'selected', true);
         else if (item.className && item.className.indexOf('mailbox '+s_current)>=0)

--
Gitblit v1.9.1