You are here

function lti_tool_provider_outcomes_resource_confirm_change_form in LTI Tool Provider 7

Form for confirming changes to resource datatypes.

Parameters

array $form: Form array.

array $form_state: Form state array.

1 string reference to 'lti_tool_provider_outcomes_resource_confirm_change_form'
lti_tool_provider_outcomes_menu in lti_tool_provider_outcomes/lti_tool_provider_outcomes.module
Implements hook_menu().

File

lti_tool_provider_outcomes/lti_tool_provider_outcomes.admin.inc, line 523
Admin forms and menu page callbacks for LTI Tool Provider module.

Code

function lti_tool_provider_outcomes_resource_confirm_change_form($form, &$form_state) {
  $ids = $_GET['ids'];
  $datatype_selection = $_GET['datatypes'];
  $base_numbers = $_GET['base_numbers'];
  $message = 'This action cannot be undone. <br/>';
  $ids_array = explode(',', $ids);
  $datatype_selected_array = explode(',', $datatype_selection);
  $base_numbers_array = explode(',', $base_numbers);
  $counter = 0;
  $affected_resource = array();
  foreach ($ids_array as $id) {
    $resource = lti_tool_provider_outcomes_resource_load($id);
    $affected_outcomes = lti_tool_provider_outcomes_get_outcomes_for_resource($resource);
    $datatype_arr = lti_tool_provider_outcomes_datatype_array($resource->lti_tool_provider_outcomes_resource_resultvalue_sourcedids);
    $selected_datatype = $datatype_arr[$datatype_selected_array[$counter]];
    $base_no = $base_numbers_array[$counter];
    $counter++;
    $str = 'Changing resource <b>' . $resource->lti_tool_provider_outcomes_resource_resource_link_title . '</b> datatype to <b>' . $selected_datatype . '</b> will affect <b>' . (isset($affected_outcomes) ? count($affected_outcomes) : 0) . '</b> outcome(s)!</br><br/>';
    $message .= $str;
    $form['row_' . $counter][$resource->lti_tool_provider_outcomes_resource_id . '_selected_datatype'] = array(
      '#type' => 'value',
      '#value' => $selected_datatype,
    );
    $form['row_' . $counter][$resource->lti_tool_provider_outcomes_resource_id . '_affected_outcomes'] = array(
      '#type' => 'value',
      '#value' => $affected_outcomes,
    );
    $form['row_' . $counter][$resource->lti_tool_provider_outcomes_resource_id . '_base_value'] = array(
      '#type' => 'value',
      '#value' => strcasecmp($base_no, 'EMPTY') == 0 ? NULL : $base_no,
    );
    $affected_resource[] = $resource;
  }
  $form['affected_resource'] = array(
    '#type' => 'value',
    '#value' => $affected_resource,
  );
  $form['return_url'] = array(
    '#type' => 'value',
    '#value' => isset($_GET['return_url']) ? $_GET['return_url'] : '',
  );
  return confirm_form($form, t('Are you sure you want to change the resource record(s)?'), $_SERVER['HTTP_REFERER'], t($message), t('Change'), t('Cancel'));
}