You are here

function multifield_form_field_ui_field_settings_form_alter in Multifield 7.2

Same name and namespace in other branches
  1. 7 multifield.module \multifield_form_field_ui_field_settings_form_alter()

File

./multifield.module, line 574

Code

function multifield_form_field_ui_field_settings_form_alter(&$form, &$form_state) {
  $instance = $form_state['build_info']['args'][0];
  $field = field_info_field($instance['field_name']);
  _multifield_warn_no_subfields($field);
  if ($form['#entity_type'] == 'multifield' && multifield_type_has_data($form['#bundle'])) {
    $field = field_info_field($instance['field_name']);
    $has_data = field_has_data($field);
    if (!$has_data) {
      $additions = module_invoke($field['module'], 'field_settings_form', $field, $instance, TRUE);
      if (is_array($additions)) {
        $form['field']['settings'] = $additions;
        $form['field']['#description'] = '<p>' . t('These settings apply to the %field field everywhere it is used.', array(
          '%field' => $instance['label'],
        )) . ' ' . t('Because the multifield already has data, some settings can no longer be changed.') . '</p>';
      }
    }
  }
}