| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | <?php/* * This file is part of SwiftMailer. * (c) 2011 Fabien Potencier <fabien.potencier@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. *//** * Stores Messages in memory. * * @author  Fabien Potencier */class Swift_MemorySpool implements Swift_Spool{    protected $messages = array();    /**     * Tests if this Transport mechanism has started.     *     * @return bool     */    public function isStarted()    {        return true;    }    /**     * Starts this Transport mechanism.     */    public function start()    {    }    /**     * Stops this Transport mechanism.     */    public function stop()    {    }    /**     * Stores a message in the queue.     *     * @param Swift_Mime_Message $message The message to store     *     * @return bool    Whether the operation has succeeded     */    public function queueMessage(Swift_Mime_Message $message)    {        $this->messages[] = $message;        return true;    }    /**     * Sends messages using the given transport instance.     *     * @param Swift_Transport $transport        A transport instance     * @param string[]        $failedRecipients An array of failures by-reference     *     * @return int     The number of sent emails     */    public function flushQueue(Swift_Transport $transport, &$failedRecipients = null)    {        if (!$this->messages) {            return 0;        }        if (!$transport->isStarted()) {            $transport->start();        }        $count = 0;        while ($message = array_pop($this->messages)) {            $count += $transport->send($message, $failedRecipients);        }        return $count;    }}
 |