| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | <?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'));    }}
 |