Chamilo is a learning management system focused on ease of use and accessibility
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.
chamilo-lms/app/AppKernel.php

201 lines
7.1 KiB

<?php
/* For licensing terms, see /license.txt */
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
/**
* 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(),
// 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\TranslationBundle\SonataTranslationBundle(),
new Sonata\PageBundle\SonataPageBundle(),
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(),
// 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(),*/
// 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';
}
}