You are here

function _og_subgroups_prop_propagate_user_subscribe in Subgroups for Organic groups 6

User propagation callback to subscribe users along the tree

File

modules/og_subgroups_prop/og_subgroups_prop.module, line 122

Code

function _og_subgroups_prop_propagate_user_subscribe($group, $user, $args) {

  // Make sure user isn't already a member
  if (!isset($user->og_groups[$group->nid])) {

    // Make sure the group isn't invite-only or closed
    if ($group->og_selective != OG_INVITE_ONLY && $group->og_selective != OG_CLOSED) {

      // Determine if the membership should be active or not
      $is_active = $group->og_selective == OG_OPEN ? 1 : 0;

      // Save the user's subscription to the group
      og_save_subscription($group->nid, $user->uid, array(
        'og_subgroups' => TRUE,
        'is_active' => $is_active,
      ));
      return TRUE;
    }
  }
  return FALSE;
}