clivern-imap/src/Core/MessageIterator.php

48 lines
998 B
PHP
Raw Normal View History

2017-08-08 17:45:18 +02:00
<?php
/**
* @author clivern <hello@clivern.com>
*/
namespace Clivern\Imap\Core;
use Clivern\Imap\Core\Message;
use Clivern\Imap\Core\Connection;
2017-08-13 13:23:28 +02:00
use Clivern\Imap\Core\Message\Header;
use Clivern\Imap\Core\Message\Actions;
2017-08-08 17:45:18 +02:00
/**
* Message Iterator Class
*
* @package Clivern\Imap\Core
*/
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
*/
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-13 13:23:28 +02:00
$message = new Message($this->connection, new Header($this->connection), new Actions($this->connection));
return $message->setUid(parent::current())->config();
}
2017-08-08 17:45:18 +02:00
}