- Improve handling of situation when FETCH returns OK, but no data
| | |
| | | |
| | | $headers = $this->get_headers($uid, $mailbox); |
| | | |
| | | // message doesn't exist? |
| | | if (empty($headers)) |
| | | return null; |
| | | |
| | | // structure might be cached |
| | | if (!empty($headers->structure)) |
| | | return $headers; |
| | |
| | | $o_part->charset = rcube_imap_generic::getStructurePartCharset($structure, $part); |
| | | } |
| | | |
| | | // TODO: Add caching for message parts |
| | | |
| | | if (!$part) { |
| | | $part = 'TEXT'; |
| | | if ($o_part && $o_part->size) { |
| | | $body = $this->conn->handlePartBody($this->mailbox, $uid, true, |
| | | $part ? $part : 'TEXT', $o_part->encoding, $print, $fp); |
| | | } |
| | | |
| | | $body = $this->conn->handlePartBody($this->mailbox, $uid, true, $part, |
| | | $o_part->encoding, $print, $fp); |
| | | |
| | | if ($fp || $print) { |
| | | return true; |
| | |
| | | $len = strlen($line); |
| | | $result = false; |
| | | |
| | | if ($a[2] != 'FETCH') { |
| | | } |
| | | // handle empty "* X FETCH ()" response |
| | | if ($line[$len-1] == ')' && $line[$len-2] != '(') { |
| | | else if ($line[$len-1] == ')' && $line[$len-2] != '(') { |
| | | // one line response, get everything between first and last quotes |
| | | if (substr($line, -4, 3) == 'NIL') { |
| | | // NIL response |