function social_group_flexible_group_can_view_flexible_groups in Open Social 10.3.x
Same name and namespace in other branches
- 8.9 modules/social_features/social_group/modules/social_group_flexible_group/social_group_flexible_group.module \social_group_flexible_group_can_view_flexible_groups()
- 8.6 modules/social_features/social_group/modules/social_group_flexible_group/social_group_flexible_group.module \social_group_flexible_group_can_view_flexible_groups()
- 8.7 modules/social_features/social_group/modules/social_group_flexible_group/social_group_flexible_group.module \social_group_flexible_group_can_view_flexible_groups()
- 8.8 modules/social_features/social_group/modules/social_group_flexible_group/social_group_flexible_group.module \social_group_flexible_group_can_view_flexible_groups()
- 10.0.x modules/social_features/social_group/modules/social_group_flexible_group/social_group_flexible_group.module \social_group_flexible_group_can_view_flexible_groups()
- 10.1.x modules/social_features/social_group/modules/social_group_flexible_group/social_group_flexible_group.module \social_group_flexible_group_can_view_flexible_groups()
- 10.2.x modules/social_features/social_group/modules/social_group_flexible_group/social_group_flexible_group.module \social_group_flexible_group_can_view_flexible_groups()
Determine whether a user can see flexible groups as outsider.
Parameters
\Drupal\group\Entity\Group $group: The group we are checking.
\Drupal\Core\Session\AccountInterface $account: The user to check for.
Return value
bool Whether the user is allowed to view this flexible groups.
File
- modules/
social_features/ social_group/ modules/ social_group_flexible_group/ social_group_flexible_group.module, line 624 - The Social Group Flexible Group module.
Code
function social_group_flexible_group_can_view_flexible_groups(Group $group, AccountInterface $account) : bool {
// Users who can manage all can manage everything.
if ($account
->hasPermission('manage all groups')) {
return TRUE;
}
// If User is a member it can see it.
if ($group
->getMember($account) !== FALSE) {
return TRUE;
}
// Outsiders can only see groups that have
// public / community enabled as visibility.
if ($account
->isAuthenticated() && !social_group_flexible_group_community_enabled($group) && !social_group_flexible_group_public_enabled($group)) {
return FALSE;
}
return TRUE;
}