You are here

function lti_tool_provider_user_attributes_validate in LTI Tool Provider 7

Validation for the user attributes form.

Parameters

array $form: The form.

array $form_state: The form state.

File

./lti_tool_provider.admin.inc, line 75
Admin forms for LTI Tool Provider module.

Code

function lti_tool_provider_user_attributes_validate($form, &$form_state) {
  $check = TRUE;
  $lis_list = lti_tool_provider_user_mapping_lis_details();
  $field_options = _lti_tool_provider_retrieve_user_field_types('TEXT');
  $counters = array();
  foreach ($field_options as $field => $desc) {
    $counters[$field] = 0;
  }
  foreach ($lis_list as $key => $variable) {
    $counters[$form_state['values']['mapping'][$key]['attribute']]++;
  }
  foreach ($field_options as $field => $desc) {
    if ($field != 'none' && $counters[$field] > 1) {
      $check = FALSE;
      break;
    }
  }
  if (!$check) {
    form_set_error('mapping', t('You may not map multiple values to the same attribute.'));
  }
}