You are here

function select2widget_form_field_ui_field_edit_form_alter in Select2 Field Widget 7.2

File

./select2widget.taxonomy.inc, line 282

Code

function select2widget_form_field_ui_field_edit_form_alter(&$form, &$form_state) {
  $field = $form['#field'];
  $instance = $form['#instance'];
  if (isset($instance['widget']['settings']['select2widgetajax']['allow_new']) && $instance['widget']['settings']['select2widgetajax']['allow_new'] == 2 && $instance['widget']['type'] == 'select2widgetajax') {

    // Initialize settings, if not set.
    if (!isset($field['settings']['allowed_values'][1])) {
      $field['settings']['allowed_values'][1] = array(
        'vocabulary' => $field['settings']['allowed_values'][0]['vocabulary'],
        'parent' => 0,
      );
    }
    $vocabularies = taxonomy_get_vocabularies();
    $options = array();
    foreach ($vocabularies as $vocabulary) {
      $options[$vocabulary->machine_name] = $vocabulary->name;
    }
    $form['field']['settings']['allowed_values'][1]['vocabulary'] = array(
      '#type' => 'select',
      '#title' => t('Vocabulary for new terms'),
      '#default_value' => isset($field['settings']['allowed_values'][1]['vocabulary']) ? $field['settings']['allowed_values'][1]['vocabulary'] : '',
      '#options' => $options,
      '#description' => t('New terms form autocompletes will be inserted in this vocabulary.'),
    );
    $form['field']['settings']['allowed_values'][1]['parent'] = array(
      '#type' => 'value',
      '#value' => $field['settings']['allowed_values'][1]['parent'],
    );
  }
  else {
    if (isset($field['settings']['allowed_values'][1])) {
      unset($form['field']['settings']['allowed_values'][1]);
    }
  }
}