Index: branches/RC/core/install/step_templates/upgrade_modules.tpl =================================================================== diff -u -N -r9988 -r10832 --- branches/RC/core/install/step_templates/upgrade_modules.tpl (.../upgrade_modules.tpl) (revision 9988) +++ branches/RC/core/install/step_templates/upgrade_modules.tpl (.../upgrade_modules.tpl) (revision 10832) @@ -1,28 +1,51 @@ - + - - + +
+ + + +
%4$s
+
GetVar('modules'); $modules = $this->GetUpgradableModules(); foreach ($modules as $module_name => $module_params) { - $module_title = $module_name.' ('.$module_params['Version'].' to '.$module_params['ToVersion'].')'; + $module_name = strtolower($module_name); + $upgrade_versions = Array ( + $module_params['Version'], + $module_params['ToVersion'], + ); + $prerequisites_errors = $this->toolkit->CheckPrerequisites($module_params['Path'], $upgrade_versions, 'upgrade'); + + $module_title = $this->toolkit->getModuleName($module_name).' ('.$module_params['Version'].' to '.$module_params['ToVersion'].')'; if ($this->Application->isDebugMode()) { $module_title .= ' [from: '.$module_params['FromVersion'].']'; } - $selected = $this->GetVar('modules'); - $checked = in_array($module_name, $selected) ? 'checked="checked"' : ''; - echo sprintf($module_tpl, $module_name, $module_title, $checked); + + if ($prerequisites_errors) { + // disable checkbox, when some of prerequisites not passed + $checked = 'disabled'; + } + else { + // preserve user selected checked status + $checked = in_array($module_name, $selected) ? 'checked="checked"' : ''; + } + + $error_msg = $prerequisites_errors ? implode('
', $prerequisites_errors) : ''; + + echo sprintf($module_tpl, $module_name, $module_title, $checked, $error_msg); } ?>