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.
81 lines
2.0 KiB
81 lines
2.0 KiB
7 years ago
|
<?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'));
|
||
|
}
|
||
|
}
|