|
GetVar('step') != $this->currentStep; // data from this step was not submitted yet
$selected = $this->GetVar('modules');
if (!$selected) {
// preselect interface modules
$selected = Array ('core');
}
$modules_helper =& $this->Application->recallObject('ModulesHelper');
/* @var $modules_helper kModulesHelper */
$licensed_modules = array_map('strtolower', $modules_helper->_GetModules());
$modules = $this->ScanModules();
foreach ($modules as $module) {
$module_version = $this->toolkit->GetMaxModuleVersion($module);
$prerequisites_errors = $this->toolkit->CheckPrerequisites($module . '/', Array ($module_version), 'install');
$license_module = $module;
if (!in_array(strtolower($license_module), $licensed_modules)) {
// when module isn't licensed user can't install it
continue; // option #1: don't show non-licensed modules
array_unshift($prerequisites_errors, 'Module not licensed'); // option #2: show warning under module name
}
if ($prerequisites_errors) {
// disable checkbox, when some of prerequisites not passed
$checked = 'disabled';
}
else {
// preserve user selected checked status
$checked = in_array($module, $selected) || $first_time ? 'checked="checked"' : '';
}
$error_msg = $prerequisites_errors ? implode('
', $prerequisites_errors) : '';
echo sprintf($module_tpl, $module, $this->toolkit->getModuleName($module), $checked, $error_msg);
}
?>