Index: cck_blocks.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cck_blocks/cck_blocks.module,v
retrieving revision 1.2.2.11
diff -u -p -r1.2.2.11 cck_blocks.module
--- cck_blocks.module	17 Mar 2010 20:17:51 -0000	1.2.2.11
+++ cck_blocks.module	17 Mar 2010 23:09:35 -0000
@@ -51,52 +51,32 @@ function cck_blocks_block($op = 'list', 
   case 'configure':
     // add token help, if token module is installed
     if (module_exists('token')) {
-    $form = array();
-    $form['view']['token_help'] = array(
-      '#title' => t('Replacement patterns'),
-      '#type' => 'fieldset',
-      '#collapsible' => TRUE,
-      '#collapsed' => TRUE,
-      '#description' => t('Prefer raw-text replacements for text to avoid problems with HTML entities!'),
-    );
-
-    $form['view']['token_help']['help'] = array(
-      '#value' => theme('token_help', 'node'),
-    );
-    return $form;
+      $form = array();
+      $form['view']['token_help'] = array(
+        '#title' => t('Replacement patterns'),
+        '#type' => 'fieldset',
+        '#collapsible' => TRUE,
+        '#collapsed' => TRUE,
+        '#description' => t('Prefer raw-text replacements for text to avoid problems with HTML entities!'),
+      );
+
+      $form['view']['token_help']['help'] = array(
+        '#value' => theme('token_help', 'node'),
+      );
+      return $form;
     }
 
   case 'view':
     $block = array();
 
-    if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2) && $fields[$delta]) {
-      $nid = arg(1);
+    // Get viewed node.
+    $node = menu_get_object();
+    if (isset($node->nid) && !arg(2) && $fields[$delta]) {
+      $nid = $node->nid;
       if (!isset($built_nodes[$nid])) {
-        // Build the node in the cck_blocks mode. This is based on node_build_content().
-        $node = node_load($nid);
-
-        // check the users permissions for this node
-        if(!node_access("view", $node)){
-          //return an empty array, if access to the node is not permitted
-          return array();
-        }
-                
         $node->build_mode = 'cck_blocks';
-
-        // Remove the delimiter (if any) that separates the teaser from the body.
-        $node->body = isset($node->body) ? str_replace('<!--break-->', '', $node->body) : '';
-
-        // The 'view' hook can be implemented to overwrite the default function
-        // to display nodes.
-        if (node_hook($node, 'view')) {
-          $node = node_invoke($node, 'view', $teaser, $page);
-        }
-        else {
-          $node = node_prepare($node, $teaser);
-        }
-
-        // Allow modules to make their own additions to the node.
-        node_invoke_nodeapi($node, 'view', $teaser, $page);
+        // This is a node page.
+        $node = node_build_content($node, FALSE, TRUE);
         $built_nodes[$nid] = $node;
       }
 
