mirror of https://github.com/avecms/AVE.cms.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.0 KiB
80 lines
2.0 KiB
<?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 |
|
{ |
|
/** Swift Mailer Version number generated during dist release process */ |
|
const VERSION = '@SWIFT_VERSION_NUMBER@'; |
|
|
|
public static $initialized = false; |
|
public static $inits = array(); |
|
|
|
/** |
|
* 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 = __DIR__.'/'.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')); |
|
} |
|
}
|
|
|