/**
  * 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);
 }
Exemple #2
0
Kernel::initialize('');
$t->is(Kernel::getInstalledModules(), null, 'TEST OF: Kernel::initialize method with wrong path.');
$t->isnt(Kernel::getErrors(), null, 'TEST OF: Getting errors after Kernel::initialize method with wrong path.');
/*--------------------------------------------F20503--------------------------------------------------------*/
/*F20503-T01*/
Kernel::buildInstalledModules();
$t->isnt(Kernel::getErrors(), null, 'TEST OF: Instanciating modules without initializing kernel and dependencies table.');
/*F20503-T02*/
Kernel::initialize(dirname(__FILE__) . '/../../apps/');
$modules = Kernel::buildInstalledModules();
$t->is(Kernel::getErrors(), null, 'TEST OF: Instanciating modules with initializing kernel but without initializing dependencies table.');
$t->is($modules, false, 'TEST OF: Instanciating modules with initializing kernel but without initializing dependencies table.');
/*F20503-T03*/
Kernel::initialize(dirname(__FILE__) . '/../../apps/');
Kernel::buildDependenciesTable();
$modules = Kernel::buildInstalledModules();
$t->is(Kernel::getErrors(), null, 'TEST OF: Instanciating modules with initializing kernel and dependencies table.');
$t->isnt($modules, array(), 'TEST OF: Instanciating modules with initializing kernel and dependencies table.');
/*---------------------------------------------F20504-------------------------------------------------------*/
/*F20504-T01*/
$configuration = ProjectConfiguration::getApplicationConfiguration('core', '', true);
$cultures = Kernel::getInstalledCultures($configuration);
$t->is($cultures, null, 'TEST OF: Getting installed cultures without any application configuration.');
/*F20504-T02*/
$configuration = ProjectConfiguration::getApplicationConfiguration('core', 'dev', true);
$cultures = Kernel::getInstalledCultures($configuration);
$t->is_deeply($cultures, array(), 'TEST OF: Getting installed cultures with wrong application configuration.');
/*F20504-T03*/
$configuration = ProjectConfiguration::getApplicationConfiguration('mgmt', 'dev', true);
$cultures = Kernel::getInstalledCultures($configuration);
$t->isnt($cultures, null, 'TEST OF: Getting installed cultures with correct application configuration.');