| | |
| | | } |
| | | |
| | | // check if all files has been uploaded |
| | | if (this.gui_objects.attachmentlist) { |
| | | var list = this.gui_objects.attachmentlist.getElementsByTagName("li"); |
| | | for (i=0;i<list.length;i++) |
| | | if (!String(list[i].id).match(/^rcmfile/)) |
| | | { |
| | | alert(this.get_label('notuploadedwarning')); |
| | | return false; |
| | | } |
| | | for (var key in this.env.attachments) { |
| | | if (typeof this.env.attachments[key] == 'object' && !this.env.attachments[key].complete) { |
| | | alert(this.get_label('notuploadedwarning')); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | // display localized warning for missing subject |
| | |
| | | // handle upload errors, parsing iframe content in onload |
| | | var fr = document.getElementsByName(frame_name)[0]; |
| | | $(fr).bind('load', {ts:ts}, function(e) { |
| | | var content = ''; |
| | | var content = ''; |
| | | try { |
| | | if (this.contentDocument) { |
| | | var d = this.contentDocument; |
| | | } else if (this.contentWindow) { |
| | | var d = this.contentWindow.document; |
| | | } |
| | | content = d.childNodes[0].innerHTML; |
| | | var d = this.contentDocument; |
| | | } else if (this.contentWindow) { |
| | | var d = this.contentWindow.document; |
| | | } |
| | | content = d.childNodes[0].innerHTML; |
| | | } catch (e) {} |
| | | |
| | | if (!String(content).match(/add2attachment/) && (!bw.opera || (rcmail.env.uploadframe && rcmail.env.uploadframe == e.data.ts))) { |
| | | rcmail.display_message(rcmail.get_label('fileuploaderror'), 'error'); |
| | | rcmail.remove_from_attachment_list(e.data.ts); |
| | | if (!String(content).match(/add2attachment/) && (!bw.opera || (rcmail.env.uploadframe && rcmail.env.uploadframe == e.data.ts))) { |
| | | rcmail.display_message(rcmail.get_label('fileuploaderror'), 'error'); |
| | | rcmail.remove_from_attachment_list(e.data.ts); |
| | | } |
| | | // Opera hack: handle double onload |
| | | if (bw.opera) |
| | | rcmail.env.uploadframe = e.data.ts; |
| | | // Opera hack: handle double onload |
| | | if (bw.opera) |
| | | rcmail.env.uploadframe = e.data.ts; |
| | | }); |
| | | |
| | | form.target = frame_name; |
| | |
| | | content = '<img src="'+this.env.loadingicon+'" alt="" />'+content; |
| | | 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, content); |
| | | this.add2attachment_list(ts, { name:'', html:content, complete:false }); |
| | | } |
| | | |
| | | // set reference to the form object |
| | |
| | | |
| | | // add file name to attachment list |
| | | // called from upload page |
| | | this.add2attachment_list = function(name, content, upload_id) |
| | | { |
| | | this.add2attachment_list = function(name, att, upload_id) |
| | | { |
| | | if (!this.gui_objects.attachmentlist) |
| | | return false; |
| | | |
| | | var li = $('<li>').attr('id', name).html(att.html); |
| | | var indicator; |
| | | |
| | | // replace indicator's li |
| | | if (upload_id && (indicator = document.getElementById(upload_id))) { |
| | | var li = document.createElement('li'); |
| | | $(li).attr('id', name).html(content); |
| | | indicator.parentNode.replaceChild(li, indicator); |
| | | } else { // add new li |
| | | $('<li>').attr('id', name).html(content).appendTo(this.gui_objects.attachmentlist); |
| | | } |
| | | li.replaceAll(indicator); |
| | | } |
| | | else { // add new li |
| | | li.appendTo(this.gui_objects.attachmentlist); |
| | | } |
| | | |
| | | if (upload_id && this.env.attachments[upload_id]) |
| | | delete this.env.attachments[upload_id]; |
| | | |
| | | this.env.attachments[name] = att; |
| | | |
| | | return true; |
| | | }; |
| | | }; |
| | | |
| | | this.remove_from_attachment_list = function(name) |
| | | { |
| | | { |
| | | if (this.env.attachments[name]) |
| | | delete this.env.attachments[name]; |
| | | |
| | | if (!this.gui_objects.attachmentlist) |
| | | return false; |
| | | |
| | |
| | | for (i=0;i<list.length;i++) |
| | | if (list[i].id == name) |
| | | this.gui_objects.attachmentlist.removeChild(list[i]); |
| | | }; |
| | | }; |
| | | |
| | | this.remove_attachment = function(name) |
| | | { |
| | | if (name) |
| | | if (name && this.env.attachments[name]) |
| | | this.http_post('remove-attachment', '_file='+urlencode(name)); |
| | | |
| | | return true; |
| | |
| | | var addurl = ''; |
| | | if (this.message_list) { |
| | | this.message_list.clear(); |
| | | if (this.env.search_mods) { |
| | | if (this.env.search_mods) { |
| | | var head_arr = new Array(); |
| | | for (var n in this.env.search_mods) |
| | | head_arr.push(n); |
| | | addurl += '&_headers='+head_arr.join(','); |
| | | head_arr.push(n); |
| | | addurl += '&_headers='+head_arr.join(','); |
| | | } |
| | | } else if (this.contact_list) { |
| | | this.contact_list.clear(true); |