<?php

require_once __DIR__.'/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';

use Symfony\Component\ClassLoader\UniversalClassLoader;
use Doctrine\Common\Annotations\AnnotationRegistry;

$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
    'Symfony\\Tests'   => __DIR__.'/tests',
    'Symfony'          => __DIR__.'/src',
    'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib',
    'Doctrine\\DBAL'   => __DIR__.'/vendor/doctrine-dbal/lib',
    'Doctrine'         => __DIR__.'/vendor/doctrine/lib',
    'Monolog'          => __DIR__.'/vendor/monolog/src',
));
$loader->registerPrefixes(array(
    'Twig_' => __DIR__.'/vendor/twig/lib',
));
if (!function_exists('intl_get_error_code')) {
    require_once __DIR__.'/src/Symfony/Component/Locale/Resources/stubs/functions.php';

    $loader->registerPrefixFallbacks(array(__DIR__.'/src/Symfony/Component/Locale/Resources/stubs'));
}
$loader->register();

if (is_file(__DIR__.'/vendor/doctrine-common/lib/Doctrine/Common/Annotations/AnnotationRegistry.php')) {
    AnnotationRegistry::registerLoader(function($class) use ($loader) {
        $loader->loadClass($class);
        return class_exists($class, false);
    });
    if (is_file(__DIR__.'/vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php')) {
        AnnotationRegistry::registerFile(__DIR__.'/vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php');
    }
}

if (is_file(__DIR__.'/vendor/swiftmailer/lib/classes/Swift.php')) {
    require_once __DIR__.'/vendor/swiftmailer/lib/classes/Swift.php';
    Swift::registerAutoload(__DIR__.'/vendor/swiftmailer/lib/swift_init.php');
}
