function og_rules_action_info in Organic groups 7
Same name and namespace in other branches
- 6.2 includes/og.rules.inc \og_rules_action_info()
- 6 includes/og.rules.inc \og_rules_action_info()
- 7.2 og.rules.inc \og_rules_action_info()
Implements hook_rules_action_info().
File
- ./
og.rules.inc, line 76 - Rules integration for the Organic groups module.
Code
function og_rules_action_info() {
$items = array();
$items['og_get_members'] = array(
'label' => t('Get group members from group audience'),
'group' => t('Organic groups'),
'parameter' => array(
'group_content' => array(
'type' => 'entity',
'label' => t('Group content'),
'description' => t('The group content determining the group audience.'),
),
),
'provides' => array(
'group_members' => array(
'type' => 'list<user>',
'label' => t('List of group members'),
),
),
'base' => 'og_rules_get_members',
'access callback' => 'og_rules_integration_access',
);
$items['og_get_managers'] = array(
'label' => t('Get group managers from group audience'),
'group' => t('Organic groups'),
'parameter' => array(
'group_content' => array(
'type' => 'entity',
'label' => t('Group content'),
'description' => t('The group content determining the group audience.'),
),
),
'provides' => array(
'group_managers' => array(
'type' => 'list<user>',
'label' => t('List of group managers'),
),
),
'base' => 'og_rules_get_managers',
'access callback' => 'og_rules_integration_access',
);
$items['og_get_group_content'] = array(
'label' => t('Get group content from a group'),
'group' => t('Organic groups'),
'parameter' => array(
'group' => array(
'type' => 'group',
'label' => t('Group'),
'description' => t('The group for which to fetch content.'),
),
'entity_type' => array(
'type' => 'token',
'label' => t('Entity type'),
'description' => t('The entity type of the content which is to be fetched.'),
'options list' => 'og_get_fieldable_entity_list',
),
),
'provides' => array(
'group_content' => array(
'type' => 'list<entity>',
'label' => t('Group content'),
),
),
'base' => 'og_rules_get_group_content',
'access callback' => 'og_rules_integration_access',
);
$items['og_group_content_add'] = array(
'label' => t('Add entity to group'),
'group' => t('Organic groups'),
'parameter' => array(
'entity' => array(
// Do not use type 'entity' but restrict the type to group content type.
'type' => array_keys(og_get_all_group_content_entity()),
'label' => t('Entity'),
'description' => t('The group content which is to be added to a group.'),
'wrapped' => TRUE,
'save' => TRUE,
),
'group' => array(
'type' => 'group',
'label' => t('Group'),
),
),
'base' => 'og_rules_add_entity_to_group',
'access callback' => 'og_rules_integration_access',
);
$items['og_group_content_remove'] = array(
'label' => t('Remove entity from group'),
'group' => t('Organic groups'),
'parameter' => array(
'entity' => array(
// Do not use type 'entity' but restrict the type to group content type.
'type' => array_keys(og_get_all_group_content_entity()),
'label' => t('Entity'),
'description' => t('The entity which is to be removed from a group.'),
'wrapped' => TRUE,
'save' => TRUE,
),
'group' => array(
'type' => 'group',
'label' => t('Group'),
),
),
'base' => 'og_rules_remove_entity_from_group',
'access callback' => 'og_rules_integration_access',
);
// For UX also provide separate actions for user subcriptions although it is
// technically the same as adding entities to groups.
$items['og_subcribe_user'] = array(
'label' => t('Subscribe user to group'),
'group' => t('Organic groups'),
'parameter' => array(
'user' => array(
'type' => 'user',
'label' => t('User'),
'description' => t('The user who will be subscribed.'),
'wrapped' => TRUE,
'save' => TRUE,
),
'group' => array(
'type' => 'group',
'label' => t('Group'),
),
),
'base' => 'og_rules_add_entity_to_group',
'access callback' => 'og_rules_integration_access',
);
$items['og_unsubscribe_user'] = array(
'label' => t('Unsubscribe user from group'),
'group' => t('Organic groups'),
'parameter' => array(
'user' => array(
'type' => 'user',
'label' => t('User'),
'description' => t('The user who will be unsubscribed.'),
'wrapped' => TRUE,
'save' => TRUE,
),
'group' => array(
'type' => 'group',
'label' => t('Group'),
),
),
'base' => 'og_rules_remove_entity_from_group',
'access callback' => 'og_rules_integration_access',
);
return $items;
}