? block.patch
Index: modules/block/block.api.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.api.php,v
retrieving revision 1.11
diff -u -p -r1.11 block.api.php
--- modules/block/block.api.php	22 Apr 2010 09:12:35 -0000	1.11
+++ modules/block/block.api.php	22 Apr 2010 20:14:42 -0000
@@ -53,19 +53,17 @@
  * For a detailed usage example, see block_example.module.
  */
 function hook_block_info() {
-  $blocks['exciting'] = array(
-    'info' => t('An exciting block provided by Mymodule.'),
-    'weight' => 0,
-    'status' => 1,
-    'region' => 'sidebar_first',
-    // DRUPAL_CACHE_PER_ROLE will be assumed for block 0.
-  );
-
-  $blocks['amazing'] = array(
-    'info' => t('An amazing block provided by Mymodule.'),
-    'cache' => DRUPAL_CACHE_PER_ROLE | DRUPAL_CACHE_PER_PAGE,
-  );
+  global $user;
 
+  $blocks['login']['info'] = t('User login');
+  // Not worth caching.
+  $blocks['login']['cache'] = DRUPAL_NO_CACHE;
+
+  $blocks['new']['info'] = t('Who\'s new');
+
+  // Too dynamic to cache.
+  $blocks['online']['info'] = t('Who\'s online');
+  $blocks['online']['cache'] = DRUPAL_NO_CACHE;
   return $blocks;
 }
 
