Index: og.rules.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/og/includes/Attic/og.rules.inc,v
retrieving revision 1.4
diff -u -r1.4 og.rules.inc
--- og.rules.inc	2 Jan 2009 03:58:21 -0000	1.4
+++ og.rules.inc	22 May 2009 14:16:22 -0000
@@ -206,6 +206,17 @@
       'help' => t('Evaluates to TRUE if the content is a group.'),
       'module' => 'Organic groups',
     ),
+    'og_rules_condition_group_selective' => array(
+      'label' => t('Group membership'),
+      'arguments' => array(
+        'group' => array(
+          'type' => 'node',
+          'label' => t('Group'),
+        ),
+      ),
+      'help' => t('Specify which membership types evaluate to TRUE.'),
+      'module' => 'Organic groups',
+    ),
   );
 }
 
@@ -222,3 +233,26 @@
 function og_rules_condition_content_is_group($node, $settings) {
   return og_is_group_type($node->type);
 }
+
+/**
+ * Condition: Group membership's type configuration form.
+ */
+function og_rules_condition_group_selective_form($settings, &$form) {
+  $settings += array('og_selective' => '');
+
+  $form['settings']['og_selective'] = array(
+    '#type' => 'select',
+    '#title' => t('Memebership\'s type'),
+    '#options' => og_selective_map(),
+    '#default_value' => $settings['og_selective'],
+    '#description' => t('Specify membership\'s type.'),
+  );
+}
+
+/**
+ * Condition: Group membership's type.
+ */
+function og_rules_condition_group_selective($node, $settings) {
+  return isset($node->og_selective) && $node->og_selective == $settings['og_selective'];
+}
+
