示例#1
0
/**
 * 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));
}
示例#2
0
/**
 * 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;
}