From 1c75a210bdf85afeee33952fd50c1951999fecb4 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Thu, 13 Jul 2006 13:14:25 +0000 Subject: - Patch #68926 by chx, jeremy, steven, eaton, webchick, amazon, neil, nedjo et al: an initial install system for Drupal core. --- includes/theme.inc | 74 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 55 insertions(+), 19 deletions(-) (limited to 'includes/theme.inc') diff --git a/includes/theme.inc b/includes/theme.inc index 715a42786..47388c839 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -431,7 +431,7 @@ function theme_maintenance_page($content, $messages = TRUE, $partial = FALSE) { $output = "\n"; $output .= ''; $output .= ''; - $output .= ' '. drupal_get_title() .''; + $output .= ' '. strip_tags(drupal_get_title()) .''; $output .= drupal_get_html_head(); $output .= theme_get_styles(); $output .= ''; @@ -453,33 +453,69 @@ function theme_maintenance_page($content, $messages = TRUE, $partial = FALSE) { return $output; } +function theme_install_page($content) { + drupal_set_header('Content-Type: text/html; charset=utf-8'); + theme('add_style', 'misc/maintenance.css'); + drupal_set_html_head(''); + $output = "\n"; + $output .= ''; + $output .= ''; + $output .= ' '. strip_tags(drupal_get_title()) .''; + $output .= drupal_get_html_head(); + $output .= theme_get_styles(); + $output .= ''; + $output .= ''; + $output .= '

' . drupal_get_title() . '

'; + + $messages = drupal_set_message(); + if (isset($messages['error'])) { + $errors = count($messages['error']) > 1 ? 'errors' : 'error'; + $output .= "

The following $errors must be resolved before you can continue the installation process:

"; + $output .= theme('status_messages', 'error'); + } + + $output .= "\n\n"; + $output .= $content; + $output .= "\n\n"; + + if (isset($messages['status'])) { + $warnings = count($messages['status']) > 1 ? 'warnings' : 'warning'; + $output .= "

The following installation $warnings should be carefully reviewed, but in most cases may be safely ignored:

"; + $output .= theme('status_messages', 'status'); + } + + $output .= ''; + + return $output; +} + /** - * Returns themed set of status and/or error messages. The messages are grouped + * Return a themed set of status and/or error messages. The messages are grouped * by type. * + * @param $display + * (optional) Set to 'status' or 'error' to display only messages of that type. + * * @return * A string containing the messages. */ -function theme_status_messages() { - if ($data = drupal_get_messages()) { - $output = ''; - foreach ($data as $type => $messages) { - $output .= "
\n"; - if (count($messages) > 1) { - $output .= " \n"; - } - else { - $output .= $messages[0]; +function theme_status_messages($display = NULL) { + $output = ''; + foreach (drupal_get_messages($display) as $type => $messages) { + $output .= "
\n"; + if (count($messages) > 1) { + $output .= "
    \n"; + foreach($messages as $message) { + $output .= '
  • '. $message ."
  • \n"; } - $output .= "
\n"; + $output .= " \n"; } - - return $output; + else { + $output .= $messages[0]; + } + $output .= "
\n"; } + return $output; } /** -- cgit v1.2.3