install_display_output

install_display_output($output, $install_state)

Displays themed installer output and ends the page request.

Installation tasks should use #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.

Parameters

$output: The content to display on the main part of the page.

$install_state: An array of information about the current installation state.

File

core/includes/install.core.inc, line 961
API functions for installing Drupal.

Code

function install_display_output($output, $install_state) {
  // Ensure the maintenance theme is initialized.
  // The regular initialization call in install_begin_request() may not be
  // reached in case of an early installer error.
  drupal_maintenance_theme();

  // Prevent install.php from being indexed when installed in a sub folder.
  // robots.txt rules are not read if the site is within domain.com/subfolder
  // resulting in /subfolder/install.php being found through search engines.
  // When settings.php is writeable this can be used via an external database
  // leading a malicious user to gain php access to the server.
  $noindex_meta_tag = array(
    '#tag' => 'meta',
    '#attributes' => array(
      'name' => 'robots',
      'content' => 'noindex, nofollow',
    ),
  );
  $output['#attached']['html_head'][] = [$noindex_meta_tag, 'install_meta_robots'];

  // 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.
  $regions = array();
  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'];
    $task_list = array(
      '#theme' => 'maintenance_task_list',
      '#items' => install_tasks_to_display($install_state),
      '#active' => $active_task,
    );
    $regions['sidebar_first'] = $task_list;
  }

  $bare_html_page_renderer = \Drupal::service('bare_html_page_renderer');
  $response = $bare_html_page_renderer->renderBarePage($output, $output['#title'], 'install_page', $regions);
  $default_headers = array(
    'Expires' => 'Sun, 19 Nov 1978 05:00:00 GMT',
    'Last-Modified' => gmdate(DATE_RFC1123, REQUEST_TIME),
    'Cache-Control' => 'no-cache, must-revalidate',
    'ETag' => '"' . REQUEST_TIME . '"',
  );
  $response->headers->add($default_headers);
  $response->send();
  exit;
}
doc_Drupal
2016-10-29 09:20:59
Comments
Leave a Comment

Please login to continue.