diff -upr ../featured_content/featured_content.admin.inc ./featured_content.admin.inc
--- ../featured_content/featured_content.admin.inc	2011-02-24 20:12:52.000000000 -0600
+++ ./featured_content.admin.inc	2011-03-22 00:34:19.000000000 -0500
@@ -443,6 +443,13 @@ function featured_content_configure($del
         '#value' => '</div>',
       );
     }
+
+    $form['featured-block']['filter']['views']['filter_view_include_arg'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Include current node ID as view argument?'),
+      '#default_value' => featured_content_get_value($featured_content['filter']['view_include_arg'], 0),
+      '#description' => t('If the above option is selected, the node ID of the current item being viewed will be passed to the view as it\'s first argument.'),
+    );
   }
 
   $form['featured-block']['filter']['paths'] = array(
@@ -799,6 +806,9 @@ function featured_content_save($delta, $
   if (module_exists('views') && function_exists('views_get_all_views')) {
     $views = views_get_all_views();
     if (! empty($views)) {
+    
+      $featured_blocks[$delta]['filter']['view_include_arg'] = empty($edit['filter_view_include_arg']) ? 0 : 1;
+
       foreach ($views as $view_name => $view_data) {
         if (! empty($view_data->display)) {
           foreach ($view_data->display as $display_name => $display_data) {
diff -upr ../featured_content/featured_content.module ./featured_content.module
--- ../featured_content/featured_content.module	2011-02-24 20:12:52.000000000 -0600
+++ ./featured_content.module	2011-03-22 00:36:28.000000000 -0500
@@ -570,10 +570,34 @@ function featured_content_get_filtered_n
           if (! empty($view_data->display)) {
             foreach ($view_data->display as $display_name => $display_data) {
               if ($data['views']['view'][$view_name][$display_name]) {
-                $views_results = views_get_view_result($view_name, $display_name);
+
+              	// If the block is configured to include the node ID or
+              	// term ID as an argument, include that information here.  Otherwise,
+              	// pass in no arguments         
+                $views_results = ! empty($data['view_include_arg']) && isset($node->nid)
+                	? views_get_view_result($view_name, $display_name, $node->nid)
+                	: views_get_view_result($view_name, $display_name);
+
                 if (! empty($views_results)) {
                   foreach ($views_results as $views_result) {
-                    if ($views_result->nid) {
+
+                  	// Look to see if there is a nid returned other than the 
+                  	// main nid (to allow for more complex view results).  If
+                  	// so, use that value.  Otherwise, use the main returned
+                  	// nid if it exists
+                  	$found_nid = FALSE;
+                  	
+                  	foreach ($views_result as $key => $val) {
+                  	
+                  		if ( ! $found_nid) {
+	                  		if (substr($key, -4) === '_nid') {	                  		
+	                  			$views_nids[] = $val;
+	                  			$found_nid = TRUE;
+	                  		}	
+                  		}
+                  	}
+                  	
+                    if ( ! $found_nid && $views_result->nid) {
                       $views_nids[] = $views_result->nid;
                     }
                   }
Only in ./: featured_content_view_arguments.diff
