Index: branches/RC/core/install.php =================================================================== diff -u -N -r11071 -r11074 --- branches/RC/core/install.php (.../install.php) (revision 11071) +++ branches/RC/core/install.php (.../install.php) (revision 11074) @@ -448,13 +448,23 @@ $this->errorMessage = 'Please select module(-s) to ' . ($this->currentStep == 'choose_modules' ? 'install' : 'upgrade'); } - $found['In-Portal'] = in_array('kernel', $modules); - $found['Proj-Base'] = in_array('proj-base', $modules); + // check interface modules + $available_modules = $selected_modules = Array (); + $interface_modules = Array ('In-Portal', 'Proj-Base'); + foreach ($interface_modules as $interface_module) { + $module_folder = strtolower($interface_module == 'In-Portal' ? 'kernel' : $interface_module); - if (!$found['In-Portal'] && !$found['Proj-Base']) { - $this->errorMessage = 'Please ' . ($modules ? 'also ' : '') . 'select "' . implode('" or "', array_keys($found)) . '" as interface module'; + if (file_exists(MODULES_PATH . '/' . $module_folder)) { + array_push($available_modules, $interface_module); + } + + $module_selected[$interface_module] = in_array($module_folder, $modules); } + if (!$module_selected['In-Portal'] && !$module_selected['Proj-Base']) { + $this->errorMessage = 'Please ' . ($modules ? 'also ' : '') . 'select "' . implode('" or "', $available_modules) . '" as interface module'; + } + $status = $this->errorMessage == ''; break; } Index: branches/RC/core/install/step_templates/choose_modules.tpl =================================================================== diff -u -N -r10924 -r11074 --- branches/RC/core/install/step_templates/choose_modules.tpl (.../choose_modules.tpl) (revision 10924) +++ branches/RC/core/install/step_templates/choose_modules.tpl (.../choose_modules.tpl) (revision 11074) @@ -19,6 +19,7 @@ GetVar('step') != $this->currentStep; // data from this step was not submitted yet $selected = $this->GetVar('modules'); if (!$selected) { // preselect interface modules @@ -49,7 +50,7 @@ } else { // preserve user selected checked status - $checked = in_array($module, $selected) ? 'checked="checked"' : ''; + $checked = in_array($module, $selected) || $first_time ? 'checked="checked"' : ''; } $error_msg = $prerequisites_errors ? implode('
', $prerequisites_errors) : '';