diff options
Diffstat (limited to 'External/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php')
-rwxr-xr-x | External/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/External/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php b/External/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php new file mode 100755 index 0000000..0022f5e --- /dev/null +++ b/External/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php @@ -0,0 +1,63 @@ +<?php + +/* + * This file is part of SwiftMailer. + * (c) 2004-2009 Chris Corbyn + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +//@require 'Swift/Plugins/Reporter.php'; +//@require 'Swift/Mime/Message.php'; + +/** + * A reporter which "collects" failures for the Reporter plugin. + * @package Swift + * @subpackage Plugins + * @author Chris Corbyn + */ +class Swift_Plugins_Reporters_HitReporter implements Swift_Plugins_Reporter +{ + + /** + * The list of failures. + * @var array + * @access private + */ + private $_failures = array(); + private $_failures_cache = array(); + + /** + * Notifies this ReportNotifier that $address failed or succeeded. + * @param Swift_Mime_Message $message + * @param string $address + * @param int $result from {@link RESULT_PASS, RESULT_FAIL} + */ + public function notify(Swift_Mime_Message $message, $address, $result) + { + if (self::RESULT_FAIL == $result && !isset($this->_failures_cache[$address])) + { + $this->_failures[] = $address; + $this->_failures_cache[$address] = true; + } + } + + /** + * Get an array of addresses for which delivery failed. + * @return array + */ + public function getFailedRecipients() + { + return $this->_failures; + } + + /** + * Clear the buffer (empty the list). + */ + public function clear() + { + $this->_failures = $this->_failures_cache = array(); + } + +} |