diff options
Diffstat (limited to 'External/swiftmailer/lib/classes/Swift/Plugins/Loggers')
-rwxr-xr-x | External/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php | 73 | ||||
-rwxr-xr-x | External/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php | 64 |
2 files changed, 137 insertions, 0 deletions
diff --git a/External/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php b/External/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php new file mode 100755 index 0000000..930eca2 --- /dev/null +++ b/External/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php @@ -0,0 +1,73 @@ +<?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. + */ + +/** + * Logs to an Array backend. + * @package Swift + * @subpackage Transport + * @author Chris Corbyn + */ +class Swift_Plugins_Loggers_ArrayLogger implements Swift_Plugins_Logger +{ + + /** + * The log contents. + * @var array + * @access private + */ + private $_log = array(); + + /** + * Max size of the log. + * @var int + * @access private + */ + private $_size = 0; + + /** + * Create a new ArrayLogger with a maximum of $size entries. + * @var int $size + */ + public function __construct($size = 50) + { + $this->_size = $size; + } + + /** + * Add a log entry. + * @param string $entry + */ + public function add($entry) + { + $this->_log[] = $entry; + while (count($this->_log) > $this->_size) + { + array_shift($this->_log); + } + } + + /** + * Clear the log contents. + */ + public function clear() + { + $this->_log = array(); + } + + /** + * Get this log as a string. + * @return string + */ + public function dump() + { + return implode(PHP_EOL, $this->_log); + } + +} diff --git a/External/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php b/External/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php new file mode 100755 index 0000000..83dd54b --- /dev/null +++ b/External/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php @@ -0,0 +1,64 @@ +<?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. + */ + +/** + * Prints all log messages in real time. + * + * @package Swift + * @subpackage Transport + * @author Chris Corbyn + */ +class Swift_Plugins_Loggers_EchoLogger implements Swift_Plugins_Logger +{ + + /** Whether or not HTML should be output */ + private $_isHtml; + + /** + * Create a new EchoLogger. + * + * @param boolean $isHtml + */ + public function __construct($isHtml = true) + { + $this->_isHtml = $isHtml; + } + + /** + * Add a log entry. + * @param string $entry + */ + public function add($entry) + { + if ($this->_isHtml) + { + printf('%s%s%s', htmlspecialchars($entry, ENT_QUOTES), '<br />', PHP_EOL); + } + else + { + printf('%s%s', $entry, PHP_EOL); + } + } + + /** + * Not implemented. + */ + public function clear() + { + } + + /** + * Not implemented. + */ + public function dump() + { + } + +} |