diff -ruN viewsphpfilter-orig/views_handler_filter_webform_sid_php.inc viewsphpfilter/views_handler_filter_webform_sid_php.inc
--- viewsphpfilter-orig/views_handler_filter_webform_sid_php.inc	1969-12-31 16:00:00.000000000 -0800
+++ viewsphpfilter/views_handler_filter_webform_sid_php.inc	2010-12-14 17:04:45.000000000 -0800
@@ -0,0 +1,83 @@
+<?php
+//$Id: views_handler_filter_webform_sid_php.inc,v 1.1.2.2 2010/12/14 22:04:12 elizzle Exp $
+
+class views_handler_filter_webform_sid_php extends views_handler_filter {
+
+  function admin_summary() {return '';}
+
+  function can_expose() {return FALSE;}
+
+  function operator_options() {
+    return array(
+      'OR' => t('OR'),
+      'NOR' => t('NOR'),
+    );
+  }
+  
+  function option_definition() { 
+    $options = parent::option_definition();
+    $options['operator']['default'] = 'OR';
+    $options['value']['default'] = '';
+    $options['handler']['default'] = 'php';
+    return ($options);
+  }
+
+  function value_form(&$form, &$form_state) {
+    $form['value'] = array(
+      '#title' => t('PHP (or SIDs)'),
+      '#type' => 'textarea',
+      '#default_value' => $this->value,
+    );
+  }
+
+  function options_form(&$form, &$form_state) {
+    parent::options_form($form, $form_state);
+    $form['handler'] = array(
+      '#type' => 'radios',
+      '#title' => t('Handler'),
+      '#options' => array('php' => t('PHP code'), 'nid' => t('Submission ID list')),
+      '#default_value' => $this->options['handler'],
+    );
+  }
+
+  function query() {
+    //to do: validation should be factored out
+    $rawcode = $this->value;
+    //error_log('php: ' . print_r($rawcode,TRUE));
+    if ($this->options['handler'] == 'php') {
+      $result = eval ($rawcode);
+      //error_log('eval: ' . print_r($result,TRUE));
+      if ($result === false) {
+        watchdog('viewsphpfilter', "Parse error in PHP: $this->value; filter ignored", array(), WATCHDOG_ERROR);
+        return;
+      }
+    } else $result = $rawcode;
+    if ($result == NULL) {
+      watchdog('viewsphpfilter', "PHP returned null; filter ignored", array(), WATCHDOG_NOTICE);
+      return;
+    }
+    if (!is_array($result)) {
+      $result = explode(',',$result);
+    }
+    foreach ($result as $i => $val) $result[$i] = trim($val, " \t\n\r\0\x0B,");
+    //error_log('result: ' . print_r($result, TRUE));
+    $allints = true;
+    foreach ($result as $retval) {
+      if ( ((string)((int)$retval)) != $retval ) {
+        $allints = false;
+      }
+    }
+    if ($allints) {
+      $this->ensure_my_table();
+      if ($this->operator == 'OR') {
+        $this->query->add_where($this->options['group'], "webform_submissions.sid IN (%s)", implode(",", $result));
+      }
+      else if ($this->operator == 'NOR' and !empty($result)) {
+        $this->query->add_where($this->options['group'], "webform_submissions.sid NOT IN (%s)", implode(",", $result));
+      }
+    }
+    else {
+        watchdog('viewsphpfilter', "Invalid return value in PHP: " . implode(",",$result) . "; filter ignored", array(), WATCHDOG_ERROR);
+    }
+  }
+}
diff -ruN viewsphpfilter-orig/viewsphpfilter.views.inc viewsphpfilter/viewsphpfilter.views.inc
--- viewsphpfilter-orig/viewsphpfilter.views.inc	2009-12-07 10:39:01.000000000 -0800
+++ viewsphpfilter/viewsphpfilter.views.inc	2010-12-14 16:42:07.000000000 -0800
@@ -6,6 +6,33 @@
  *
  */
 function viewsphpfilter_views_data_alter(&$data) {
+
+
+    $data['webform_submissions']['sid_php'] = array (
+        'real field' => 'sid',
+        'title' => t('Webform SID PHP handler'),
+        'title short' => t('PHP filter'),
+      //'operator' => 'views_handler_operator_or',
+      //'cacheable' => 'no',
+        'help' => t('This filter allows sids to be filtered by Submission ID.  PHP code should return an array with submission IDs.  ID lists should be separated by commas.'),
+        'filter' => array(
+            'field' => 'sid',
+            'name table' => 'webform_submissions',
+            'handler' => 'views_handler_filter_webform_sid_php',
+        ),
+        /* 'value' => array(
+            '#type' => 'textarea',
+            '#process' => array('views_filter_sid_process_form' => array()),
+        ),
+        'option' => array(
+            '#type' => 'select',
+            '#options' => array(
+                'php' => 'PHP code',
+                'id' => 'ID list'
+            ),
+    ),*/
+    );
+
     $data['node']['nid_php'] = array (
 	'real field' => 'nid',
 	'title' => t('Node ID PHP handler'),
@@ -38,6 +65,10 @@
             'views_handler_filter_node_nid_php' => array(
                 'parent' => 'views_handler_filter',
             ),
+            'views_handler_filter_webform_sid_php' => array(
+                'parent' => 'views_handler_filter',
+            ),
+
         ),
     );
 }
