Index: uc_node_checkout.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/uc_node_checkout/uc_node_checkout.module,v
retrieving revision 1.8
diff -u -p -r1.8 uc_node_checkout.module
--- uc_node_checkout.module	26 Jan 2009 20:14:39 -0000	1.8
+++ uc_node_checkout.module	1 Feb 2011 00:37:21 -0000
@@ -1,6 +1,4 @@
 <?php
-// $Id: uc_node_checkout.module,v 1.8 2009/01/26 20:14:39 rszrama Exp $
-
 /**
  * @file
  * Associate node types with products on your site that customers can purchase.
@@ -513,6 +511,28 @@ function uc_node_checkout_cart_item($op,
         $item->checkout_node = $node;
       }
       break;
+    case 'can_ship':
+      // Determine if there is a shippable component to this node checkout product
+      // We will look at the default $item settings to determine.
+      if ($uc_node_checkout_product = node_load($item->data['nid'])) {
+        // If the item was set to be 'shippable' on the node edit form of the uc_node_checkout product,
+        // not the associated node to purchase, then we'll send this off to ubercart as a 'shippable' item
+        // and Ubercart will use this is a trigger to display the shipping pane. Else, if set to unshippable
+        // Ubercart will not trigger the shipping pane, provided there are no other shippable products
+        // in the cart with the uc_node_checkout items.
+        if ($uc_node_checkout_product->shippable == 0) {
+          // If this, then the product was set to 'not shippable'
+          return FALSE;
+        }
+        else {
+          return TRUE;
+        }
+      }
+      else {
+        // $item->data['nid'] was not found or I was unable to node_load $item->data['nid']'s nid. So show an error:
+        drupal_set_message(t('Unable to determine the product class associated with item ' . $item->data['title'] . ' so the shipping pane is included on this Ubercart display'), 'error');
+      }
+      break;
   }
 }
 
@@ -713,9 +733,3 @@ function uc_node_checkout_load_order_pro
 
   return $products[$order_product_id];
 }
-
-// Allow the customer to select which associated product to use for the node.
-function uc_node_checkout_product_selection_form() {
-
-}
-
