Merge branch 'master' of github.com:roundcube/roundcubemail

pull/62/head
Thomas Bruederli 12 years ago
commit bfa667ab02

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail CHANGELOG Roundcube Webmail
=========================== ===========================
- Fix HTML part detection for some specific message structures (#1488992)
- Don't show fake address - phishing prevention (#1488981) - Don't show fake address - phishing prevention (#1488981)
- Fix forward as attachment bug with editormode != 1 (#1488991) - Fix forward as attachment bug with editormode != 1 (#1488991)
- Fix LIMIT/OFFSET queries handling on MS SQL Server (#1488984) - Fix LIMIT/OFFSET queries handling on MS SQL Server (#1488984)

@ -1143,7 +1143,7 @@ drag_mouse_move: function(e)
this.draglayer.html(''); this.draglayer.html('');
// get subjects of selected messages // get subjects of selected messages
var c, i, n, subject, obj; var i, n, obj;
for (n=0; n<this.selection.length; n++) { for (n=0; n<this.selection.length; n++) {
// only show 12 lines // only show 12 lines
if (n>12) { if (n>12) {
@ -1152,37 +1152,26 @@ drag_mouse_move: function(e)
} }
if (obj = this.rows[this.selection[n]].obj) { if (obj = this.rows[this.selection[n]].obj) {
subject = ''; for (i=0; i<obj.childNodes.length; i++) {
for (c=0, i=0; i<obj.childNodes.length; i++) {
if (obj.childNodes[i].nodeName == 'TD') { if (obj.childNodes[i].nodeName == 'TD') {
if (n == 0) if (n == 0)
this.drag_start_pos = $(obj.childNodes[i]).offset(); this.drag_start_pos = $(obj.childNodes[i]).offset();
if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == c)) { if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == i)) {
var entry, node, tmp_node, nodes = obj.childNodes[i].childNodes; var subject = $(obj.childNodes[i]).text();
// find text node
for (m=0; m<nodes.length; m++) { if (!subject)
if ((tmp_node = obj.childNodes[i].childNodes[m]) && (tmp_node.nodeType == 3 || tmp_node.nodeName == 'A')) {
node = tmp_node;
break;
}
}
if (!node)
break; break;
subject = $(node).text();
// remove leading spaces // remove leading spaces
subject = $.trim(subject); subject = $.trim(subject);
// truncate line to 50 characters // truncate line to 50 characters
subject = (subject.length > 50 ? subject.substring(0, 50) + '...' : subject); subject = (subject.length > 50 ? subject.substring(0, 50) + '...' : subject);
entry = $('<div>').text(subject); var entry = $('<div>').text(subject);
this.draglayer.append(entry); this.draglayer.append(entry);
break; break;
} }
c++;
} }
} }
} }

@ -210,18 +210,20 @@ class rcube_message
if (!$recursive) { if (!$recursive) {
$level = explode('.', $part->mime_id); $level = explode('.', $part->mime_id);
// Skip if level too deep or part has a file name // Skip if part is an attachment
if (count($level) > 2 || $part->filename) { if ($this->is_attachment($part)) {
continue; continue;
} }
// HTML part can be on the lower level, if not... // Check if the part belongs to higher-level's alternative/related
if (count($level) > 1) { while (array_pop($level) !== null) {
array_pop($level); if (!count($level)) {
return true;
}
$parent = $this->mime_parts[join('.', $level)]; $parent = $this->mime_parts[join('.', $level)];
// ... parent isn't multipart/alternative or related
if ($parent->mimetype != 'multipart/alternative' && $parent->mimetype != 'multipart/related') { if ($parent->mimetype != 'multipart/alternative' && $parent->mimetype != 'multipart/related') {
continue; continue 2;
} }
} }
} }

Loading…
Cancel
Save