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.
216 lines
7.7 KiB
216 lines
7.7 KiB
<?php
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
use Symfony\Component\HttpKernel\Kernel;
|
|
use Symfony\Component\Config\Loader\LoaderInterface;
|
|
use Chamilo\CoreBundle\Component\Utils\ChamiloApi;
|
|
|
|
/**
|
|
* Class AppKernel
|
|
*/
|
|
class AppKernel extends Kernel
|
|
{
|
|
protected $rootDir;
|
|
|
|
public function registerBundles()
|
|
{
|
|
$bundles = array(
|
|
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
|
|
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
|
|
new Symfony\Bundle\TwigBundle\TwigBundle(),
|
|
new Symfony\Bundle\MonologBundle\MonologBundle(),
|
|
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
|
|
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
|
|
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
|
|
|
|
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
|
|
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
|
|
//new Doctrine\Bundle\PHPCRBundle\DoctrinePHPCRBundle(),
|
|
new Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle(),
|
|
|
|
new FOS\RestBundle\FOSRestBundle(),
|
|
new JMS\SerializerBundle\JMSSerializerBundle($this),
|
|
|
|
// KNP HELPER BUNDLES
|
|
new Knp\Bundle\MenuBundle\KnpMenuBundle(),
|
|
new Knp\Bundle\MarkdownBundle\KnpMarkdownBundle(),
|
|
// Data grid
|
|
//new APY\DataGridBundle\APYDataGridBundle(),
|
|
new Chamilo\FaqBundle\ChamiloFaqBundle(),
|
|
new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle(),
|
|
new A2lix\TranslationFormBundle\A2lixTranslationFormBundle(),
|
|
|
|
// Sonata
|
|
new Sonata\EasyExtendsBundle\SonataEasyExtendsBundle(),
|
|
new Sonata\CoreBundle\SonataCoreBundle(),
|
|
new Sonata\IntlBundle\SonataIntlBundle(),
|
|
new Sonata\FormatterBundle\SonataFormatterBundle(),
|
|
new Sonata\CacheBundle\SonataCacheBundle(),
|
|
new Sonata\BlockBundle\SonataBlockBundle(),
|
|
new Sonata\SeoBundle\SonataSeoBundle(),
|
|
new Sonata\ClassificationBundle\SonataClassificationBundle(),
|
|
new Sonata\NotificationBundle\SonataNotificationBundle(),
|
|
new Sonata\DatagridBundle\SonataDatagridBundle(),
|
|
new Sonata\MediaBundle\SonataMediaBundle(),
|
|
new Sonata\PageBundle\SonataPageBundle(),
|
|
new Theodo\Evolution\Bundle\SessionBundle\TheodoEvolutionSessionBundle(),
|
|
|
|
new Spy\TimelineBundle\SpyTimelineBundle(),
|
|
new Sonata\TimelineBundle\SonataTimelineBundle(),
|
|
|
|
//new SimpleThings\EntityAudit\SimpleThingsEntityAuditBundle(),
|
|
|
|
new Sonata\AdminBundle\SonataAdminBundle(),
|
|
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
|
|
|
|
|
|
// CMF Integration
|
|
new Symfony\Cmf\Bundle\RoutingBundle\CmfRoutingBundle(),
|
|
//new Symfony\Cmf\Bundle\SearchBundle\CmfSearchBundle(),
|
|
//new Symfony\Cmf\Bundle\BlogBundle\CmfBlogBundle(),
|
|
//new Sonata\DoctrinePHPCRAdminBundle\SonataDoctrinePHPCRAdminBundle(),
|
|
|
|
// Oauth
|
|
//new HWI\Bundle\OAuthBundle\HWIOAuthBundle(),
|
|
|
|
//new Gregwar\CaptchaBundle\GregwarCaptchaBundle(),
|
|
new Mopa\Bundle\BootstrapBundle\MopaBootstrapBundle(),
|
|
//new Liip\ThemeBundle\LiipThemeBundle(),
|
|
new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
|
|
new FM\ElfinderBundle\FMElfinderBundle(),
|
|
new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
|
|
new Knp\DoctrineBehaviors\Bundle\DoctrineBehaviorsBundle(),
|
|
|
|
// User
|
|
new FOS\UserBundle\FOSUserBundle(),
|
|
new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
|
|
new Chamilo\UserBundle\ChamiloUserBundle(),
|
|
/*
|
|
// Sylius
|
|
/*new Sylius\Bundle\SettingsBundle\SyliusSettingsBundle(),
|
|
//new Sylius\Bundle\AttributeBundle\SyliusAttributeBundle(),
|
|
new Sylius\Bundle\ResourceBundle\SyliusResourceBundle(),
|
|
new Sylius\Bundle\FlowBundle\SyliusFlowBundle(),
|
|
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
|
|
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),*/
|
|
|
|
// Chamilo
|
|
//new Chamilo\InstallerBundle\ChamiloInstallerBundle(),
|
|
new Chamilo\CoreBundle\ChamiloCoreBundle(),
|
|
new Chamilo\CourseBundle\ChamiloCourseBundle(),
|
|
// new Chamilo\SettingsBundle\ChamiloSettingsBundle(),
|
|
new Chamilo\ThemeBundle\ChamiloThemeBundle(),
|
|
//new Chamilo\NotificationBundle\ChamiloNotificationBundle(),
|
|
new Chamilo\AdminBundle\ChamiloAdminBundle(),
|
|
new Chamilo\TimelineBundle\ChamiloTimelineBundle(),
|
|
new \Chamilo\ContactBundle\ChamiloContactBundle(),
|
|
|
|
// Based in Sonata
|
|
new Chamilo\ClassificationBundle\ChamiloClassificationBundle(),
|
|
new Chamilo\MediaBundle\ChamiloMediaBundle(),
|
|
new Chamilo\PageBundle\ChamiloPageBundle(),
|
|
/*
|
|
// Chamilo course tool
|
|
//new Chamilo\NotebookBundle\ChamiloNotebookBundle(),
|
|
|
|
// Data
|
|
//new Oneup\FlysystemBundle\OneupFlysystemBundle(), */
|
|
|
|
// Extra
|
|
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
|
|
|
|
/*
|
|
//new JMS\TranslationBundle\JMSTranslationBundle(),
|
|
//new JMS\DiExtraBundle\JMSDiExtraBundle($this),
|
|
//new JMS\AopBundle\JMSAopBundle(),
|
|
/*new Bazinga\Bundle\FakerBundle\BazingaFakerBundle(),
|
|
//new Chamilo\CmsBundle\ChamiloCmsBundle(),
|
|
*/
|
|
new Lunetics\LocaleBundle\LuneticsLocaleBundle()
|
|
);
|
|
|
|
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
|
|
//$bundles[] = new Jjanvier\Bundle\CrowdinBundle\JjanvierCrowdinBundle();
|
|
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
|
|
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
|
|
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
|
|
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
|
|
//$bundles[] = new Sp\BowerBundle\SpBowerBundle();
|
|
}
|
|
|
|
return $bundles;
|
|
}
|
|
|
|
/**
|
|
* @param LoaderInterface $loader
|
|
*/
|
|
public function registerContainerConfiguration(LoaderInterface $loader)
|
|
{
|
|
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
|
|
}
|
|
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getRootDir()
|
|
{
|
|
if (null === $this->rootDir) {
|
|
$r = new \ReflectionObject($this);
|
|
$this->rootDir = str_replace('\\', '/', dirname($r->getFileName()));
|
|
}
|
|
|
|
return $this->rootDir;
|
|
}
|
|
|
|
/**
|
|
* Returns the real root path
|
|
* @return string
|
|
*/
|
|
public function getRealRootDir()
|
|
{
|
|
return realpath($this->getRootDir().'/../').'/';
|
|
}
|
|
|
|
/**
|
|
* Returns the data path
|
|
* @return string
|
|
*/
|
|
public function getDataDir()
|
|
{
|
|
return $this->getRealRootDir().'data/';
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getAppDir()
|
|
{
|
|
return $this->getRealRootDir().'app/';
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getConfigDir()
|
|
{
|
|
return $this->getRealRootDir().'app/config/';
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getConfigurationFile()
|
|
{
|
|
return $this->getRealRootDir().'app/config/configuration.php';
|
|
}
|
|
|
|
/**
|
|
* @param array $configuration
|
|
*/
|
|
public function setApi(array $configuration)
|
|
{
|
|
new ChamiloApi($configuration);
|
|
}
|
|
}
|
|
|
|
|