You are here

function link_image_content_display_form in Link Image Formatter 6

Alter content display form to include extra data for link image type formatter.

1 call to link_image_content_display_form()
link_image_form_alter in ./link_image.module
Implementation of hook_form_alter().

File

./link_image.module, line 191

Code

function link_image_content_display_form(&$form, &$form_state) {
  $fields = content_fields();
  $link_fields = array();
  foreach ($fields as $field) {
    if ($field['type'] == 'link') {
      $link_fields[$field['field_name']] = $field;
    }
  }
  foreach ($form as $field_name => $element) {
    if (substr($field_name, 0, 6) == 'field_') {
      if (array_key_exists($field_name, $link_fields)) {
        $field = $link_fields[$field_name];
        foreach ($element as $context => $value) {
          if (!in_array($context, array(
            'human_name',
            'weight',
            'parent',
            'label',
          ))) {
            $base_form = $form[$field_name][$context]['format'];
            $formatter = $base_form['#default_value'];
            if (in_array($formatter, array(
              'image',
              'image_linked',
              'image_imagelink',
            ))) {
              $options['type_name'] = $form['#type_name'];
              $options['context'] = $context;
              $form[$field_name][$context]['format'] = array();
              $form[$field_name][$context]['format']['base'] = $base_form;
              $form[$field_name][$context]['format']['extra'] = link_image_formatter_settings($form_state, $field, $options);
              $form[$field_name][$context]['format']['#element_validate'] = array(
                'link_image_formatter_settings_validate',
              );
            }
          }
        }
      }
    }
  }
}