/**
* This method override sfContext::initialize. It is charged to initialize the context
* of the Management application based on the initialization of the Kernel.
* @param sfApplicationConfiguration $configuration
*/
public function initialize(sfApplicationConfiguration $configuration)
{
//Initialize the kernel:
Kernel::initialize(ProjectConfiguration::guessRootDir() . '/apps/');
//Build the dependencies table:
Kernel::buildDependenciesTable();
//Build the installed modules:
$modules = Kernel::buildInstalledModules();
//Get the currently installed cultures:
parent::set('InstalledCultures', Kernel::getInstalledCultures($configuration));
//Check if everything is ok,
//and make the status as an attribute of the calling application context:
parent::set('KernelStatus', Kernel::check());
parent::set('DependenciesErrors', Kernel::getUnsatisfiedDependencies());
//Create the instance of the Kernel, containing only the installed modules list and the dependencies table,
//and make it as an attribute of the calling application context:
parent::set('Kernel', Kernel::createInstance());
parent::set('Modules', Module::checkAll(parent::get('Kernel')->getDependenciesTable(), $modules));
//Launch the 'classical' intialization process: the sfContext::initialize() method:
parent::initialize($configuration);
}