| | |
| | | |
| | | case 'open': |
| | | if (uid = this.get_single_uid()) { |
| | | obj.href = this.url('show', {_mbox: this.get_message_mailbox(uid), _uid: uid}); |
| | | obj.href = this.url('show', this.params_from_uid(uid)); |
| | | return true; |
| | | } |
| | | break; |
| | |
| | | this.gui_objects.messagepartframe.contentWindow.print(); |
| | | } |
| | | else if (uid = this.get_single_uid()) { |
| | | url = '&_action=print&_uid='+uid+'&_mbox='+urlencode(this.get_message_mailbox(uid))+(this.env.safemode ? '&_safe=1' : ''); |
| | | if (this.open_window(this.env.comm_path + url, true, true)) { |
| | | url = this.url('print', this.params_from_uid(uid, {_safe: this.env.safemode ? 1 : 0})); |
| | | if (this.open_window(url, true, true)) { |
| | | if (this.env.action != 'show') |
| | | this.mark_message('read', uid); |
| | | } |
| | |
| | | |
| | | case 'viewsource': |
| | | if (uid = this.get_single_uid()) |
| | | this.open_window(this.env.comm_path+'&_action=viewsource&_uid='+uid+'&_mbox='+urlencode(this.env.mailbox), true, true); |
| | | this.open_window(this.url('viewsource', this.params_from_uid(uid)), true, true); |
| | | break; |
| | | |
| | | case 'download': |
| | |
| | | location.href = location.href.replace(/_frame=/, '_download='); |
| | | } |
| | | else if (uid = this.get_single_uid()) { |
| | | this.goto_url('viewsource', { _uid: uid, _mbox: this.get_message_mailbox(uid), _save: 1 }); |
| | | this.goto_url('viewsource', this.params_from_uid(uid, {_save: 1})); |
| | | } |
| | | break; |
| | | |
| | |
| | | |
| | | $('input[name="_unlock"]', form).val(importlock); |
| | | |
| | | if (!(flag = this.upload_file(form, 'import'))) { |
| | | if (!(flag = this.upload_file(form, 'import', importlock))) { |
| | | this.set_busy(false, null, importlock); |
| | | if (flag !== false) |
| | | alert(this.get_label('selectimportfile')); |
| | |
| | | return; |
| | | |
| | | var win, target = window, |
| | | action = preview ? 'preview': 'show', |
| | | url = '&_action='+action+'&_uid='+id+'&_mbox='+urlencode(this.get_message_mailbox(id)); |
| | | url = this.params_from_uid(id, {_caps: this.browser_capabilities()}); |
| | | |
| | | if (preview && (win = this.get_frame_window(this.env.contentframe))) { |
| | | target = win; |
| | | url += '&_framed=1'; |
| | | url._framed = 1; |
| | | } |
| | | |
| | | if (safe) |
| | | url += '&_safe=1'; |
| | | url._safe = 1; |
| | | |
| | | // also send search request to get the right messages |
| | | if (this.env.search_request) |
| | | url += '&_search='+this.env.search_request; |
| | | |
| | | // add browser capabilities, so we can properly handle attachments |
| | | url += '&_caps='+urlencode(this.browser_capabilities()); |
| | | url._search = this.env.search_request; |
| | | |
| | | if (this.env.extwin) |
| | | url += '&_extwin=1'; |
| | | url._extwin = 1; |
| | | |
| | | url = this.url(preview ? 'preview': 'show', url); |
| | | |
| | | if (preview && String(target.location.href).indexOf(url) >= 0) { |
| | | this.show_contentframe(true); |
| | | } |
| | | else { |
| | | if (!preview && this.env.message_extwin && !this.env.extwin) |
| | | this.open_window(this.env.comm_path+url, true); |
| | | this.open_window(url, true); |
| | | else |
| | | this.location_href(this.env.comm_path+url, target, true); |
| | | this.location_href(url, target, true); |
| | | |
| | | // mark as read and change mbox unread counter |
| | | if (preview && this.message_list && this.message_list.rows[id] && this.message_list.rows[id].unread && this.env.preview_pane_mark_read > 0) { |
| | |
| | | }; |
| | | |
| | | // upload (attachment) file |
| | | this.upload_file = function(form, action) |
| | | this.upload_file = function(form, action, lock) |
| | | { |
| | | if (!form) |
| | | return; |
| | |
| | | if (!content.match(/display_message/)) |
| | | ref.display_message(ref.get_label('fileuploaderror'), 'error'); |
| | | ref.remove_from_attachment_list(e.data.ts); |
| | | |
| | | if (lock) |
| | | ref.set_busy(false, null, lock); |
| | | } |
| | | // Opera hack: handle double onload |
| | | if (bw.opera) |
| | |
| | | this.env.qsearch = null; |
| | | case 'list': |
| | | if (this.task == 'mail') { |
| | | var is_multifolder = this.is_multifolder_listing(); |
| | | var is_multifolder = this.is_multifolder_listing(), |
| | | list = this.message_list, |
| | | uid = this.env.list_uid; |
| | | |
| | | this.enable_command('show', 'select-all', 'select-none', this.env.messagecount > 0); |
| | | this.enable_command('expunge', this.env.exists && !is_multifolder); |
| | | this.enable_command('purge', this.purge_mailbox_test() && !is_multifolder); |
| | | this.enable_command('import-messages', !is_multifolder); |
| | | this.enable_command('expand-all', 'expand-unread', 'collapse-all', this.env.threading && this.env.messagecount && !is_multifolder); |
| | | |
| | | if ((response.action == 'list' || response.action == 'search') && this.message_list) { |
| | | var list = this.message_list, uid = this.env.list_uid; |
| | | |
| | | // highlight message row when we're back from message page |
| | | if (uid) { |
| | | if (!list.rows[uid]) |
| | | uid += '-' + this.env.mailbox; |
| | | if (list.rows[uid]) { |
| | | list.select(uid); |
| | | if (list) { |
| | | if (response.action == 'list' || response.action == 'search') { |
| | | // highlight message row when we're back from message page |
| | | if (uid) { |
| | | if (!list.rows[uid]) |
| | | uid += '-' + this.env.mailbox; |
| | | if (list.rows[uid]) { |
| | | list.select(uid); |
| | | } |
| | | delete this.env.list_uid; |
| | | } |
| | | delete this.env.list_uid; |
| | | |
| | | this.enable_command('set-listmode', this.env.threads && !is_multifolder); |
| | | if (list.rowcount > 0) |
| | | list.focus(); |
| | | this.msglist_select(list); |
| | | } |
| | | |
| | | this.enable_command('set-listmode', this.env.threads && !is_multifolder); |
| | | if (list.rowcount > 0) |
| | | list.focus(); |
| | | this.msglist_select(list); |
| | | this.triggerEvent('listupdate', { folder:this.env.mailbox, rowcount:list.rowcount }); |
| | | |
| | | if (response.action != 'getunread') |
| | | this.triggerEvent('listupdate', { folder:this.env.mailbox, rowcount:list.rowcount }); |
| | | } |
| | | } |
| | | else if (this.task == 'addressbook') { |
| | |
| | | return msg.mbox || this.env.mailbox; |
| | | }; |
| | | |
| | | // build request parameters from single message id (maybe with mailbox name) |
| | | this.params_from_uid = function(uid, params) |
| | | { |
| | | if (!params) |
| | | params = {}; |
| | | |
| | | params._uid = String(uid).split('-')[0]; |
| | | params._mbox = this.get_message_mailbox(uid); |
| | | |
| | | return params; |
| | | }; |
| | | |
| | | // gets cursor position |
| | | this.get_caret_pos = function(obj) |
| | | { |