diff --git a/library/Zend/Mail/Protocol/Imap.php b/library/Zend/Mail/Protocol/Imap.php index 90cc258..5c3dc9c 100644 --- a/library/Zend/Mail/Protocol/Imap.php +++ b/library/Zend/Mail/Protocol/Imap.php @@ -557,7 +557,7 @@ class Zend_Mail_Protocol_Imap * * @param string|array $items items to fetch from message(s) as string (if only one item) * or array of strings - * @param int $from message for items or start message if $to !== null + * @param int|array $from message for items or start message if $to !== null * @param int|null $to if null only one message ($from) is fetched, else it's the * last message, INF means last message avaible * @return string|array if only one item of one message is fetched it's returned as string @@ -668,7 +668,7 @@ class Zend_Mail_Protocol_Imap * set flags * * @param array $flags flags to set, add or remove - see $mode - * @param int $from message for items or start message if $to !== null + * @param int|array $from message for items or start message if $to !== null * @param int|null $to if null only one message ($from) is fetched, else it's the * last message, INF means last message avaible * @param string|null $mode '+' to add flags, '-' to remove flags, everything else sets the flags as given @@ -687,9 +687,14 @@ class Zend_Mail_Protocol_Imap } $flags = $this->escapeList($flags); - $set = (int)$from; - if ($to != null) { - $set .= ':' . ($to == INF ? '*' : (int)$to); + if (is_array($from)) { + $set = implode(',', $from); + } else if ($to === null) { + $set = (int)$from; + } else if ($to === INF) { + $set = (int)$from . ':*'; + } else { + $set = (int)$from . ':' . (int)$to; } $result = $this->requestAndResponse('STORE', array($set, $item, $flags), $silent);