Index: domain_views.views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/domain/domain_views/domain_views.views.inc,v
retrieving revision 1.5
diff -u -r1.5 domain_views.views.inc
--- domain_views.views.inc	12 Oct 2008 17:01:09 -0000	1.5
+++ domain_views.views.inc	30 Oct 2008 01:05:54 -0000
@@ -40,7 +40,7 @@
     ),
     // Information for accepting a domain_id as a filter
     'filter' => array(
-      'handler' => 'views_handler_filter_numeric',
+      'handler' => 'domain_views_handler_filter_domain_domain_id',
     ),
     // Information for sorting on a domain_id.
     'sort' => array(
@@ -108,7 +108,7 @@
     'sort' => array(
       'handler' => 'views_handler_sort',
     ),
-  );  
+  );
 
   // Define the {domain_access} table.
   $data['domain_access']['table']['group'] = t('Domain');
@@ -150,7 +150,7 @@
     ),
     // Information for accepting a domain_id as a filter
     'filter' => array(
-      'handler' => 'views_handler_filter_numeric',
+      'handler' => 'domain_views_handler_filter_domain_access_gid',
     ),
     // Information for sorting on a domain_id.
     'sort' => array(
@@ -173,21 +173,52 @@
       'handler' => 'views_handler_sort',
     ),
   );
+   // Define available on current domain field
+  $data['domain_access']['current_all'] = array(
+    'title' => t('Available on current domain'),
+    'help' => t('Filters out nodes not available on current domain (published to current domain or all affiliates'),
+    'field' => array(
+      'handler' => 'views_handler_field_boolean',
+      'click sortable' => TRUE,
+    ),
+    'filter' => array(
+      'field' => 'gid',
+      'handler' => 'domain_views_handler_filter_domain_access_current_all',
+      'label' => t('Available on current domain'),
+    ),
+  );
   return $data;
 }
 
 /**
  * Implementation of hook_views_handlers() to register all of the basic handlers
  * views uses.
-
+ */
 function domain_views_views_handlers() {
-  $handlers = array();
-  $handlers['handlers'] = array(
-    // field handlers
-    'views_handler_argument_domain_id' => array(
-      'parent' => 'views_handler_argument_numeric',
+  $handlers = array(
+    'info' => array(
+    'path' => drupal_get_path('module', 'domain_views') .'/includes',
+    ),
+    'handlers' => array(
+    // filter handlers
+    'domain_views_handler_filter_domain_access_current_all' => array(
+        'parent' => 'views_handler_filter_boolean_operator',
+    ),
+    'domain_views_handler_filter_domain_access_gid' => array(
+      'parent' => 'views_handler_filter_in_operator',
+    ),
+    'domain_views_handler_filter_domain_domain_id' => array(
+      'parent' => 'views_handler_filter_in_operator',
     ),
+  ),
   );
-  return $handklers;
+  return $handlers;
 }
+
+/**
+ * Implementation of hook_views_query_substitutions ()
  */
+function domain_views_query_substitutions($view) {
+  return array('***CURRENT_DOMAIN***' => $GLOBALS['_domain']['domain_id']);
+}
+
--- domain_views_handler_filter_domain_access_current_all.inc
+++ domain_views_handler_filter_domain_access_current_all.inc
@@ -0,0 +1,0 @@

--- domain_views_handler_filter_domain_access_gid.inc
+++ domain_views_handler_filter_domain_access_gid.inc
@@ -0,0 +1,0 @@

--- domain_views_handler_filter_domain_domain_id.inc
+++ domain_views_handler_filter_domain_domain_id.inc
@@ -0,0 +1,0 @@


