Seditio Source
Root |
./othercms/elxis_5.3_atlas_rev2452/includes/libraries/swift/classes/Swift.php
<?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'));
    }
}