public function fullMessageText($options = array()) { if (!$this->_indices) { return $this->_message->toString(); } $query = new Horde_Imap_Client_Fetch_Query(); $query->bodyText(array('peek' => true)); if ($res = $this->_fetchData($query)) { try { if (empty($options['stream'])) { return $this->getHeader(self::HEADER_TEXT) . $res->getBodyText(0); } return Horde_Stream_Wrapper_Combine::getStream(array($this->getHeader(self::HEADER_STREAM), $res->getBodyText(0, true))); } catch (Horde_Exception $e) { } } return empty($options['stream']) ? '' : fopen('php://temp', 'r+'); }
/** */ public function saveMessage() { global $session; $session->close(); $name = ($subject = $this->_contents->getHeader()->getValue('subject')) ? trim(preg_replace('/[^\\pL\\pN-+_. ]/u', '_', $subject), ' _') : 'saved_message'; return array('data' => $this->_contents->fullMessageText(array('stream' => true)), 'name' => $name . '.eml', 'type' => 'message/rfc822'); }