[ 
https://issues.apache.org/jira/browse/ZETACOMP-79?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Eberlei updated ZETACOMP-79:
-------------------------------------

    Attachment: zeta_mail_referenceableset_parseriterator.patch

Patch for this feature(s)

> Add Iterate method to ezcMailParser and allow access through uids through 
> intermediate ezcMailInfo struct
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: ZETACOMP-79
>                 URL: https://issues.apache.org/jira/browse/ZETACOMP-79
>             Project: Zeta Components
>          Issue Type: New Feature
>          Components: Mail
>            Reporter: Benjamin Eberlei
>         Attachments: zeta_mail_referenceableset_parseriterator.patch
>
>
> There are several problems with the ezcMailParser at the moment:
> 1. It parses all mails at once, creating unnecessary memory overhead 
> (although attachments are already handled very efficently)
> 2. It does not expose information about the UID (in case of IMAP) that this 
> mail belonged to. Without this information there is no way to reference the 
> parsed mail for further actions.
> Solution:
> Add a new method ezcMailParser->iterate method that returns an iterator 
> spitting out ezcMailInfo structs lazily (prototype impl):
> class ezcMailInfo
> {
>     /** Optional, null  if the set is NOT a ezcMailReferencableParserSet */
>     public $id = null;
>     /** @var ezcMail */
>     public $mail;
> }
> The ID property contains the reference id for the underlying transport, for 
> example with IMAP the UID.
> With this idea there comes a problem. The ezcMailParser currently has no 
> access to the UID of the ezcMailImapSet. That means we have to introduce a 
> new interface:
> interface ezcMailReferencableParserSet
> {
>     public function getCurrentUniqueMessageId();
> }
> The IMAP Transport has to implement it and return the UID (or null if 
> uidReference = false). The Parser could then use this information to access 
> the message id.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to