You are here

public function UserContactImportSettings::formAttachUserContact in CRM Core 7

Attach reference fields to form.

1 call to UserContactImportSettings::formAttachUserContact()
UserContactImportSettings::configForm in modules/crm_core_data_import/plugins/settings/UserContactImportSettings.inc
Configuration form for settings plugin.

File

modules/crm_core_data_import/plugins/settings/UserContactImportSettings.inc, line 125

Class

UserContactImportSettings

Code

public function formAttachUserContact(&$form, &$form_state, $settings) {
  $triggering_element = !empty($form_state['triggering_element']) ? $form_state['triggering_element'] : FALSE;
  if ($triggering_element['#id'] == 'add-user-contact' && !empty($form_state['values']['user_contact']['user_type'])) {
    $form_state['values']['user_contact']['fields'][]['user_type'] = $form_state['values']['user_contact']['user_type'];
  }
  if (!empty($triggering_element['#parents'][3]) && $triggering_element['#parents'][3] == 'remove_field' && $triggering_element['#parents'][0] == 'user_contact') {
    $field_key = $triggering_element['#parents'][2];
    unset($form_state['values']['user_contact']['fields'][$field_key]);
  }
  if (!empty($form_state['values']['user_contact']['fields'])) {
    foreach ($form_state['values']['user_contact']['fields'] as $delta => $field) {
      list($entity_type, $bundle, $entity_delta) = explode(':', $field['user_type']);
      $this
        ->formAttachFieldUserContact($form, $form_state, $settings, $entity_type, $bundle, $delta, $entity_delta);
    }
  }
}