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']; +} +