Thomas Bruederli
2013-03-13 bfa667ab022c3efa1b7da8bd2ffe27dcf8959c79
Merge branch 'master' of github.com:roundcube/roundcubemail
3 files modified
40 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/js/list.js 23 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_message.php 16 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix HTML part detection for some specific message structures (#1488992)
- Don't show fake address - phishing prevention (#1488981)
- Fix forward as attachment bug with editormode != 1 (#1488991)
- Fix LIMIT/OFFSET queries handling on MS SQL Server (#1488984)
program/js/list.js
@@ -1143,7 +1143,7 @@
    this.draglayer.html('');
    // get subjects of selected messages
    var c, i, n, subject, obj;
    var i, n, obj;
    for (n=0; n<this.selection.length; n++) {
      // only show 12 lines
      if (n>12) {
@@ -1152,37 +1152,26 @@
      }
      if (obj = this.rows[this.selection[n]].obj) {
        subject = '';
        for (c=0, i=0; i<obj.childNodes.length; i++) {
        for (i=0; i<obj.childNodes.length; i++) {
          if (obj.childNodes[i].nodeName == 'TD') {
            if (n == 0)
              this.drag_start_pos = $(obj.childNodes[i]).offset();
            if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == c)) {
              var entry, node, tmp_node, nodes = obj.childNodes[i].childNodes;
              // find text node
              for (m=0; m<nodes.length; m++) {
                if ((tmp_node = obj.childNodes[i].childNodes[m]) && (tmp_node.nodeType == 3 || tmp_node.nodeName == 'A')) {
                  node = tmp_node;
                  break;
                }
              }
            if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == i)) {
              var subject = $(obj.childNodes[i]).text();
              if (!node)
              if (!subject)
                break;
              subject = $(node).text();
              // remove leading spaces
              subject = $.trim(subject);
              // truncate line to 50 characters
              subject = (subject.length > 50 ? subject.substring(0, 50) + '...' : subject);
              entry = $('<div>').text(subject);
              var entry = $('<div>').text(subject);
              this.draglayer.append(entry);
              break;
            }
            c++;
          }
        }
      }
program/lib/Roundcube/rcube_message.php
@@ -210,18 +210,20 @@
                if (!$recursive) {
                    $level = explode('.', $part->mime_id);
                    // Skip if level too deep or part has a file name
                    if (count($level) > 2 || $part->filename) {
                    // Skip if part is an attachment
                    if ($this->is_attachment($part)) {
                        continue;
                    }
                    // HTML part can be on the lower level, if not...
                    if (count($level) > 1) {
                        array_pop($level);
                    // Check if the part belongs to higher-level's alternative/related
                    while (array_pop($level) !== null) {
                        if (!count($level)) {
                            return true;
                        }
                        $parent = $this->mime_parts[join('.', $level)];
                        // ... parent isn't multipart/alternative or related
                        if ($parent->mimetype != 'multipart/alternative' && $parent->mimetype != 'multipart/related') {
                            continue;
                            continue 2;
                        }
                    }
                }