| | |
| | | var qstring = '_mbox='+urlencode(this.env.mailbox)+'&_uid='+this.env.uid+'&_part='+props.part; |
| | | |
| | | // open attachment in frame if it's of a supported mimetype |
| | | if (this.env.uid && props.mimetype && this.env.mimetypes && $.map(this.env.mimetypes, function(v,k){ return v }).indexOf(props.mimetype) >= 0) { |
| | | if (this.env.uid && props.mimetype && this.env.mimetypes && $.inArray(props.mimetype, $.map(this.env.mimetypes, function(v,k){ return v })) >= 0) { |
| | | if (props.mimetype == 'text/html') |
| | | qstring += '&_safe=1'; |
| | | this.attachment_win = window.open(this.env.comm_path+'&_action=get&'+qstring+'&_frame=1', 'rcubemailattachment'); |
| | |
| | | for (i=0, len=selection.length; i<len; i++) { |
| | | uid = selection[i]; |
| | | if (list.rows[uid].has_children && !list.rows[uid].expanded) |
| | | list.select_childs(uid); |
| | | list.select_children(uid); |
| | | } |
| | | |
| | | // if config is set to flag for deletion |
| | |
| | | if (!form) |
| | | return false; |
| | | |
| | | // get file input field, count files on capable browser |
| | | var i, size = 0, field = $('input[type=file]', form).get(0), |
| | | files = field.files ? field.files.length : field.value ? 1 : 0; |
| | | // count files and size on capable browser |
| | | var size = 0, numfiles = 0; |
| | | |
| | | $('input[type=file]', form).each(function(i, field) { |
| | | var files = field.files ? field.files.length : (field.value ? 1 : 0); |
| | | |
| | | // check file size |
| | | if (field.files) { |
| | | for (var i=0; i < files; i++) |
| | | size += field.files[i].size; |
| | | } |
| | | |
| | | numfiles += files; |
| | | }); |
| | | |
| | | // create hidden iframe and post upload form |
| | | if (files) { |
| | | // check file size |
| | | if (field.files && this.env.max_filesize && this.env.filesizeerror) { |
| | | for (i=0; i<files; i++) |
| | | size += field.files[i].size; |
| | | if (size && size > this.env.max_filesize) { |
| | | this.display_message(this.env.filesizeerror, 'error'); |
| | | return; |
| | | } |
| | | if (numfiles) { |
| | | if (this.env.max_filesize && this.env.filesizeerror && size > this.env.max_filesize) { |
| | | this.display_message(this.env.filesizeerror, 'error'); |
| | | return; |
| | | } |
| | | |
| | | var frame_name = this.async_upload_form(form, 'upload', function(e) { |
| | |
| | | }); |
| | | |
| | | // display upload indicator and cancel button |
| | | var content = '<span>' + this.get_label('uploading' + (files > 1 ? 'many' : '')) + '</span>', |
| | | var content = '<span>' + this.get_label('uploading' + (numfiles > 1 ? 'many' : '')) + '</span>', |
| | | ts = frame_name.replace(/^rcmupload/, ''); |
| | | |
| | | this.add2attachment_list(ts, { name:'', html:content, classname:'uploading', frame:frame_name, complete:false }); |
| | |
| | | // save message in order to display after page loaded |
| | | if (type != 'loading') |
| | | this.pending_message = [msg, type, timeout]; |
| | | return false; |
| | | return 1; |
| | | } |
| | | |
| | | type = type ? type : 'notice'; |
| | |
| | | if (this.is_framed()) |
| | | return parent.rcmail.hide_message(obj, fade); |
| | | |
| | | if (!this.gui_objects.message) |
| | | return; |
| | | |
| | | var k, n, i, msg, m = this.messages; |
| | | |
| | | // Hide message by object, don't use for 'loading'! |