You are here

function lti_tool_provider_memberships_batch_process_dropped_memberships in LTI Tool Provider 7

Batch Operation Callback to process dropped memberships.

Parameters

array $delete_content:

array $context:

1 string reference to 'lti_tool_provider_memberships_batch_process_dropped_memberships'
lti_tool_provider_memberships_form_submit in lti_tool_provider_memberships/lti_tool_provider_memberships.module
Membership admin form submit handler.

File

lti_tool_provider_memberships/lti_tool_provider_memberships.batch.inc, line 126
batch related functions for LTI Tool Provider Memberships module.

Code

function lti_tool_provider_memberships_batch_process_dropped_memberships($delete_content, &$context) {
  $current = isset($context['sandbox']['dropped_members_chunk_current']) ? $context['sandbox']['dropped_members_chunk_current'] : 0;

  // Drop members chunk by chunk.
  if ($context['results']['dropped_members_chunk_max'] == 0 || $current >= $context['results']['dropped_members_chunk_max']) {
    $context['finished'] = 1;
    $context['message'] = t('Process dropped memberships.');
  }
  else {
    foreach ($context['results']['dropped_members_chunked'][$current] as $member) {
      lti_tool_provider_memberships_drop_member($member->lti_tool_provider_memberships_id, $delete_content);
    }
    $context['sandbox']['dropped_members_chunk_current'] = ++$current;
    $context['finished'] = $context['sandbox']['dropped_members_chunk_current'] / $context['results']['dropped_members_chunk_max'];
    $context['message'] = t('Process dropped memberships: @start of @max.', array(
      '@start' => $context['sandbox']['dropped_members_chunk_current'],
      '@max' => $context['results']['dropped_members_chunk_max'],
    ));
  }
}