| | |
| | | $result[$id]->encoding = $string; |
| | | break; |
| | | case 'content-type': |
| | | $ctype_parts = preg_split('/[; ]/', $string); |
| | | $ctype_parts = preg_split('/[; ]+/', $string); |
| | | $result[$id]->ctype = strtolower(array_shift($ctype_parts)); |
| | | if (preg_match('/charset\s*=\s*"?([a-z0-9\-\.\_]+)"?/i', $string, $regs)) { |
| | | $result[$id]->charset = $regs[1]; |
| | |
| | | return $this->handlePartBody($mailbox, $id, $is_uid, $part); |
| | | } |
| | | |
| | | function handlePartBody($mailbox, $id, $is_uid=false, $part='', $encoding=NULL, $print=NULL, $file=NULL, $formatted=true) |
| | | function handlePartBody($mailbox, $id, $is_uid=false, $part='', $encoding=NULL, $print=NULL, $file=NULL, $formatted=false) |
| | | { |
| | | if (!$this->select($mailbox)) { |
| | | return false; |
| | |
| | | } |
| | | |
| | | if ($binary) { |
| | | // WARNING: Use $formatting argument with care, this may break binary data stream |
| | | $mode = -1; |
| | | } |
| | | |
| | |
| | | */ |
| | | static function uncompressMessageSet($messages) |
| | | { |
| | | if (empty($messages)) { |
| | | return array(); |
| | | } |
| | | |
| | | $result = array(); |
| | | $messages = explode(',', $messages); |
| | | |
| | |
| | | $max = max($items[0], $items[1]); |
| | | |
| | | for ($x=$items[0]; $x<=$max; $x++) { |
| | | $result[] = $x; |
| | | $result[] = (int)$x; |
| | | } |
| | | unset($messages[$idx]); |
| | | } |
| | |
| | | |
| | | // literal-string |
| | | return sprintf("{%d}\r\n%s", strlen($string), $string); |
| | | } |
| | | |
| | | /** |
| | | * Unescapes quoted-string |
| | | * |
| | | * @param string $string IMAP string |
| | | * |
| | | * @return string String |
| | | */ |
| | | static function unEscape($string) |
| | | { |
| | | return stripslashes($string); |
| | | } |
| | | |
| | | /** |