summaryrefslogtreecommitdiff
path: root/themes
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2006-08-23 18:32:39 +0000
committerDries Buytaert <dries@buytaert.net>2006-08-23 18:32:39 +0000
commit427604dfb645808958ffe71f0f7ccf8ca21ff9bb (patch)
tree29ebe9bc0ae5c57b1b30ef90d5f63c5cb37e711a /themes
parent689a61f199c604dcabd0434c4d8e68d5f5148425 (diff)
downloadbrdo-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.theme16
-rw-r--r--themes/engines/phptemplate/phptemplate.engine36
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()) {