diff --git a/includes/menu.inc b/includes/menu.inc index b160dc094262347851ee636197a7bb4912f92915..b1d1bdb517cf30d2a3581f6029d040c142197611 100644 --- a/includes/menu.inc +++ b/includes/menu.inc @@ -528,6 +528,12 @@ function menu_get_active_help() { * Returns an array of rendered menu items in the active breadcrumb trail. */ function menu_get_active_breadcrumb() { + + // No breadcrumb for the front page. + if (drupal_is_front_page()) { + return array(); + } + $links[] = l(t('Home'), '<front>'); $trail = _menu_get_active_trail(); diff --git a/includes/path.inc b/includes/path.inc index 0202c4820d5e88b800e9b6ad4905dc4aee289a0e..665f05a3ae7e0fbf1d7350acbe1a1b14ea479217 100644 --- a/includes/path.inc +++ b/includes/path.inc @@ -187,3 +187,15 @@ function drupal_set_title($title = NULL) { } return $stored_title; } + +/** + * Check if the current page is the front page. + * + * @return + * Boolean value: TRUE if the current page is the front page; FALSE if otherwise. + */ +function drupal_is_front_page() { + // As drupal_init_path updates $_GET['q'] with the 'site_frontpage' path, + // rely on $_REQUEST to verify the original value of 'q'. + return !isset($_REQUEST['q']); +} diff --git a/sites/default/settings.php b/sites/default/settings.php index dbd81225fd4be4a03a8ded6945aea61e56a78cd0..888018b753922df6cd488a717df3f92e53710960 100644 --- a/sites/default/settings.php +++ b/sites/default/settings.php @@ -32,8 +32,8 @@ * 10. sites/default * * If you are installing on a non-standard port number, prefix the - * hostname with that number. For example, - * http://www.drupal.org:8080/mysite/test/ could be loaded from + * hostname with that number. For example, + * http://www.drupal.org:8080/mysite/test/ could be loaded from * sites/8080.www.drupal.org.mysite.test/. */ diff --git a/themes/engines/phptemplate/phptemplate.engine b/themes/engines/phptemplate/phptemplate.engine index 0a136a3ac4280decf2e0a57f42bbbb94eba63d92..569e86ecdee814c1acbf3e0181fe3037bbe0cd63 100644 --- a/themes/engines/phptemplate/phptemplate.engine +++ b/themes/engines/phptemplate/phptemplate.engine @@ -84,13 +84,13 @@ function _phptemplate_callback($hook, $variables = array(), $file = NULL) { * A sequential array of variables passed to the theme function. */ function _phptemplate_default_variables($hook, $variables) { - global $theme; + global $theme, $sidebar_indicator; static $count = array(); + $count[$hook] = isset($count[$hook]) && is_int($count[$hook]) ? $count[$hook] : 1; $variables['zebra'] = ($count[$hook] % 2) ? 'odd' : 'even'; $variables['id'] = $count[$hook]++; - global $sidebar_indicator; if ($hook == 'block') { $count['block_counter'][$sidebar_indicator] = isset($count['block_counter'][$sidebar_indicator]) && is_int($count['block_counter'][$sidebar_indicator]) ? $count['block_counter'][$sidebar_indicator] : 1; $variables['block_zebra'] = ($count['block_counter'][$sidebar_indicator] % 2) ? 'odd' : 'even'; @@ -110,10 +110,7 @@ function _phptemplate_default_variables($hook, $variables) { } // Tell all templates where they are located. $variables['directory'] = path_to_theme(); - - if (drupal_get_path_alias($_GET['q']) == variable_get('site_frontpage', 'node')) { - $variables['is_front'] = true; - } + $variables['is_front'] = drupal_is_front_page(); return $variables; } @@ -142,7 +139,7 @@ function phptemplate_features() { function phptemplate_page($content) { /* Set title and breadcrumb to declared values */ - if (drupal_get_path_alias($_GET['q']) == variable_get('site_frontpage', 'node')) { + if (drupal_is_front_page()) { $mission = filter_xss_admin(theme_get_setting('mission')); }