/** * Add the installation task list to the current page. */ function install_task_list($active = NULL) { // Default list of tasks. $tasks = array('profile-select' => st('Choose profile'), 'locale-select' => st('Choose language'), 'requirements' => st('Verify requirements'), 'database' => st('Set up database'), 'profile-install-batch' => st('Install profile'), 'locale-initial-batch' => st('Set up translations'), 'configure' => st('Configure site')); $profiles = install_find_profiles(); $profile = isset($_GET['profile']) && isset($profiles[$_GET['profile']]) ? $_GET['profile'] : '.'; $locales = install_find_locales($profile); // If we have only one profile, remove 'Choose profile' // and rename 'Install profile'. if (count($profiles) == 1) { unset($tasks['profile-select']); $tasks['profile-install-batch'] = st('Install site'); } // Add tasks defined by the profile. if ($profile) { $function = $profile . '_profile_task_list'; if (function_exists($function)) { $result = $function(); if (is_array($result)) { $tasks += $result; } } } if (count($locales) < 2 || empty($_GET['locale']) || $_GET['locale'] == 'en') { // If not required, remove translation import from the task list. unset($tasks['locale-initial-batch']); } else { // If required, add remaining translations import task. $tasks += array('locale-remaining-batch' => st('Finish translations')); } // Add finished step as the last task. $tasks += array('finished' => st('Finished')); // Let the theming function know that 'finished' and 'done' // include everything, so every step is completed. if (in_array($active, array('finished', 'done'))) { $active = NULL; } drupal_set_content('left', theme_task_list($tasks, $active)); }
/** * Display themed installer output and end the page request. * * Installation tasks should use drupal_set_title() to set the desired page * title, but otherwise this function takes care of theming the overall page * output during every step of the installation. * * @param $output * The content to display on the main part of the page. * @param $install_state * An array of information about the current installation state. */ function install_display_output($output, $install_state) { drupal_page_header(); // Only show the task list if there is an active task; otherwise, the page // request has ended before tasks have even been started, so there is nothing // meaningful to show. if (isset($install_state['active_task'])) { // Let the theming function know when every step of the installation has // been completed. $active_task = $install_state['installation_finished'] ? NULL : $install_state['active_task']; drupal_add_region_content('sidebar_first', theme_task_list(install_tasks_to_display($install_state), $active_task)); } print theme($install_state['database_tables_exist'] ? 'maintenance_page' : 'install_page', $output); exit; }