diff options
Diffstat (limited to 'vendor/swiftmailer/classes/Swift.php')
-rw-r--r-- | vendor/swiftmailer/classes/Swift.php | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/vendor/swiftmailer/classes/Swift.php b/vendor/swiftmailer/classes/Swift.php new file mode 100644 index 00000000..77145fdc --- /dev/null +++ b/vendor/swiftmailer/classes/Swift.php @@ -0,0 +1,80 @@ +<?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. + */ + +/** + * General utility class in Swift Mailer, not to be instantiated. + * + * + * @author Chris Corbyn + */ +abstract class Swift +{ + public static $initialized = false; + public static $inits = array(); + + /** Swift Mailer Version number generated during dist release process */ + const VERSION = '@SWIFT_VERSION_NUMBER@'; + + /** + * Registers an initializer callable that will be called the first time + * a SwiftMailer class is autoloaded. + * + * This enables you to tweak the default configuration in a lazy way. + * + * @param mixed $callable A valid PHP callable that will be called when autoloading the first Swift class + */ + public static function init($callable) + { + self::$inits[] = $callable; + } + + /** + * Internal autoloader for spl_autoload_register(). + * + * @param string $class + */ + public static function autoload($class) + { + // Don't interfere with other autoloaders + if (0 !== strpos($class, 'Swift_')) { + return; + } + + $path = dirname(__FILE__).'/'.str_replace('_', '/', $class).'.php'; + + if (!file_exists($path)) { + return; + } + + require $path; + + if (self::$inits && !self::$initialized) { + self::$initialized = true; + foreach (self::$inits as $init) { + call_user_func($init); + } + } + } + + /** + * Configure autoloading using Swift Mailer. + * + * This is designed to play nicely with other autoloaders. + * + * @param mixed $callable A valid PHP callable that will be called when autoloading the first Swift class + */ + public static function registerAutoload($callable = null) + { + if (null !== $callable) { + self::$inits[] = $callable; + } + spl_autoload_register(array('Swift', 'autoload')); + } +} |