? radioactivity-module-251656-3.patch
Index: radioactivity.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/radioactivity/radioactivity.module,v
retrieving revision 1.8
diff -u -p -w -r1.8 radioactivity.module
--- radioactivity.module	28 Apr 2008 06:55:30 -0000	1.8
+++ radioactivity.module	29 Apr 2008 13:35:24 -0000
@@ -538,26 +538,32 @@ function radioactivity_exit() {
 function radioactivity_views_tables() {
   $tables=array();
 
+  // variants is an array of join variants
+  $variants=array('' => array('name' => 'radioactive only',
+                              'join_type' => 'inner'),
+                  '_all' => array('name'=> 'all',
+                                  'join_type' => 'left'));
+
+  foreach ($variants as $variant_key => $variant) {
   foreach (_radioactivity_get_decay_profiles() as $dpid => $decay_profile) {
-    $tables['radioactivity_'.$dpid]=
+      $name=t('Radioactivity: Node energy (@e) '.$variant['name'],
+              array('@e'=>$decay_profile["label"]));
+      $tables['radioactivity_'.$dpid . $variant_key]=
       array('name' => 'radioactivity',
-            'join' => array('type' => 'inner',
+              'join' => array('type' => $variant['join_type'],
                             'left' => array('table' => 'node',
                                             'field' => 'nid'),
                             'right' => array('field' => 'nid'),
                             'extra' => array('decay_profile' => $dpid)),
-            'fields' => array('energy' => array('name' => t('Radioactivity: Node energy (@e)',
-                                                            array('@e'=>$decay_profile["label"])),
+              'fields' => array('energy' => array('name' => $name,
                                                 'help' => t('The amount of radioactive energy remaining in node'),
                                                 'sortable' => TRUE)),
-            'sorts' => array('energy' => array('name' => t('Radioactivity: Node energy (@e)',
-                                                           array('@e'=>$decay_profile["label"])),
+              'sorts' => array('energy' => array('name' => $name,
                                                'help' => t('Sort by node radioactive energy'))),
-            'filters' => array('energy' => array('name' => t('Radioactivity: Node energy (@e)',
-                                                             array('@e'=>$decay_profile["label"])),
+              'filters' => array('energy' => array('name' => $name,
                                                  'help' => t('Filter by node energy'),
-                                                 'operator' => 'views_handler_operator_gtlt',
-                                                 'option' => 'string')));
+                                                   'operator' => 'views_handler_operator_gtlt')));
+    }
   }
   return $tables;
 }
