You are here

function lti_tool_provider_memberships_get_subgroups in LTI Tool Provider 7

Get an array of nids of subgroups in the current context.

3 calls to lti_tool_provider_memberships_get_subgroups()
lti_tool_provider_memberships_alter_member in lti_tool_provider_memberships/lti_tool_provider_memberships.module
Alter membership for a member.
lti_tool_provider_memberships_drop_member in lti_tool_provider_memberships/lti_tool_provider_memberships.module
Drop membership, optionally delete content and account.
lti_tool_provider_memberships_get_altered_memberships in lti_tool_provider_memberships/lti_tool_provider_memberships.module
Extract the memberships with altered groups and roles from the memberships list.

File

lti_tool_provider_memberships/lti_tool_provider_memberships.module, line 1043
lti_tool_provider_memberships hook implementations and support functions.

Code

function lti_tool_provider_memberships_get_subgroups() {
  $selected_subgroup_bundle = variable_get('lti_tool_provider_memberships_subgroup_mapping_bundle');
  list($subgroup_entity, $subgroup_bundle) = explode(':', $selected_subgroup_bundle);
  $saved_settings = variable_get('lti_tool_provider_memberships_subgroup_mapping');
  $mapping_field = $saved_settings['LTI context group reference'];
  $query = new EntityFieldQuery();
  $entities = $query
    ->entityCondition('entity_type', $subgroup_entity)
    ->entityCondition('bundle', $subgroup_bundle)
    ->fieldCondition($mapping_field, 'og_group_ref_target_id', $_SESSION['lti_tool_provider_context_info']['course_entity_eid'], '=')
    ->execute();
  if (isset($entities['node'])) {
    return array_keys($entities['node']);
  }
  else {
    return array();
  }
}