You are here

function visual_select_file_pre_render_filefield_sources_element in Visual select file 7

Add field instance settings for other parts of the machine to pick up.

1 string reference to 'visual_select_file_pre_render_filefield_sources_element'
visual_select_file_element_info_alter in ./visual_select_file.module
Implements hook_element_info_alter().

File

./visual_select_file.module, line 183

Code

function visual_select_file_pre_render_filefield_sources_element($element, $form_state) {
  if (!_visual_select_file_user_has_access()) {
    return $element;
  }
  if (isset($element['#field_name']) && ($instance = field_widget_instance($element, $form_state))) {
    $field = $element['#entity_type'] . '.' . $element['#bundle'] . '.' . $element['#field_name'];

    // Add class to hide reference textfield.
    $vsf_hide_textfield = !empty($instance['widget']['settings']['filefield_sources']['source_reference']['vsf_hide_textfield']);
    if ($vsf_hide_textfield) {
      $element['filefield_reference']['autocomplete']['#attributes']['class'][] = 'vsf-hide-reference';
      $element['filefield_reference']['select']['#attributes']['class'][] = 'vsf-hide-reference';
    }

    // Add field's meta data to field.
    $element['filefield_reference']['autocomplete']['#attributes']['data-vsf-field'] = $field;

    // Undo part of file.module's validation.
    $index = array_search('file_managed_file_validate', $element['#element_validate']);
    if ($index !== FALSE) {
      $element['#element_validate'][$index] = 'visual_select_file_managed_file_validate';
    }

    // Load necessary resources for this page/form.
    _visual_select_file_load_resources_filefield();
  }
  return $element;
}