function _social_group_get_join_methods in Open Social 10.0.x
Same name and namespace in other branches
- 8.9 modules/social_features/social_group/social_group.module \_social_group_get_join_methods()
- 8.6 modules/social_features/social_group/social_group.module \_social_group_get_join_methods()
- 8.7 modules/social_features/social_group/social_group.module \_social_group_get_join_methods()
- 8.8 modules/social_features/social_group/social_group.module \_social_group_get_join_methods()
- 10.3.x modules/social_features/social_group/social_group.module \_social_group_get_join_methods()
- 10.1.x modules/social_features/social_group/social_group.module \_social_group_get_join_methods()
- 10.2.x modules/social_features/social_group/social_group.module \_social_group_get_join_methods()
Get the join methods of a group.
Parameters
\Drupal\group\Entity\GroupInterface $group: the Group interface.
Return value
array Returns join methods of a group.
2 calls to _social_group_get_join_methods()
- social_group_preprocess_group in modules/
social_features/ social_group/ social_group.module - Prepares variables for profile templates.
- _social_group_render_group_settings_hero in modules/
social_features/ social_group/ social_group.module - Renders the group settings based on available fields for the hero.
File
- modules/
social_features/ social_group/ social_group.module, line 431 - The Social group module.
Code
function _social_group_get_join_methods(GroupInterface $group) {
$group_type = $group
->getGroupType();
$group_type_id = $group_type
->id();
$join_methods = [];
// Get join method based on group type. TODO get it programmatically.
switch ($group_type_id) {
case 'secret_group':
case 'closed_group':
$join_methods['added'] = social_group_allowed_join_method_description('added');
break;
case 'public_group':
case 'open_group':
$join_methods['direct'] = social_group_allowed_join_method_description('direct');
$join_methods['added'] = social_group_allowed_join_method_description('added');
break;
case 'flexible_group':
// Try to retrieve join methods from Group directly.
$allowed_options = $group
->get('field_group_allowed_join_method')
->getValue();
foreach ($allowed_options as $option) {
// Lets grab the value from the selected radio item.
if (!empty($option['value']) && is_string($option['value'])) {
$join_methods[$option['value']] = social_group_allowed_join_method_description($option['value']);
}
}
break;
}
return $join_methods;
}