/** * @param Array $messageIndexSet * @param bool $indexAsUid * @param Folder $folder * @return WebMailMessageCollection */ function &LoadMessages(&$messageIndexSet, $indexAsUid, &$folder) { $messageCollection =& new WebMailMessageCollection(); $uids =& $this->_getPop3Uids(); foreach ($messageIndexSet as $index) { if ($indexAsUid) { $idx = $this->_getMessageIndexFromUid($uids, $index); } else { $idx = $index; } if ($idx < 0 || $idx > count($uids)) { continue; } if ($this->DownloadedMessagesHandler != null) { call_user_func($this->DownloadedMessagesHandler); } $msgText = $this->_pop3Mail->get_mail($idx); if (!$msgText) { continue; } $message =& new WebMailMessage(); $message->LoadMessageFromRawBody($msgText, true); $message->Uid = $uids[$idx]; $size =& $this->_getPop3Sizes(); $message->Size = $size[$idx]; $messageCollection->Add($message); } return $messageCollection; }
/** * @param Array $messageIndexSet * @param bool $indexAsUid * @param Folder $folder * @return WebMailMessageCollection */ function &LoadMessages(&$messageIndexSet, $indexAsUid) { $messageCollection = new WebMailMessageCollection(); $uids =& $this->_getPop3Uids(); $size =& $this->_getPop3Sizes(); foreach ($messageIndexSet as $index) { $idx = $indexAsUid ? $this->_getMessageIndexFromUid($uids, $index) : $index; if ($idx < 0 || $idx > count($uids)) { continue; } $msgText = $this->_pop3Mail->get_mail($idx); if (!$msgText) { continue; } $message = new WebMailMessage(); $message->LoadMessageFromRawBody($msgText, true); $message->Uid = $uids[$idx]; $message->Size = isset($size[$idx]) ? $size[$idx] : strlen($msgText); $messageCollection->Add($message); unset($message); } return $messageCollection; }