/**
* @param InstallationData $data
*/
protected function installModules(InstallationData $data)
{
foreach (self::getHiddenModules() as $hiddenModule) {
$data->addModule($hiddenModule);
}
// loop modules
foreach ($data->getModules() as $module) {
$class = 'Backend\\Modules\\' . $module . '\\Installer\\Installer';
// install exists
if (class_exists($class)) {
// create installer
/** @var $install ModuleInstaller */
$installer = new $class($this->container->get('database'), $data->getLanguages(), $data->getInterfaceLanguages(), $data->hasExampleData(), $this->getInstallerData($data));
// install the module
$installer->install();
// add the default extras
$moduleDefaultExtras = $installer->getDefaultExtras();
if (!empty($moduleDefaultExtras)) {
$this->defaultExtras = array_merge($this->{$defaultExtras}, $moduleDefaultExtras);
}
}
}
}