alecpl
2010-06-19 d7a5dfa26abe21aa9216fe862225baa2b5caca3e
program/include/rcube_message.php
@@ -5,7 +5,7 @@
 | program/include/rcube_message.php                                     |
 |                                                                       |
 | This file is part of the RoundCube Webmail client                     |
 | Copyright (C) 2008-2009, RoundCube Dev. - Switzerland                 |
 | Copyright (C) 2008-2010, RoundCube Dev. - Switzerland                 |
 | Licensed under the GNU GPL                                            |
 |                                                                       |
 | PURPOSE:                                                              |
@@ -63,14 +63,17 @@
    {
        $this->app = rcmail::get_instance();
        $this->imap = $this->app->imap;
        $this->uid = $uid;
        $this->headers = $this->imap->get_headers($uid, NULL, true, true);
        if (!$this->headers)
            return;
        $this->subject = rcube_imap::decode_mime_string(
            $this->headers->subject, $this->headers->charset);
        list(, $this->sender) = each($this->imap->decode_address_list($this->headers->from));
        $this->set_safe((intval($_GET['_safe']) || $_SESSION['safe_messages'][$uid]));
        $this->opt = array(
            'safe' => $this->is_safe,
@@ -497,7 +500,7 @@
    {
        if (strlen($part->mime_id))
            $this->mime_parts[$part->mime_id] = &$part;
        if (is_array($part->parts))
            for ($i=0; $i<count($part->parts); $i++)
                $this->get_mime_numbers($part->parts[$i]);
@@ -515,18 +518,17 @@
        if (!isset($part->body))
            $part->body = $this->imap->get_message_part($this->uid, $part->mime_id, $part);
        require_once('lib/tnef_decoder.inc');
        $parts = array();
        $tnef_arr = tnef_decode($part->body);
        $tnef = new tnef_decoder;
        $tnef_arr = $tnef->decompress($part->body);
        foreach ($tnef_arr as $pid => $winatt) {
            $tpart = new rcube_message_part;
            $tpart->filename        = trim($winatt['name']);
            $tpart->encoding        = 'stream';
            $tpart->ctype_primary   = trim(strtolower($winatt['type0']));
            $tpart->ctype_secondary = trim(strtolower($winatt['type1']));
            $tpart->ctype_primary   = trim(strtolower($winatt['type']));
            $tpart->ctype_secondary = trim(strtolower($winatt['subtype']));
            $tpart->mimetype        = $tpart->ctype_primary . '/' . $tpart->ctype_secondary;
            $tpart->mime_id         = 'winmail.' . $part->mime_id . '.' . $pid;
            $tpart->size            = $winatt['size'];
@@ -535,7 +537,7 @@
            $parts[] = $tpart;
            unset($tnef_arr[$pid]);
        }
        return $parts;
    }
@@ -581,7 +583,7 @@
                unset($matches[$pid]);
            }
        }
        return $parts;
    }