You are here

function privatemsg_groups_load_recipients in Privatemsg 7.2

Loads users in a specific group.

1 string reference to 'privatemsg_groups_load_recipients'
privatemsg_groups_privatemsg_recipient_type_info in privatemsg_groups/privatemsg_groups.module
Implements hook_privatemsg_recipient_type_info().

File

privatemsg_groups/privatemsg_groups.module, line 140
Allows to send messages to all members of an organic group

Code

function privatemsg_groups_load_recipients($recipient, $limit, $offset) {
  $group_type = _privatemsg_groups_get_group_type($recipient->type);
  $gid = $recipient->recipient;
  $query = new EntityFieldQuery();
  $query
    ->entityCondition('entity_type', 'og_membership')
    ->propertyCondition('group_type', $group_type)
    ->propertyCondition('gid', $gid)
    ->propertyCondition('entity_type', 'user')
    ->propertyCondition('state', OG_STATE_ACTIVE)
    ->range($offset, $limit);
  if ($result = $query
    ->execute()) {
    $mids = array_keys($result['og_membership']);
    $memberships = og_membership_load_multiple($mids);
    $uids = array();
    foreach ($memberships as $membership) {
      $uids[] = $membership->etid;
    }
    return $uids;
  }
  return array();
}