2017-08-08 17:45:18 +02:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @author clivern <hello@clivern.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Clivern\Imap\Core;
|
|
|
|
|
|
|
|
use Clivern\Imap\Core\Message;
|
2017-08-11 22:56:23 +02:00
|
|
|
use Clivern\Imap\Core\Connection;
|
2017-08-13 13:23:28 +02:00
|
|
|
use Clivern\Imap\Core\Message\Header;
|
2017-08-15 15:18:41 +02:00
|
|
|
use Clivern\Imap\Core\Message\Action;
|
2017-08-13 15:01:56 +02:00
|
|
|
use Clivern\Imap\Core\Message\Body;
|
2017-08-08 17:45:18 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Message Iterator Class
|
|
|
|
*
|
|
|
|
* @package Clivern\Imap\Core
|
|
|
|
*/
|
2017-08-11 22:56:23 +02:00
|
|
|
class MessageIterator extends \ArrayIterator
|
2017-08-08 17:45:18 +02:00
|
|
|
{
|
2017-08-09 23:22:21 +02:00
|
|
|
|
2017-08-13 13:23:28 +02:00
|
|
|
/**
|
|
|
|
* @var Connection
|
|
|
|
*/
|
2017-08-11 22:56:23 +02:00
|
|
|
protected $connection;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructor
|
|
|
|
*
|
|
|
|
* @param Connection $connection
|
|
|
|
* @param array $message_numbers
|
|
|
|
*/
|
|
|
|
public function __construct(Connection $connection, array $message_numbers)
|
|
|
|
{
|
|
|
|
$this->connection = $connection;
|
|
|
|
parent::__construct($message_numbers);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get current message
|
|
|
|
*
|
|
|
|
* @return Message
|
|
|
|
*/
|
|
|
|
public function current()
|
|
|
|
{
|
2017-08-15 15:18:41 +02:00
|
|
|
$message = new Message($this->connection, new Header($this->connection), new Action($this->connection), new Body($this->connection));
|
2017-08-11 22:56:23 +02:00
|
|
|
return $message->setUid(parent::current())->config();
|
|
|
|
}
|
2017-08-08 17:45:18 +02:00
|
|
|
}
|