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 | 36 +++++++++++++++++++++++------------- 1 files changed, 23 insertions(+), 13 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 87fd255..418f33c 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1,4 +1,4 @@ -/* +/* +-----------------------------------------------------------------------+ | RoundCube Webmail Client Script | | | @@ -6,7 +6,7 @@ | Copyright (C) 2005, RoundCube Dev, - Switzerland | | 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