diff --git a/core/includes/theme.inc b/core/includes/theme.inc index 35527a9..32e2f25 100644 --- a/core/includes/theme.inc +++ b/core/includes/theme.inc @@ -387,6 +387,45 @@ function _theme_save_registry($theme, $registry) { } /** + * Adds mobile friendly meta tags. + */ +function _theme_mobile_meta_tags() { + $elements = array( + 'MobileOptimized' => array( + '#tag' => 'meta', + '#attributes' => array( + 'name' => 'MobileOptimized', + 'content' => 'width', + ), + ), + 'HandheldFriendly' => array( + '#tag' => 'meta', + '#attributes' => array( + 'name' => 'HandheldFriendly', + 'content' => 'true', + ), + ), + 'viewport' => array( + '#tag' => 'meta', + '#attributes' => array( + 'name' => 'viewport', + 'content' => 'width=device-width', + ), + ), + 'cleartype' => array( + '#tag' => 'meta', + '#attributes' => array( + 'http-equiv' => 'cleartype', + 'content' => 'on', + ), + ), + ); + foreach ($elements as $name => $element) { + drupal_add_html_head($element, $name); + } +} + +/** * Forces the system to rebuild the theme registry. * * This function should be called when modules are added to the system, or when @@ -2759,40 +2798,8 @@ function template_preprocess_html(&$variables) { $variables['head_title_array'] = $head_title; $variables['head_title'] = implode(' | ', $head_title); - // Display the html.tpl.php's default mobile metatags for responsive design. - $elements = array( - 'MobileOptimized' => array( - '#tag' => 'meta', - '#attributes' => array( - 'name' => 'MobileOptimized', - 'content' => 'width', - ), - ), - 'HandheldFriendly' => array( - '#tag' => 'meta', - '#attributes' => array( - 'name' => 'HandheldFriendly', - 'content' => 'true', - ), - ), - 'viewport' => array( - '#tag' => 'meta', - '#attributes' => array( - 'name' => 'viewport', - 'content' => 'width=device-width', - ), - ), - 'cleartype' => array( - '#tag' => 'meta', - '#attributes' => array( - 'http-equiv' => 'cleartype', - 'content' => 'on', - ), - ), - ); - foreach ($elements as $name => $element) { - drupal_add_html_head($element, $name); - } + // Display the default mobile metatags for responsive design. + _theme_mobile_meta_tags(); // Populate the page template suggestions. if ($suggestions = theme_get_suggestions(arg(), 'html')) { @@ -3007,7 +3014,7 @@ function template_preprocess_maintenance_page(&$variables) { $theme_data = list_themes(); $regions = $theme_data[$theme]->info['regions']; - // Add favicon + // Add favicon. if (theme_get_setting('toggle_favicon')) { $favicon = theme_get_setting('favicon'); $type = theme_get_setting('favicon_mimetype'); @@ -3034,7 +3041,7 @@ function template_preprocess_maintenance_page(&$variables) { $site_name = $site_config->get('name'); $site_slogan = $site_config->get('slogan'); - // Construct page title + // Construct page title. if (drupal_get_title()) { $head_title = array( 'title' => strip_tags(drupal_get_title()), @@ -3082,6 +3089,9 @@ function template_preprocess_maintenance_page(&$variables) { $variables['attributes']['class'][] = 'sidebar-' . $variables['layout']; } + // Display the default mobile metatags for responsive design. + _theme_mobile_meta_tags(); + // Dead databases will show error messages so supplying this template will // allow themers to override the page and the content completely. if (isset($variables['db_is_active']) && !$variables['db_is_active']) { @@ -3113,6 +3123,38 @@ function template_process_maintenance_page(&$variables) { } /** + * Process variables for install-page.tpl.php. + * + * Calls template_preprocess_install_page() to modify the $variables + * array. + * + * The $variables array contains the following arguments: + * - $content + * + * @see install-page.tpl.php + * @see template_preprocess_install_page() + */ +function template_preprocess_install_page(&$variables) { + template_preprocess_maintenance_page($variables); +} + +/** + * Theme process function for theme_install_page(). + * + * The variables array generated here is a mirror of template_process_html(). + * This processor will run its course when theme_install_page() is invoked. + * + * @see install-page.tpl.php + * @see template_process_html() + */ +function template_process_install_page(&$variables) { + $variables['head'] = drupal_get_html_head(); + $variables['css'] = drupal_add_css(); + $variables['styles'] = drupal_get_css(); + $variables['scripts'] = drupal_get_js(); +} + +/** * Preprocess variables for region.tpl.php * * Prepares the values passed to the theme_region function to be passed into a @@ -3222,7 +3264,8 @@ function drupal_common_theme() { 'template' => 'maintenance-page', ), 'install_page' => array( - 'variables' => array('content' => NULL), + 'variables' => array('content' => NULL, 'show_messages' => TRUE), + 'template' => 'install-page', ), 'task_list' => array( 'variables' => array('items' => NULL, 'active' => NULL), diff --git a/core/includes/theme.maintenance.inc b/core/includes/theme.maintenance.inc index 578d354..e37f677 100644 --- a/core/includes/theme.maintenance.inc +++ b/core/includes/theme.maintenance.inc @@ -146,20 +146,6 @@ function theme_task_list($variables) { } /** - * Returns HTML for the installation page. - * - * Note: this function is not themeable. - * - * @param $variables - * An associative array containing: - * - content: The page content to show. - */ -function theme_install_page($variables) { - drupal_add_http_header('Content-Type', 'text/html; charset=utf-8'); - return theme('maintenance_page', $variables); -} - -/** * Returns HTML for a results report of an operation run by authorize.php. * * @param $variables diff --git a/core/modules/system/templates/maintenance-page.tpl.php b/core/modules/system/templates/install-page.tpl.php similarity index 77% copy from core/modules/system/templates/maintenance-page.tpl.php copy to core/modules/system/templates/install-page.tpl.php index 5da7a1a..546ee06 100644 --- a/core/modules/system/templates/maintenance-page.tpl.php +++ b/core/modules/system/templates/install-page.tpl.php @@ -13,10 +13,8 @@ * @ingroup themeable */ ?> - - - + + <?php print $head_title; ?> @@ -27,17 +25,10 @@