cvs diff -u -p -- premium.module (in directory C:\Web Design\drupal\my own modules\contributions\modules\premium\)
Index: premium.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/premium/premium.module,v
retrieving revision 1.7
diff -u -p -r1.7 premium.module
--- premium.module	21 Aug 2007 19:02:02 -0000	1.7
+++ premium.module	15 Oct 2007 16:56:08 -0000
@@ -207,3 +207,51 @@ function _premium_node($node) {
 function theme_premium_body($node) {
   return check_markup($node->teaser, $node->format, FALSE) . '<div class="premium-message">'.variable_get('premium_message', t('Full text available to premium subscribers only')).'</div>';
 }
+
+/**
+ * Implementation of hook_views_tables() to expose premium content to Views
+ */
+function premium_views_tables() {
+  $tables['premium'] = array(
+    'name' => 'premium',
+    'provider' => 'internal',
+    'join' => array(
+      'left' => array(
+        'table' => 'node',
+        'field' => 'nid'
+      ),
+      'right' => array(
+        'field' => 'nid'
+      ),
+    ),
+
+    'filters' => array(
+      'nid' => array(
+        'name' => t('Node: Premium Content'),
+        'operator' => array('=' => t('Equals')),
+        'list' => 'views_handler_operator_yesno',
+        'list-type' => 'select',
+        'handler' => 'premium_views_handler_filter_nid_exist',
+        'help' => t('Filter by whether or not the node is premium content.'),
+      ),
+    ),
+  );
+  return $tables;
+}
+
+/**
+ * Views handler for filtering whether or not the node is premium content.
+ */
+function premium_views_handler_filter_nid_exist($op, $filter, $filterdata, &$query) {
+  switch ($op) {
+    case 'handler':
+      $query->ensure_table('premium');
+      if ($filter['value']) {
+        $query->add_where('premium.nid');
+      }
+      else {
+        $query->add_where('ISNULL(premium.nid)');
+      }
+      break;
+  }
+}
\ No newline at end of file