You are here

function lti_tool_provider_memberships_get_new_memberships in LTI Tool Provider 7

Extract the new memberships from the memberships list.

Parameters

array $member_data: The current saved memberships data.

Return value

array The new (added) memberships.

1 call to lti_tool_provider_memberships_get_new_memberships()
lti_tool_provider_memberships_batch_get_new_memberships in lti_tool_provider_memberships/lti_tool_provider_memberships.batch.inc
Batch Operation Callback to get new memberships.

File

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

Code

function lti_tool_provider_memberships_get_new_memberships($member_data) {
  $new_members = array();
  if (!empty($member_data)) {
    for ($i = 0; $i < count($member_data); $i++) {
      $query = new EntityFieldQuery();
      $result = $query
        ->entityCondition('entity_type', 'lti_tool_provider_memberships')
        ->propertyCondition('lti_tool_provider_memberships_context_id', $_SESSION['lti_tool_provider_context_info']['context_id'], '=')
        ->propertyCondition('lti_tool_provider_memberships_user_id', $member_data[$i]['user_id'])
        ->propertyCondition('lti_tool_provider_memberships_status', 'Active')
        ->execute();
      if (empty($result)) {
        $new_members[$i] = $member_data[$i];
        if (variable_get('lti_tool_provider_memberships_subgroups') && !isset($member_data[$i]['groups'])) {
          $new_members[$i]['groups'] = array();
        }
      }
    }
  }
  if (!empty($new_members)) {
    foreach ($new_members as $key => $row) {
      $user_id[$key] = $row['user_id'];
    }
    array_multisort($user_id, SORT_ASC, $new_members);
  }
  return $new_members;
}