function _crm_core_data_import_attach_elements_field in CRM Core 7
Attach mapping field to entity bundle fieldset.
Parameters
array $form: Main form.
array $form_state: Main form state.
string $key: Key of fieldset.
int $delta: Delta in the current fieldset.
array $source_fields: List of available fields from source.
array $fields: List of available fields from destination.
1 call to _crm_core_data_import_attach_elements_field()
- _crm_core_data_import_attach_fields_form in modules/
crm_core_data_import/ crm_core_data_import.admin.inc - Entity fields and bundles.
File
- modules/
crm_core_data_import/ crm_core_data_import.admin.inc, line 907 - Configuration pages for CRM Core Data Import.
Code
function _crm_core_data_import_attach_elements_field(&$form, &$form_state, $key, $delta, $source_fields, $fields) {
if (empty($source_fields)) {
$source_key = !empty($form_state['values']['mapping'][$key]['fields'][$delta]['source_field']) ? $form_state['values']['mapping'][$key]['fields'][$delta]['source_field'] : 0;
$source_fields = array(
$source_key => t('Unavailable'),
);
}
else {
$source_fields = array(
'default_value' => t('(provide value)'),
) + $source_fields;
}
$form['mapping'][$key]['fields'][$delta] = array(
'#type' => 'container',
'#attributes' => array(
'class' => array(
'field-fieldset-wrapper',
),
),
);
$form['mapping'][$key]['fields'][$delta]['source_field'] = array(
'#type' => 'select',
'#options' => $source_fields,
'#default_value' => !empty($form_state['values']['mapping'][$key]['fields'][$delta]['source_field']) ? $form_state['values']['mapping'][$key]['fields'][$delta]['source_field'] : FALSE,
);
$form['mapping'][$key]['fields'][$delta]['destination_field'] = array(
'#type' => 'select',
'#options' => $fields,
'#default_value' => !empty($form_state['values']['mapping'][$key]['fields'][$delta]['destination_field']) ? $form_state['values']['mapping'][$key]['fields'][$delta]['destination_field'] : FALSE,
);
$form['mapping'][$key]['fields'][$delta]['default_value'] = array(
'#type' => 'textfield',
'#default_value' => !empty($form_state['values']['mapping'][$key]['fields'][$delta]['default_value']) ? $form_state['values']['mapping'][$key]['fields'][$delta]['default_value'] : FALSE,
);
$form['mapping'][$key]['fields'][$delta]['remove_field'] = array(
'#type' => 'button',
'#default_value' => t('Remove'),
'#name' => 'remove-field-button-' . drupal_html_id($key . $delta),
'#ajax' => array(
'callback' => '_crm_core_data_import_entity_type_action_callback',
'method' => 'replace',
'wrapper' => 'mapping-fieldset-wrapper',
),
);
}