--- daterange.module	2007-10-11 23:40:05.000000000 +0200
+++ daterange.module-fabio84	2007-12-24 11:51:58.000000000 +0100
@@ -328,6 +328,7 @@
         $value2 = _get_date_value($filter['value']['date1'], 23, 59, 59);
       }
       $field = $filter['field'];
+      $field2 = null;
       if (substr($field, 0, 15) == 'daterange_node_') {
         if (module_exists('content')) {
           $parts = explode('.', $field);
@@ -345,26 +346,30 @@
           );
           $query->add_table($parts[0], false, 1, $joininfo);
           $field = ' UNIX_TIMESTAMP(REPLACE('. $parts[0] .'.'. $parts[1] .'_value, \'T\', \' \'))';
+          $field2 = ' UNIX_TIMESTAMP(REPLACE('. $parts[0] .'.'. $parts[1] .'_value2, \'T\', \' \'))';
         }
       }
       else {
         $field = str_replace('daterange_', '', $field);
       }
-      _views_handler_filter_between_date($field, $value1, $filter['operator'], $value2, $query);
+      _views_handler_filter_between_date($field, $value1, $filter['operator'], $value2, $query, $field2);
     }
   }
 }
 
-function _views_handler_filter_between_date($field, $value1, $op, $value2, &$query) {
+function _views_handler_filter_between_date($field, $value1, $op, $value2, &$query, $field2 = null) {
+  if ($field2 === null){
+    $field2 = $field1;
+  }
   switch ($op) { 
     default:
-      $where = "$field >= $value1 && $field <= $value2";
+      $where = "$field2 >= $value1 && $field <= $value2";
       break;
     case 'outside':
-      $where = "($field < $value1 || $field > $value2)";
+      $where = "($field2 < $value1 || $field > $value2)";
       break;
     case 'before': 
-      $where = "$field < $value1";
+      $where = "$field2 < $value1";
       break;
     case 'after': 
       $where = "$field > $value1";
