comparison modules/block/block.module @ 5:2427550111ae 6.2

Drupal 6.2
author Franck Deroche <webmaster@defr.org>
date Tue, 23 Dec 2008 14:30:08 +0100
parents c1f4ac30525a
children fff6d4c8c043
comparison
equal deleted inserted replaced
4:d94886ac61a0 5:2427550111ae
1 <?php 1 <?php
2 // $Id: block.module,v 1.299 2008/02/03 19:12:57 goba Exp $ 2 // $Id: block.module,v 1.299.2.2 2008/04/09 21:11:45 goba Exp $
3 3
4 /** 4 /**
5 * @file 5 * @file
6 * Controls the boxes that are displayed around the main content. 6 * Controls the boxes that are displayed around the main content.
7 */ 7 */
130 'weight' => -10, 130 'weight' => -10,
131 ); 131 );
132 $items['admin/build/block/list/js'] = array( 132 $items['admin/build/block/list/js'] = array(
133 'title' => 'JavaScript List Form', 133 'title' => 'JavaScript List Form',
134 'page callback' => 'block_admin_display_js', 134 'page callback' => 'block_admin_display_js',
135 'access arguments' => array('administer blocks'),
135 'type' => MENU_CALLBACK, 136 'type' => MENU_CALLBACK,
136 'file' => 'block.admin.inc', 137 'file' => 'block.admin.inc',
137 ); 138 );
138 $items['admin/build/block/configure'] = array( 139 $items['admin/build/block/configure'] = array(
139 'title' => 'Configure block', 140 'title' => 'Configure block',
140 'page callback' => 'drupal_get_form', 141 'page callback' => 'drupal_get_form',
141 'page arguments' => array('block_admin_configure'), 142 'page arguments' => array('block_admin_configure'),
143 'access arguments' => array('administer blocks'),
142 'type' => MENU_CALLBACK, 144 'type' => MENU_CALLBACK,
143 'file' => 'block.admin.inc', 145 'file' => 'block.admin.inc',
144 ); 146 );
145 $items['admin/build/block/delete'] = array( 147 $items['admin/build/block/delete'] = array(
146 'title' => 'Delete block', 148 'title' => 'Delete block',
147 'page callback' => 'drupal_get_form', 149 'page callback' => 'drupal_get_form',
148 'page arguments' => array('block_box_delete'), 150 'page arguments' => array('block_box_delete'),
151 'access arguments' => array('administer blocks'),
149 'type' => MENU_CALLBACK, 152 'type' => MENU_CALLBACK,
150 'file' => 'block.admin.inc', 153 'file' => 'block.admin.inc',
151 ); 154 );
152 $items['admin/build/block/add'] = array( 155 $items['admin/build/block/add'] = array(
153 'title' => 'Add block', 156 'title' => 'Add block',
154 'page callback' => 'drupal_get_form', 157 'page callback' => 'drupal_get_form',
155 'page arguments' => array('block_add_block_form'), 158 'page arguments' => array('block_add_block_form'),
159 'access arguments' => array('administer blocks'),
156 'type' => MENU_LOCAL_TASK, 160 'type' => MENU_LOCAL_TASK,
157 'file' => 'block.admin.inc', 161 'file' => 'block.admin.inc',
158 ); 162 );
159 $default = variable_get('theme_default', 'garland'); 163 $default = variable_get('theme_default', 'garland');
160 foreach (list_themes() as $key => $theme) { 164 foreach (list_themes() as $key => $theme) {
437 } 441 }
438 } 442 }
439 else { 443 else {
440 $page_match = TRUE; 444 $page_match = TRUE;
441 } 445 }
442 446 $block->enabled = $enabled;
443 if ($enabled && $page_match) { 447 $block->page_match = $page_match;
448 $blocks[$block->region]["{$block->module}_{$block->delta}"] = $block;
449 }
450 }
451
452 // Create an empty array if there were no entries
453 if (!isset($blocks[$region])) {
454 $blocks[$region] = array();
455 }
456
457 foreach ($blocks[$region] as $key => $block) {
458 // Render the block content if it has not been created already.
459 if (!isset($block->content)) {
460 // Erase the block from the static array - we'll put it back if it has content.
461 unset($blocks[$region][$key]);
462 if ($block->enabled && $block->page_match) {
444 // Check the current throttle status and see if block should be displayed 463 // Check the current throttle status and see if block should be displayed
445 // based on server load. 464 // based on server load.
446 if (!($block->throttle && (module_invoke('throttle', 'status') > 0))) { 465 if (!($block->throttle && (module_invoke('throttle', 'status') > 0))) {
447 // Try fetching the block from cache. Block caching is not compatible with 466 // Try fetching the block from cache. Block caching is not compatible with
448 // node_access modules. We also preserve the submission of forms in blocks, 467 // node_access modules. We also preserve the submission of forms in blocks,
475 $blocks[$block->region]["{$block->module}_{$block->delta}"] = $block; 494 $blocks[$block->region]["{$block->module}_{$block->delta}"] = $block;
476 } 495 }
477 } 496 }
478 } 497 }
479 } 498 }
480 // Create an empty array if there were no entries
481 if (!isset($blocks[$region])) {
482 $blocks[$region] = array();
483 }
484 return $blocks[$region]; 499 return $blocks[$region];
485 } 500 }
486 501
487 /** 502 /**
488 * Assemble the cache_id to use for a given block. 503 * Assemble the cache_id to use for a given block.