You are here

function oa_teams_get_team_members in Open Atrium Core 7.2

Get the members of the team.

Parameters

$team_id: The NID of the team.

Return value

An array of uids that are in the team.

2 calls to oa_teams_get_team_members()
oa_teams_add_team_member_render in modules/oa_teams/plugins/content_types/oa_teams_add_member.inc
Render callback for the content visibility panel.
oa_team_members_render in modules/oa_teams/plugins/content_types/oa_teams_members.inc
Main render function for oa_team_members.

File

modules/oa_teams/oa_teams.module, line 110

Code

function oa_teams_get_team_members($team_id) {
  $groups = og_get_entity_groups('node', node_load($team_id));
  $uid = OA_TEAM_USERS_FIELD . '_target_id';
  $query = db_select('field_data_' . OA_TEAM_USERS_FIELD, 'f')
    ->fields('f', array(
    $uid,
  ))
    ->condition('f.entity_type', 'node')
    ->condition('f.entity_id', $team_id)
    ->condition('f.deleted', 0);

  // Make sure team member is member of group.
  if (!empty($groups['node'])) {
    if (module_exists('og_subgroups')) {
      $groups = og_subgroups_parents_load_multiple(array(
        'node' => $groups['node'],
      ));
    }
    $query
      ->innerJoin('og_membership', 'og', "f." . $uid . " = og.etid AND og.entity_type = 'user' AND og.group_type = 'node'");
    $query
      ->condition('og.gid', $groups['node']);
  }
  return $query
    ->execute()
    ->fetchAllAssoc(OA_TEAM_USERS_FIELD . '_target_id');
}