Index: modules/comment.views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/comment.views.inc,v
retrieving revision 1.29
diff -u -p -u -p -r1.29 comment.views.inc
--- modules/comment.views.inc	31 Jan 2009 19:26:04 -0000	1.29
+++ modules/comment.views.inc	5 Feb 2009 07:35:07 -0000
@@ -363,13 +363,19 @@ function comment_views_data_alter(&$data
 
   $data['node']['uid_touch'] = array(
     'title' => t('User posted or commented'),
-    'help' => t('Display comments only if a user posted the node or commented on the node.'),
+    'help' => t('Display nodes only if a user posted the node or commented on the node.'),
     'argument' => array(
       'field' => 'uid',
       'name table' => 'users',
       'name field' => 'name',
       'handler' => 'views_handler_argument_comment_user_uid',
     ),
+    'filter' => array(
+      'field' => 'uid',
+      'name table' => 'users',
+      'name field' => 'name',
+      'handler' => 'views_handler_filter_comment_user_uid'
+    ),
   );
 
 }
@@ -468,6 +474,9 @@ function comment_views_handlers() {
       'views_handler_filter_node_comment' => array(
         'parent' => 'views_handler_filter_in_operator',
       ),
+      'views_handler_filter_comment_user_uid' => array(
+        'parent' => 'views_handler_filter_user_name',
+      ),
 
       // argument handlers
       'views_handler_argument_comment_user_uid' => array(
Index: modules/comment/views_handler_filter_comment_user_uid.inc
===================================================================
RCS file: modules/comment/views_handler_filter_comment_user_uid.inc
diff -N modules/comment/views_handler_filter_comment_user_uid.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/comment/views_handler_filter_comment_user_uid.inc	5 Feb 2009 07:35:07 -0000
@@ -0,0 +1,23 @@
+<?php
+// $Id$
+
+/**
+ * Filter handler to accept a user id to check for nodes that user posted or
+ * commented on.
+ */
+class views_handler_filter_comment_user_uid extends views_handler_filter_user_name {
+  function query() {
+    $this->ensure_my_table();
+    $replace = array_fill(0, sizeof($this->value), '%d');
+    $condition = $this->operator . ' (' . implode(", ", $replace) . ')';
+
+    // We include the WHERE condition twice in the query, so we need two
+    // copies of these argument values.
+    $args = array_values($this->value);
+    $args = array_merge($args, $args);
+
+    $this->query->add_where($this->options['group'], "$this->table_alias.uid " . $condition . " OR
+      (SELECT COUNT(*) FROM {comments} c WHERE c.uid " . $condition . " AND c.nid = $this->table_alias.nid)",
+      $args);
+  }
+}
