You are here

function oa_core_get_group_users_for_space in Open Atrium Core 7.2

Return the users that are the intersection of Group and Space membership.

Parameters

int $space_id: The Space ID of the Open Atrium site

$group_id: The Group ID

Return value

An array of Users keyed by uid

File

includes/oa_core.util.inc, line 1118
Code for Utility functions for OpenAtrium spaces

Code

function oa_core_get_group_users_for_space($space_id, $group_id) {
  $query = db_select('users', 'u');
  $query
    ->innerJoin('og_membership', 'og1', 'u.uid = og1.etid');
  $query
    ->innerJoin('og_membership', 'og2', 'u.uid = og2.etid');
  $query
    ->fields('u', array(
    'uid',
  ))
    ->condition('og1.entity_type', 'user')
    ->condition('og1.gid', $space_id)
    ->condition('og1.group_type', 'node')
    ->condition('og2.entity_type', 'user')
    ->condition('og2.gid', $group_id)
    ->condition('og1.group_type', 'node');
  $results = $query
    ->execute()
    ->fetchAllAssoc('uid');
  return user_load_multiple(array_keys($results));
}