| | |
| | | |
| | | // user settings commands |
| | | case 'preferences': |
| | | this.goto_url(''); |
| | | break; |
| | | |
| | | case 'identities': |
| | | this.goto_url('settings/identities'); |
| | | break; |
| | | |
| | | case 'folders': |
| | | this.goto_url('settings/folders'); |
| | | this.goto_url('settings/' + command); |
| | | break; |
| | | |
| | | // unified command call (command name == function name) |
| | |
| | | var action = flags.mbox == this.env.drafts_mailbox ? 'compose' : 'show'; |
| | | var uid_param = flags.mbox == this.env.drafts_mailbox ? '_draft_uid' : '_uid'; |
| | | cols.subject = '<a href="./?_task=mail&_action='+action+'&_mbox='+urlencode(flags.mbox)+'&'+uid_param+'='+uid+'"'+ |
| | | ' onclick="return rcube_event.cancel(event)">'+cols.subject+'</a>'; |
| | | ' onclick="return rcube_event.cancel(event)" onmouseover="rcube_webmail.long_subject_title(this,'+(message.depth+1)+')">'+cols.subject+'</a>'; |
| | | } |
| | | |
| | | // add each submitted col |
| | |
| | | this.compose_field_hash = function(save) |
| | | { |
| | | // check input fields |
| | | var value_to = $("[name='_to']").val(); |
| | | var value_cc = $("[name='_cc']").val(); |
| | | var value_bcc = $("[name='_bcc']").val(); |
| | | var value_subject = $("[name='_subject']").val(); |
| | | var str = ''; |
| | | var ed, str = '', |
| | | value_to = $("[name='_to']").val(), |
| | | value_cc = $("[name='_cc']").val(), |
| | | value_bcc = $("[name='_bcc']").val(), |
| | | value_subject = $("[name='_subject']").val(); |
| | | |
| | | if (value_to) |
| | | str += value_to+':'; |
| | |
| | | if (value_subject) |
| | | str += value_subject+':'; |
| | | |
| | | var editor = tinyMCE.get(this.env.composebody); |
| | | if (editor) |
| | | str += editor.getContent(); |
| | | if (window.tinyMCE && (ed = tinyMCE.get(this.env.composebody))) |
| | | str += ed.getContent(); |
| | | else |
| | | str += $("[name='_message']").val(); |
| | | |
| | |
| | | this.show_contentframe(false); |
| | | } |
| | | |
| | | if (this.env.group) |
| | | qs += '&_gid='+urlencode(this.env.group); |
| | | |
| | | // also send search request to get the right records from the next page |
| | | if (this.env.search_request) |
| | | qs += '&_search='+this.env.search_request; |
| | |
| | | } |
| | | }; |
| | | |
| | | // disables subscription checkbox (for protected folder) |
| | | this.disable_subscription = function(folder) |
| | | { |
| | | var id = this.get_folder_row_id(folder); |
| | | if (id) |
| | | $('input[name="_subscribed[]"]', $('#'+id)).attr('disabled', true); |
| | | }; |
| | | |
| | | this.folder_size = function(folder) |
| | | { |
| | | var lock = this.set_busy(true, 'loading'); |
| | |
| | | var current_li, target_li; |
| | | |
| | | if ((current_li = this.get_folder_li(old, prefix))) { |
| | | $(current_li).removeClass('selected').removeClass('unfocused'); |
| | | $(current_li).removeClass('selected').addClass('unfocused'); |
| | | } |
| | | if ((target_li = this.get_folder_li(name, prefix))) { |
| | | $(target_li).removeClass('unfocused').addClass('selected'); |
| | |
| | | // and for setting some message list global variables |
| | | this.set_message_coltypes = function(coltypes, repl) |
| | | { |
| | | this.env.coltypes = coltypes; |
| | | var list = this.message_list, |
| | | thead = list ? list.list.tHead : null, |
| | | cell, col, n, len, th, tr; |
| | | |
| | | // set correct list titles |
| | | var thead = this.gui_objects.messagelist ? this.gui_objects.messagelist.tHead : null, |
| | | cell, col, n, len; |
| | | this.env.coltypes = coltypes; |
| | | |
| | | // replace old column headers |
| | | if (thead) { |
| | | if (repl) { |
| | | var th = document.createElement('thead'), |
| | | tr = document.createElement('tr'); |
| | | th = document.createElement('thead'); |
| | | tr = document.createElement('tr'); |
| | | |
| | | for (c=0, len=repl.length; c < len; c++) { |
| | | cell = document.createElement('td'); |
| | | cell.innerHTML = repl[c].html; |
| | |
| | | } |
| | | th.appendChild(tr); |
| | | thead.parentNode.replaceChild(th, thead); |
| | | thead = th; |
| | | } |
| | | |
| | | for (n=0, len=this.env.coltypes.length; n<len; n++) { |
| | |
| | | |
| | | if ((n = $.inArray('subject', this.env.coltypes)) >= 0) { |
| | | this.set_env('subject_col', n); |
| | | if (this.message_list) |
| | | this.message_list.subject_col = n; |
| | | if (list) |
| | | list.subject_col = n; |
| | | } |
| | | if ((n = $.inArray('flag', this.env.coltypes)) >= 0) |
| | | this.set_env('flagged_col', n); |
| | | if ((n = $.inArray('status', this.env.coltypes)) >= 0) |
| | | this.set_env('status_col', n); |
| | | |
| | | this.message_list.init_header(); |
| | | if (list) |
| | | list.init_header(); |
| | | }; |
| | | |
| | | // replace content of row count display |
| | |
| | | |
| | | } // end object rcube_webmail |
| | | |
| | | |
| | | // some static methods |
| | | rcube_webmail.long_subject_title = function(elem, indent) |
| | | { |
| | | if (!elem.title) { |
| | | var $elem = $(elem); |
| | | if ($elem.width() + indent * 15 > $elem.parent().width()) |
| | | elem.title = $elem.html(); |
| | | } |
| | | }; |
| | | |
| | | // copy event engine prototype |
| | | rcube_webmail.prototype.addEventListener = rcube_event_engine.prototype.addEventListener; |
| | | rcube_webmail.prototype.removeEventListener = rcube_event_engine.prototype.removeEventListener; |