function og_rules_action_info in Organic groups 7.2
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 og.rules.inc \og_rules_action_info()
Implements hook_rules_action_info().
File
- ./
og.rules.inc, line 73 - 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' => array_keys(og_get_all_group_entity()),
'label' => t('Group'),
'description' => t('The group for which to fetch content.'),
'wrapped' => TRUE,
),
'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,
),
'group' => array(
'type' => array_keys(og_get_all_group_entity()),
'label' => t('Group'),
'wrapped' => TRUE,
),
),
'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,
),
'group' => array(
'type' => array_keys(og_get_all_group_entity()),
'label' => t('Group'),
'wrapped' => TRUE,
),
),
'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,
),
'group' => array(
'type' => array_keys(og_get_all_group_entity()),
'label' => t('Group'),
'wrapped' => TRUE,
),
),
'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,
),
'group' => array(
'type' => array_keys(og_get_all_group_entity()),
'label' => t('Group'),
'wrapped' => TRUE,
),
),
'base' => 'og_rules_remove_entity_from_group',
'access callback' => 'og_rules_integration_access',
);
$items['og_grant_og_role'] = array(
'label' => t('Grant OG role'),
'group' => t('Organic groups'),
'parameter' => array(
'account' => array(
'type' => 'user',
'label' => t('User'),
'description' => t('The user who will be granted this role.'),
'wrapped' => TRUE,
),
'group' => array(
'type' => array_keys(og_get_all_group_entity()),
'label' => t('Group'),
'wrapped' => TRUE,
),
'roles' => array(
'type' => 'list<text>',
'label' => t('Group roles'),
'options list' => 'og_rules_group_roles_options_list',
'restriction' => 'input',
),
),
'base' => 'og_rules_grant_og_role',
'access callback' => 'og_rules_integration_access',
);
$items['og_revoke_og_role'] = array(
'label' => t('Revoke OG role'),
'group' => t('Organic groups'),
'parameter' => array(
'account' => array(
'type' => 'user',
'label' => t('User'),
'description' => t('The user who will have the role revoked.'),
'wrapped' => TRUE,
),
'group' => array(
'type' => array_keys(og_get_all_group_entity()),
'label' => t('Group'),
'wrapped' => TRUE,
),
'roles' => array(
'type' => 'list<integer>',
'label' => t('Group roles'),
'options list' => 'og_rules_group_roles_options_list',
'restriction' => 'input',
),
),
'base' => 'og_rules_revoke_og_role',
'access callback' => 'og_rules_integration_access',
);
return $items;
}