diff options
author | Dries Buytaert <dries@buytaert.net> | 2006-08-23 18:32:39 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2006-08-23 18:32:39 +0000 |
commit | 427604dfb645808958ffe71f0f7ccf8ca21ff9bb (patch) | |
tree | 29ebe9bc0ae5c57b1b30ef90d5f63c5cb37e711a /themes | |
parent | 689a61f199c604dcabd0434c4d8e68d5f5148425 (diff) | |
download | brdo-427604dfb645808958ffe71f0f7ccf8ca21ff9bb.tar.gz brdo-427604dfb645808958ffe71f0f7ccf8ca21ff9bb.tar.bz2 |
- Patch #80201: don't show blocks when serving a 404. Saves CPU and bandwidth.
Diffstat (limited to 'themes')
-rw-r--r-- | themes/chameleon/chameleon.theme | 16 | ||||
-rw-r--r-- | themes/engines/phptemplate/phptemplate.engine | 36 |
2 files changed, 30 insertions, 22 deletions
diff --git a/themes/chameleon/chameleon.theme b/themes/chameleon/chameleon.theme index 9ffa50ef0..272f8169f 100644 --- a/themes/chameleon/chameleon.theme +++ b/themes/chameleon/chameleon.theme @@ -3,7 +3,7 @@ /** * @file - * A slim, CSS-driven theme. + * A slim, CSS-driven theme which does not depend on a template engine like phptemplate */ function chameleon_features() { @@ -21,7 +21,7 @@ function chameleon_regions() { ); } -function chameleon_page($content) { +function chameleon_page($content, $show_blocks = TRUE) { $language = $GLOBALS['locale']; if (theme_get_setting('toggle_favicon')) { @@ -71,8 +71,10 @@ function chameleon_page($content) { $output .= " <table id=\"content\">\n"; $output .= " <tr>\n"; - if ($blocks = theme_blocks("left")) { - $output .= " <td id=\"sidebar-left\">$blocks</td>\n"; + if ($show_blocks) { + if ($blocks = theme_blocks("left")) { + $output .= " <td id=\"sidebar-left\">$blocks</td>\n"; + } } $output .= " <td id=\"main\">\n"; @@ -101,8 +103,10 @@ function chameleon_page($content) { $output .= " </td>\n"; - if ($blocks = theme_blocks("right")) { - $output .= " <td id=\"sidebar-right\">$blocks</td>\n"; + if ($show_blocks) { + if ($blocks = theme_blocks("right")) { + $output .= " <td id=\"sidebar-right\">$blocks</td>\n"; + } } $output .= " </tr>\n"; diff --git a/themes/engines/phptemplate/phptemplate.engine b/themes/engines/phptemplate/phptemplate.engine index 744563ad9..831e35059 100644 --- a/themes/engines/phptemplate/phptemplate.engine +++ b/themes/engines/phptemplate/phptemplate.engine @@ -147,7 +147,7 @@ function phptemplate_features() { * generate a series of page template files suggestions based on the * current path. If none are found, the default page.tpl.php is used. */ -function phptemplate_page($content) { +function phptemplate_page($content, $show_blocks = TRUE) { /* Set title and breadcrumb to declared values */ if (drupal_is_front_page()) { @@ -162,23 +162,27 @@ function phptemplate_page($content) { /** * Populate sidebars. */ - $layout = 'none'; - global $sidebar_indicator; - /** - * Sidebar_indicator tells the block counting code to count sidebars separately. - */ - $sidebar_indicator = 'left'; - $sidebar_left = theme('blocks', 'left'); - if ($sidebar_left != '') { - $layout = 'left'; - } + if ($show_blocks) { + global $sidebar_indicator; + /** + * Sidebar_indicator tells the block counting code to count sidebars separately. + */ + $sidebar_indicator = 'left'; + $sidebar_left = theme('blocks', 'left'); + if ($sidebar_left != '') { + $layout = 'left'; + } - $sidebar_indicator = 'right'; - $sidebar_right = theme('blocks', 'right'); - if ($sidebar_right != '') { - $layout = ($layout == 'left') ? 'both' : 'right'; + $sidebar_indicator = 'right'; + $sidebar_right = theme('blocks', 'right'); + if ($sidebar_right != '') { + $layout = ($layout == 'left') ? 'both' : 'right'; + } + $sidebar_indicator = NULL; + } + else { + $layout = 'none'; } - $sidebar_indicator = NULL; // Construct page title if (drupal_get_title()) { |