You are here

function og_subgroups_prop_can_unsubscribe in Subgroups for Organic groups 6

Determine whether or not a user can unsubscribe from a given group

Parameters

$group: The group node object

$user: The user object. If omitted, the current user will be used.

Return value

TRUE if the user can unsubscribe from the group, otherwise FALSE

2 calls to og_subgroups_prop_can_unsubscribe()
og_subgroups_prop_confirm_unsubscribe in modules/og_subgroups_prop/includes/pages.inc
Menu callback function. Override OG's unsubscribe confirm form
_og_subgroups_prop_propagate_user_unsubscribe in modules/og_subgroups_prop/og_subgroups_prop.module
User propagation callback to unsubscribe users along the tree

File

modules/og_subgroups_prop/og_subgroups_prop.module, line 167

Code

function og_subgroups_prop_can_unsubscribe($group, $user = NULL) {

  // Load the current user, if none provided
  if (!$user) {
    global $user;
  }

  // Group owners (not managers) cannot leave groups
  if ($group->uid == $user->uid) {
    return FALSE;
  }

  // If this group is closed, and the user isn't an admin, they can't leave
  if ($group->og_selective == OG_CLOSED && !og_is_group_admin($group, $user)) {
    return FALSE;
  }
  return TRUE;
}