summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/theme.maintenance.inc43
-rw-r--r--themes/seven/template.php12
2 files changed, 14 insertions, 41 deletions
diff --git a/includes/theme.maintenance.inc b/includes/theme.maintenance.inc
index 536db1ee4..e8b470412 100644
--- a/includes/theme.maintenance.inc
+++ b/includes/theme.maintenance.inc
@@ -144,12 +144,6 @@ function theme_install_page($variables) {
// Delay setting the message variable so it can be processed below.
$variables['show_messages'] = FALSE;
- // Variable processors invoked manually since this function and theme_update_page()
- // are exceptions in how it works within the theme system.
- template_preprocess($variables, 'install_page');
- template_preprocess_maintenance_page($variables);
- template_process($variables, 'install_page');
- template_process_maintenance_page($variables);
// Special handling of error messages
$messages = drupal_set_message();
@@ -174,20 +168,7 @@ function theme_install_page($variables) {
$variables['messages'] .= theme('status_messages', array('display' => 'status'));
}
- // This was called as a theme hook (not template), so we need to fix
- // path_to_theme() for the template, to point at the actual theme rather than
- // system module as owner of the hook. Additionally, figure out the
- // maintenance page template to use.
- global $theme_path, $theme_info, $base_theme_info;
- $theme_path = dirname($theme_info->uri);
- $base_themes = $base_theme_info;
- // Make sure a maintenance-page.tpl.php is always found.
- $base_themes[] = 'modules/system';
- while (!file_exists($theme_path . '/maintenance-page.tpl.php') && $base_theme = array_shift($base_themes)) {
- $theme_path = dirname($base_theme->uri);
- }
-
- return theme_render_template($theme_path . '/maintenance-page.tpl.php', $variables);
+ return theme('maintenance_page', $variables);
}
/**
@@ -205,13 +186,6 @@ function theme_update_page($variables) {
// Set required headers.
drupal_add_http_header('Content-Type', 'text/html; charset=utf-8');
- // Variable processors invoked manually since this function and theme_install_page()
- // are exceptions in how it works within the theme system.
- template_preprocess($variables, 'update_page');
- template_preprocess_maintenance_page($variables);
- template_process($variables, 'update_page');
- template_process_maintenance_page($variables);
-
// Special handling of warning messages.
$messages = drupal_set_message();
if (isset($messages['warning'])) {
@@ -220,20 +194,7 @@ function theme_update_page($variables) {
$variables['messages'] .= theme('status_messages', array('display' => 'warning'));
}
- // This was called as a theme hook (not template), so we need to fix
- // path_to_theme() for the template, to point at the actual theme rather than
- // system module as owner of the hook. Additionally, figure out the
- // maintenance page template to use.
- global $theme_path, $theme_info, $base_theme_info;
- $theme_path = dirname($theme_info->uri);
- $base_themes = $base_theme_info;
- // Make sure a maintenance-page.tpl.php is always found.
- $base_themes[] = 'modules/system';
- while (!file_exists($theme_path . '/maintenance-page.tpl.php') && $base_theme = array_shift($base_themes)) {
- $theme_path = dirname($base_theme->uri);
- }
-
- return theme_render_template($theme_path . '/maintenance-page.tpl.php', $variables);
+ return theme('maintenance_page', $variables);
}
/**
diff --git a/themes/seven/template.php b/themes/seven/template.php
index cbb198980..afacb071f 100644
--- a/themes/seven/template.php
+++ b/themes/seven/template.php
@@ -2,6 +2,18 @@
// $Id$
/**
+ * Override or insert variables into the maintenance page template.
+ */
+function seven_preprocess_maintenance_page(&$vars) {
+ // While markup for normal pages is split into page.tpl.php and html.tpl.php,
+ // the markup for the maintenance page is all in the single
+ // maintenance-page.tpl.php template. So, to have what's done in
+ // seven_preprocess_html() also happen on the maintenance page, it has to be
+ // called here.
+ seven_preprocess_html($vars);
+}
+
+/**
* Override or insert variables into the html template.
*/
function seven_preprocess_html(&$vars) {