You are here

function lti_tool_provider_memberships_form_submit in LTI Tool Provider 7

Membership admin form submit handler.

Parameters

array $form: The form array.

array $form_state: The form state array.

1 string reference to 'lti_tool_provider_memberships_form_submit'
lti_tool_provider_memberships_form in lti_tool_provider_memberships/lti_tool_provider_memberships.module
Memberships admin form.

File

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

Code

function lti_tool_provider_memberships_form_submit($form, &$form_state) {
  if ($form_state['clicked_button']['#parents']['0'] == 'fetch_xml_btn') {
    $batch_prepare_form = array(
      'title' => t('Preparing form.'),
      'operations' => array(
        array(
          'lti_tool_provider_memberships_batch_get_memberships',
          array(
            TRUE,
          ),
        ),
        array(
          'lti_tool_provider_memberships_batch_get_new_memberships',
          array(),
        ),
        array(
          'lti_tool_provider_memberships_batch_get_dropped_memberships',
          array(),
        ),
        array(
          'lti_tool_provider_memberships_batch_get_altered_memberships',
          array(),
        ),
      ),
      'finished' => 'lti_tool_provider_memberships_prepare_form_finished',
      'init_message' => t('Preparing Form.'),
      'error_message' => t('Encountered an error while preparing the form.'),
      'file' => drupal_get_path('module', 'lti_tool_provider_memberships') . '/lti_tool_provider_memberships.batch.inc',
    );
    batch_set($batch_prepare_form);
  }
  elseif ($form_state['clicked_button']['#parents']['0'] == 'fetch_xml_and_apply_btn') {
    $batch_apply = array(
      'title' => t('Preparing form.'),
      'operations' => array(
        array(
          'lti_tool_provider_memberships_batch_get_memberships',
          array(
            TRUE,
          ),
        ),
        array(
          'lti_tool_provider_memberships_batch_get_new_memberships',
          array(),
        ),
        array(
          'lti_tool_provider_memberships_batch_get_dropped_memberships',
          array(),
        ),
        array(
          'lti_tool_provider_memberships_batch_get_altered_memberships',
          array(),
        ),
        array(
          'lti_tool_provider_memberships_batch_process_added_memberships',
          array(),
        ),
        array(
          'lti_tool_provider_memberships_batch_process_dropped_memberships',
          array(
            TRUE,
          ),
        ),
        array(
          'lti_tool_provider_memberships_batch_process_altered_memberships',
          array(),
        ),
      ),
      'finished' => 'lti_tool_provider_memberships_apply_finished',
      'init_message' => t('Preparing Form.'),
      'error_message' => t('Encountered an error while preparing the form.'),
      'file' => drupal_get_path('module', 'lti_tool_provider_memberships') . '/lti_tool_provider_memberships.batch.inc',
    );
    batch_set($batch_apply);
  }
  elseif ($form_state['clicked_button']['#parents']['0'] == 'add') {
    $members_to_add = array();
    foreach ($form_state['complete form']['members']['new_members']['new_members_table']['#value'] as $member_id) {
      $members_to_add[] = $form_state['complete form']['members']['new_members']['new_members_table']['#options'][$member_id];

      //     lti_tool_provider_memberships_add_member($form_state['complete form']['members']['new_members']['new_members_table']['#options'][$member_id]);
    }
    $batch_add = array(
      'title' => t('Adding Users.'),
      'operations' => array(
        array(
          'lti_tool_provider_memberships_batch_init_new_memberships',
          array(
            $members_to_add,
          ),
        ),
        array(
          'lti_tool_provider_memberships_batch_process_added_memberships',
          array(),
        ),
      ),
      'finished' => 'lti_tool_provider_memberships_apply_finished',
      'init_message' => t('Adding users.'),
      'error_message' => t('Encountered an error while adding users.'),
      'file' => drupal_get_path('module', 'lti_tool_provider_memberships') . '/lti_tool_provider_memberships.batch.inc',
    );
    batch_set($batch_add);

    //    unset($_SESSION['lti_tool_provider_memberships_batch_has_run']);
  }
  elseif ($form_state['clicked_button']['#parents']['0'] == 'remove_dropped_members') {

    //    lti_tool_provider_memberships_drop_members($form_state['complete form']['members']['dropped_members']['dropped_members_table']['#value'], FALSE);
    //    unset($_SESSION['lti_tool_provider_memberships_batch_has_run']);
    $batch_drop = array(
      'title' => t('Dropping Users.'),
      'operations' => array(
        array(
          'lti_tool_provider_memberships_batch_init_dropped_memberships',
          array(
            $form_state['complete form']['members']['dropped_members']['dropped_members_table']['#value'],
          ),
        ),
        array(
          'lti_tool_provider_memberships_batch_process_dropped_memberships',
          array(
            FALSE,
          ),
        ),
      ),
      'finished' => 'lti_tool_provider_memberships_apply_finished',
      'init_message' => t('Dropping users.'),
      'error_message' => t('Encountered an error while dropping users.'),
      'file' => drupal_get_path('module', 'lti_tool_provider_memberships') . '/lti_tool_provider_memberships.batch.inc',
    );
    batch_set($batch_drop);
  }
  elseif ($form_state['clicked_button']['#parents']['0'] == 'remove_dropped_members_contents') {

    //    lti_tool_provider_memberships_drop_members($form_state['complete form']['members']['dropped_members']['dropped_members_table']['#value'], TRUE);
    //    unset($_SESSION['lti_tool_provider_memberships_batch_has_run']);
    $batch_drop = array(
      'title' => t('Dropping Users.'),
      'operations' => array(
        array(
          'lti_tool_provider_memberships_batch_init_dropped_memberships',
          array(
            $form_state['complete form']['members']['dropped_members']['dropped_members_table']['#value'],
          ),
        ),
        array(
          'lti_tool_provider_memberships_batch_process_dropped_memberships',
          array(
            TRUE,
          ),
        ),
      ),
      'finished' => 'lti_tool_provider_memberships_apply_finished',
      'init_message' => t('Dropping users.'),
      'error_message' => t('Encountered an error while dropping users.'),
      'file' => drupal_get_path('module', 'lti_tool_provider_memberships') . '/lti_tool_provider_memberships.batch.inc',
    );
    batch_set($batch_drop);
  }
  elseif ($form_state['clicked_button']['#parents']['0'] == 'update_altered_members') {
    $members_to_alter = array();
    foreach ($form_state['complete form']['members']['altered_members']['altered_members_table']['#value'] as $member_id) {

      //lti_tool_provider_memberships_alter_member($form_state['complete form']['members']['altered_members']['altered_members_table']['#options'][$member_id]);
      $members_to_alter[] = $form_state['complete form']['members']['altered_members']['altered_members_table']['#options'][$member_id];
    }
    $batch_alter = array(
      'title' => t('Altering Users.'),
      'operations' => array(
        array(
          'lti_tool_provider_memberships_batch_init_altered_memberships',
          array(
            $members_to_alter,
          ),
        ),
        array(
          'lti_tool_provider_memberships_batch_process_altered_memberships',
          array(),
        ),
      ),
      'finished' => 'lti_tool_provider_memberships_apply_finished',
      'init_message' => t('Altering users.'),
      'error_message' => t('Encountered an error while altering users.'),
      'file' => drupal_get_path('module', 'lti_tool_provider_memberships') . '/lti_tool_provider_memberships.batch.inc',
    );
    batch_set($batch_alter);

    //unset($_SESSION['lti_tool_provider_memberships_batch_has_run']);
  }
}