diff options
Diffstat (limited to 'program')
-rw-r--r-- | program/js/app.js | 115 |
1 files changed, 52 insertions, 63 deletions
diff --git a/program/js/app.js b/program/js/app.js index 9c5df7661..01601a6c0 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -2591,16 +2591,14 @@ function rcube_webmail() this.init_address_input_events($("[name='_cc']")); this.init_address_input_events($("[name='_bcc']")); - if (!html_mode) + if (!html_mode) { + // add signature according to selected identity + // if we have HTML editor, signature is added in callback + if (input_from.attr('type') == 'select-one' && $("input[name='_draft_saveid']").val() == '') { + this.change_identity(input_from[0]); + } this.set_caret_pos(input_message, this.env.top_posting ? 0 : $(input_message).val().length); - - // add signature according to selected identity - if (input_from.attr('type') == 'select-one' && $("input[name='_draft_saveid']").val() == '' - && !html_mode) { // if we have HTML editor, signature is added in callback - this.change_identity(input_from[0]); } - else if (!html_mode) - this.set_caret_pos(input_message, this.env.top_posting ? 0 : $(input_message).val().length); if (input_to.val() == '') input_to.focus(); @@ -2635,21 +2633,19 @@ function rcube_webmail() var input_message = $("[name='_message']"); // check sender (if have no identities) - if (input_from.attr('type') == 'text' && !rcube_check_email(input_from.val(), true)) - { + if (input_from.attr('type') == 'text' && !rcube_check_email(input_from.val(), true)) { alert(this.get_label('nosenderwarning')); input_from.focus(); return false; - } + } // check for empty recipient var recipients = input_to.val() ? input_to.val() : (input_cc.val() ? input_cc.val() : input_bcc.val()); - if (!rcube_check_email(recipients.replace(/^\s+/, '').replace(/[\s,;]+$/, ''), true)) - { + if (!rcube_check_email(recipients.replace(/^\s+/, '').replace(/[\s,;]+$/, ''), true)) { alert(this.get_label('norecipientwarning')); input_to.focus(); return false; - } + } // check if all files has been uploaded for (var key in this.env.attachments) { @@ -2711,31 +2707,31 @@ function rcube_webmail() this.stop_spellchecking(); $(this.env.spellcheck.spell_container).css('visibility', vis ? 'visible' : 'hidden'); - } + } }; this.set_spellcheck_state = function(s) - { + { this.spellcheck_ready = (s == 'ready' || s == 'no_error_found'); this.enable_command('spellcheck', this.spellcheck_ready); - }; + }; this.set_draft_id = function(id) - { + { $("input[name='_draft_saveid']").val(id); - }; + }; this.auto_save_start = function() - { + { if (this.env.draft_autosave) this.save_timer = self.setTimeout(function(){ ref.command("savedraft"); }, this.env.draft_autosave * 1000); // Unlock interface now that saving is complete this.busy = false; - }; + }; this.compose_field_hash = function(save) - { + { // check input fields var value_to = $("[name='_to']").val(); var value_cc = $("[name='_cc']").val(); @@ -2766,7 +2762,7 @@ function rcube_webmail() this.cmp_hash = str; return str; - }; + }; this.change_identity = function(obj, show_sig) { @@ -2898,22 +2894,20 @@ function rcube_webmail() }; this.show_attachment_form = function(a) - { + { if (!this.gui_objects.uploadbox) return false; var elm, list; - if (elm = this.gui_objects.uploadbox) - { - if (a && (list = this.gui_objects.attachmentlist)) - { + if (elm = this.gui_objects.uploadbox) { + if (a && (list = this.gui_objects.attachmentlist)) { var pos = $(list).offset(); elm.style.top = (pos.top + list.offsetHeight + 10) + 'px'; elm.style.left = pos.left + 'px'; - } + } $(elm).toggle(); - } + } // clear upload form try { @@ -2923,38 +2917,34 @@ function rcube_webmail() catch(e){} // ignore errors return true; - }; + }; // upload attachment file this.upload_file = function(form) - { + { if (!form) return false; // get file input fields var send = false; for (var n=0; n<form.elements.length; n++) - if (form.elements[n].type=='file' && form.elements[n].value) - { + if (form.elements[n].type=='file' && form.elements[n].value) { send = true; break; - } + } // create hidden iframe and post upload form - if (send) - { + if (send) { var ts = new Date().getTime(); var frame_name = 'rcmupload'+ts; // have to do it this way for IE // otherwise the form will be posted to a new window - if(document.all) - { + if (document.all) { var html = '<iframe name="'+frame_name+'" src="program/blank.gif" style="width:0;height:0;visibility:hidden;"></iframe>'; document.body.insertAdjacentHTML('BeforeEnd',html); - } - else // for standards-compilant browsers - { + } + else { // for standards-compilant browsers var frame = document.createElement('iframe'); frame.name = frame_name; frame.style.border = 'none'; @@ -2962,7 +2952,7 @@ function rcube_webmail() frame.style.height = 0; frame.style.visibility = 'hidden'; document.body.appendChild(frame); - } + } // handle upload errors, parsing iframe content in onload var fr = document.getElementsByName(frame_name)[0]; @@ -3000,12 +2990,12 @@ function rcube_webmail() if (this.env.cancelicon) content = '<a title="'+this.get_label('cancel')+'" onclick="return rcmail.cancel_attachment_upload(\''+ts+'\', \''+frame_name+'\');" href="#cancelupload"><img src="'+this.env.cancelicon+'" alt="" /></a>'+content; this.add2attachment_list(ts, { name:'', html:content, complete:false }); - } + } // set reference to the form object this.gui_objects.attachmentform = form; return true; - }; + }; // add file name to attachment list // called from upload page @@ -3048,37 +3038,36 @@ function rcube_webmail() }; this.remove_attachment = function(name) - { + { if (name && this.env.attachments[name]) this.http_post('remove-attachment', '_file='+urlencode(name)); return true; - }; + }; this.cancel_attachment_upload = function(name, frame_name) - { + { if (!name || !frame_name) return false; this.remove_from_attachment_list(name); $("iframe[name='"+frame_name+"']").remove(); return false; - }; + }; // send remote request to add a new contact this.add_contact = function(value) - { + { if (value) this.http_post('addcontact', '_address='+value); return true; - }; + }; // send remote request to search mail or contacts this.qsearch = function(value) - { - if (value != '') - { + { + if (value != '') { var addurl = ''; if (this.message_list) { this.message_list.clear(); @@ -3089,12 +3078,12 @@ function rcube_webmail() for (var n in mods) head_arr.push(n); addurl += '&_headers='+head_arr.join(','); - } } - } else if (this.contact_list) { + } + } else if (this.contact_list) { this.contact_list.clear(true); this.show_contentframe(false); - } + } if (this.gui_objects.search_filter) addurl += '&_filter=' + this.gui_objects.search_filter.value; @@ -3107,25 +3096,25 @@ function rcube_webmail() + (this.env.source ? '&_source='+urlencode(this.env.source) : '') + (this.env.group ? '&_gid='+urlencode(this.env.group) : '') + (addurl ? addurl : ''), true); - } + } return true; - }; + }; // reset quick-search form this.reset_qsearch = function() - { + { if (this.gui_objects.qsearchbox) this.gui_objects.qsearchbox.value = ''; this.env.search_request = null; return true; - }; + }; this.sent_successfully = function(type, msg) - { + { this.list_mailbox(); this.display_message(msg, type, true); - } + }; /*********************************************************/ |