[ Index ]

MailPress 544

[ Index ]     [ Classes ]     [ Functions ]     [ Variables ]     [ Constants ]     [ Statistics ]    

title

Body

[close]

/mp-includes/Swiftmailer/classes/Swift/Transport/ -> SpoolTransport.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of SwiftMailer.
   5   * (c) 2009 Fabien Potencier <fabien.potencier@gmail.com>
   6   *
   7   * For the full copyright and license information, please view the LICENSE
   8   * file that was distributed with this source code.
   9   */
  10  
  11  /**
  12   * Stores Messages in a queue.
  13   *
  14   * @author Fabien Potencier
  15   */
  16  class Swift_Transport_SpoolTransport implements Swift_Transport
  17  {
  18      /** The spool instance */
  19      private $_spool;
  20  
  21      /** The event dispatcher from the plugin API */
  22      private $_eventDispatcher;
  23  
  24      /**
  25       * Constructor.
  26       */
  27      public function __construct(Swift_Events_EventDispatcher $eventDispatcher, Swift_Spool $spool = null)
  28      {
  29          $this->_eventDispatcher = $eventDispatcher;
  30          $this->_spool = $spool;
  31      }
  32  
  33      /**
  34       * Sets the spool object.
  35       *
  36       * @param Swift_Spool $spool
  37       *
  38       * @return Swift_Transport_SpoolTransport
  39       */
  40      public function setSpool(Swift_Spool $spool)
  41      {
  42          $this->_spool = $spool;
  43  
  44          return $this;
  45      }
  46  
  47      /**
  48       * Get the spool object.
  49       *
  50       * @return Swift_Spool
  51       */
  52      public function getSpool()
  53      {
  54          return $this->_spool;
  55      }
  56  
  57      /**
  58       * Tests if this Transport mechanism has started.
  59       *
  60       * @return bool
  61       */
  62      public function isStarted()
  63      {
  64          return true;
  65      }
  66  
  67      /**
  68       * Starts this Transport mechanism.
  69       */
  70      public function start()
  71      {
  72      }
  73  
  74      /**
  75       * Stops this Transport mechanism.
  76       */
  77      public function stop()
  78      {
  79      }
  80  
  81      /**
  82       * Sends the given message.
  83       *
  84       * @param Swift_Mime_Message $message
  85       * @param string[]           $failedRecipients An array of failures by-reference
  86       *
  87       * @return int The number of sent e-mail's
  88       */
  89      public function send(Swift_Mime_Message $message, &$failedRecipients = null)
  90      {
  91          if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) {
  92              $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed');
  93              if ($evt->bubbleCancelled()) {
  94                  return 0;
  95              }
  96          }
  97  
  98          $success = $this->_spool->queueMessage($message);
  99  
 100          if ($evt) {
 101              $evt->setResult($success ? Swift_Events_SendEvent::RESULT_SPOOLED : Swift_Events_SendEvent::RESULT_FAILED);
 102              $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed');
 103          }
 104  
 105          return 1;
 106      }
 107  
 108      /**
 109       * Register a plugin.
 110       *
 111       * @param Swift_Events_EventListener $plugin
 112       */
 113      public function registerPlugin(Swift_Events_EventListener $plugin)
 114      {
 115          $this->_eventDispatcher->bindEventListener($plugin);
 116      }
 117  }


Generated: Thu Apr 28 18:38:52 2016 Cross-referenced by PHPXref 0.7.1