diff --git a/core/includes/theme.inc b/core/includes/theme.inc index c1792e8..c80d298 100644 --- a/core/includes/theme.inc +++ b/core/includes/theme.inc @@ -389,6 +389,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 @@ -2803,40 +2842,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')) { @@ -3077,7 +3084,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()), @@ -3126,6 +3133,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']) { @@ -3157,6 +3167,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 @@ -3267,7 +3309,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 9215957..1001ba1 100644 --- a/core/includes/theme.maintenance.inc +++ b/core/includes/theme.maintenance.inc @@ -148,20 +148,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/maintenance-page.tpl.php index 5da7a1a..2e93bcd 100644 --- a/core/modules/system/templates/maintenance-page.tpl.php +++ b/core/modules/system/templates/maintenance-page.tpl.php @@ -13,10 +13,8 @@ * @ingroup themeable */ ?> - - - + + <?php print $head_title; ?> diff --git a/core/themes/seven/js/mobile.install.js b/core/themes/seven/js/mobile.install.js index 6784daa..a6af9f1 100644 --- a/core/themes/seven/js/mobile.install.js +++ b/core/themes/seven/js/mobile.install.js @@ -18,11 +18,11 @@ function installStepsSetup () { var steps = document.querySelectorAll('.task-list li'); if (steps.length) { - var branding = document.querySelector('#branding'); + var header = document.querySelector('#header'); var stepIndicator = document.createElement('div'); stepIndicator.className = 'step-indicator'; stepIndicator.innerHTML = findActiveStep(steps) + '/' + steps.length; - branding.appendChild(stepIndicator); + header.appendChild(stepIndicator); } } diff --git a/core/themes/seven/seven.theme b/core/themes/seven/seven.theme index 61212fe..9be4ab6 100644 --- a/core/themes/seven/seven.theme +++ b/core/themes/seven/seven.theme @@ -133,6 +133,11 @@ function seven_tablesort_indicator($variables) { */ function seven_preprocess_install_page(&$variables) { drupal_add_js(drupal_get_path('theme', 'seven') . '/js/mobile.install.js'); + drupal_add_css(drupal_get_path('theme', 'seven') . '/install-page.css', array('group' => CSS_AGGREGATE_THEME)); + $variables['attributes']['class'][] = 'install-page'; + if(empty($variables['site_name'])) { + $variables['site_name'] = 'Drupal'; + } } /** diff --git a/core/themes/seven/style-rtl.css b/core/themes/seven/style-rtl.css index f4097d9..9bb9d5a 100644 --- a/core/themes/seven/style-rtl.css +++ b/core/themes/seven/style-rtl.css @@ -126,16 +126,6 @@ body.in-maintenance #content { padding-left: 20px; padding-right: 0; } -ol.task-list { - margin-right: 0; -} -ol.task-list li { - padding: 0.5em 20px 0.5em 1em; -} -ol.task-list li.active { - background: transparent url(images/task-item-rtl.png) no-repeat right 50%; - padding: 0.5em 20px 0.5em 1em; -} /* Overlay theming */ .overlay #branding .breadcrumb { diff --git a/core/themes/seven/style.css b/core/themes/seven/style.css index 52db095..c448fee 100644 --- a/core/themes/seven/style.css +++ b/core/themes/seven/style.css @@ -920,7 +920,6 @@ body.in-maintenance #sidebar-first { } body.in-maintenance #content { float: right; /* LTR */ - max-width: 550px; clear: none; width: 72%; } @@ -959,41 +958,6 @@ body.in-maintenance #logo { width: auto; } } -ol.task-list { - margin-left: 0; /* LTR */ - list-style-type: none; - list-style-image: none; -} -ol.task-list li { - padding: 0.5em 1em 0.5em 20px; /* LTR */ - color: #adadad; -} -ol.task-list li.active { - background: transparent url(images/task-item.png) no-repeat 3px 50%; /* LTR */ - padding: 0.5em 1em 0.5em 20px; /* LTR */ - color: #000; -} -ol.task-list li.done { - background: transparent url(images/task-check.png) no-repeat 0 50%; - color: green; -} -body.in-maintenance #branding .step-indicator { - display: none; -} -@media all and (max-width: 768px) { - ol.task-list, - body.in-maintenance #logo { - display: none; - } - body.in-maintenance #branding h1 { - float: left; - width: auto; - } - body.in-maintenance #branding .step-indicator { - display: block; - float: right; - } -} /* Overlay theming */ .overlay #branding { @@ -1683,7 +1647,6 @@ details.fieldset-no-legend { } } - /** * Node form dropbuttons. */