function og_access_og_fields_info in Organic groups 7
Same name and namespace in other branches
- 7.2 og_access/og_access.module \og_access_og_fields_info()
Implement hook_og_fields_info().
File
- og_access/
og_access.module, line 168 - Enable access control for private and public groups and group content.
Code
function og_access_og_fields_info() {
$allowed_values = array(
0 => 'Public - accessible to all site users',
1 => 'Private - accessible only to group members',
);
$items[OG_ACCESS_FIELD] = array(
'type' => array(
'group',
),
'description' => t('Add Group access field to group types.'),
// Private access can be done only on node entity.
'entity' => array(
'node',
),
'field' => array(
'field_name' => OG_ACCESS_FIELD,
'no_ui' => TRUE,
'type' => 'list_boolean',
'cardinality' => 1,
'settings' => array(
'allowed_values' => $allowed_values,
'allowed_values_function' => '',
),
),
'instance' => array(
'label' => t('Group visibility'),
'required' => TRUE,
// Default to public.
'default_value' => array(
0 => array(
'value' => 0,
),
),
'widget_type' => 'options_select',
'view modes' => array(
'full' => array(
'label' => 'above',
'type' => 'options_onoff',
),
'teaser' => array(
'label' => 'above',
'type' => 'options_onoff',
),
),
),
);
$allowed_values = array(
0 => 'Use group defaults',
1 => 'Public - accessible to all site users',
2 => 'Private - accessible only to group members',
);
$items[OG_CONTENT_ACCESS_FIELD] = array(
'type' => array(
'group content',
),
'description' => t('Add Group access field to group-content types, that may override the group settings.'),
// Private access can be done only on node entity.
'entity' => array(
'node',
),
'field' => array(
'field_name' => OG_CONTENT_ACCESS_FIELD,
'no_ui' => TRUE,
'type' => 'list_integer',
'cardinality' => 1,
'settings' => array(
'allowed_values' => $allowed_values,
'allowed_values_function' => '',
),
),
'instance' => array(
'label' => t('Group content visibility'),
'required' => TRUE,
// Make the group type default.
'default_value' => array(
0 => array(
'value' => 0,
),
),
'widget_type' => 'options_select',
'view modes' => array(
'full' => array(
'label' => 'above',
'type' => 'list_default',
),
'teaser' => array(
'label' => 'above',
'type' => 'list_default',
),
),
),
);
return $items;
}