diff -rN -u old-drupal-demo-1/sites/all/modules/node_expire/node_expire.module new-drupal-demo-1/sites/all/modules/node_expire/node_expire.module
--- old-drupal-demo-1/sites/all/modules/node_expire/node_expire.module	2008-07-14 11:39:39.125000000 +0100
+++ new-drupal-demo-1/sites/all/modules/node_expire/node_expire.module	2008-07-14 11:39:46.140625000 +0100
@@ -1052,4 +1052,11 @@
   db_query("INSERT INTO {node_expire} (nid, expire, expiresec, expiremode, isroot) VALUES (%d, '%s', '%s', '%s', 0)", $nid, $changed, $node->expire_timefrom, $node->expiration_type);
 
   return true;
-}
\ No newline at end of file
+}
+
+function node_expire_init() {
+  if (module_exists('views')) {
+    include_once 
+      drupal_get_path('module', 'node_expire') . '/node_expire_views.inc';
+  }
+}
diff -rN -u old-drupal-demo-1/sites/all/modules/node_expire/node_expire_views.inc new-drupal-demo-1/sites/all/modules/node_expire/node_expire_views.inc
--- old-drupal-demo-1/sites/all/modules/node_expire/node_expire_views.inc	1970-01-01 00:00:00.000000000 +0000
+++ new-drupal-demo-1/sites/all/modules/node_expire/node_expire_views.inc	2008-07-14 11:39:46.171875000 +0100
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * @file
+ * Views integration: provide a filter for the expiry date, and a view to
+ * display a list of expired nodes.
+ **/
+
+// Handler for a filter on a MySQL datetime field
+function node_expire_mysql_datetime($op, $filter, $filterinfo, &$query) {
+  $value = 0;
+  if ($filter['value']) {
+    $value = $filter['value'] == 'now' ? 
+      "***CURRENT_TIME***" : strtotime($filter['value']);
+  }
+
+  $query->ensure_table($filterinfo['table']);
+  $query->add_where(
+    "%s.%s %s FROM_UNIXTIME(%s)",
+    $filterinfo['table'], $filterinfo['field'] , $filter['operator'], $value);
+}
+
+// Provide the "Node: expiry date" filter
+function node_expire_views_tables() {
+  $tables['node_expire'] = array(
+    'name' => 'node_expire',
+    'provider' => 'internal',
+    'join' => array(
+      'left' => array('table' => 'node', 'field' => 'nid'),
+      'right' => array('field' => 'nid')),
+    'filters' => array(
+      'expire' => array(
+        'name' => t('Node: expiry date'),
+        'help' => t(
+          t('Allows filtering on the node\'s expiry date. Enter dates in the ' .
+            'format YYYY-MM-DD HH:MM:SS, or use "now" for the current time.')),
+        'operator' => array('<=' => t('is before'), '>=' => t('is after')),
+        'value' => views_handler_filter_date_value_form(),
+        'handler' => 'node_expire_mysql_datetime')
+    )
+  );
+  return $tables;
+}
+
+// The Expired queue view
+function node_expire_expired_queue_view() {
+  $view = new stdClass();
+  $view->name = 'expired_queue';
+  $view->use_pager = TRUE;
+  $view->block = TRUE;
+  $view->block_title = t('Expired nodes');
+  $view->block_type = 'list';
+  $view->nodes_per_block = '10';
+  $view->field = array (
+    array (
+      'tablename' => 'node',
+      'field' => 'title',
+      'handler' => 'views_handler_field_nodelink',
+      'options' => 'link',
+    )
+  );
+  $view->filter = array (
+    array (
+      'tablename' => 'node_expire',
+      'field' => 'expire',
+      'operator' => '<=',
+      'value' => 'now',
+    )
+  );
+  $view->requires = array('node', 'node_expire');
+  return $view;
+}
+
+function node_expire_views_default_views() {
+  $expired_queue = node_expire_expired_queue_view();
+  return array($expired_queue->name => $expired_queue);
+}
