You are here

function brightcove_field_field_formatter_settings_form in Brightcove Video Connect 7.5

Same name and namespace in other branches
  1. 7.2 brightcove_field/brightcove_field.module \brightcove_field_field_formatter_settings_form()
  2. 7.3 brightcove_field/brightcove_field.module \brightcove_field_field_formatter_settings_form()
  3. 7.4 brightcove_field/brightcove_field.module \brightcove_field_field_formatter_settings_form()

Impelements hook_field_formatter_settings_form().

_state

Parameters

$field:

$instance:

$view_mode:

$form:

Return value

array

File

brightcove_field/brightcove_field.module, line 577
Brightcove field module provides a Content Construction Kit module to developers, allowing them to browse videos in their Brightcove Studio and upload them.

Code

function brightcove_field_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];
  $element = array();
  if ($display['type'] == 'brightcove_default') {
    $element['width'] = array(
      '#title' => t('Width'),
      '#type' => 'textfield',
      '#default_value' => $settings['width'],
      '#required' => TRUE,
      '#element_validate' => array(
        'brightcove_field_formatter_width_validate',
      ),
      '#formatter_type' => $display['type'],
    );
    $element['height'] = array(
      '#title' => t('Height'),
      '#type' => 'textfield',
      '#default_value' => $settings['height'],
      '#required' => TRUE,
      '#element_validate' => array(
        'brightcove_field_formatter_height_validate',
      ),
      '#formatter_type' => $display['type'],
    );
  }
  if ($display['type'] == 'brightcove_image') {
    $image_styles = image_style_options(FALSE);
    $element['brightcove_image_style'] = array(
      '#title' => t('Image style'),
      '#type' => 'select',
      '#default_value' => $settings['brightcove_image_style'],
      '#empty_option' => t('None (original image)'),
      '#options' => $image_styles,
    );
    $link_types = array(
      'entity' => t('Entity'),
      'dialog' => t('Dialog'),
    );
    $element['brightcove_image_link'] = array(
      '#title' => t('Link image to'),
      '#type' => 'select',
      '#default_value' => $settings['brightcove_image_link'],
      '#empty_option' => t('Nothing'),
      '#options' => $link_types,
      '#attributes' => array(
        'class' => array(
          'brightcove-image-link',
        ),
      ),
    );
    $element['width'] = array(
      '#title' => t('Width'),
      '#type' => 'textfield',
      '#default_value' => $settings['width'],
      '#element_validate' => array(
        'brightcove_field_formatter_width_validate',
      ),
      '#formatter_type' => $display['type'],
      '#states' => array(
        'visible' => array(
          ':input[class="brightcove-image-link"]' => array(
            'value' => 'dialog',
          ),
        ),
      ),
    );
    $element['height'] = array(
      '#title' => t('Height'),
      '#type' => 'textfield',
      '#default_value' => $settings['height'],
      '#element_validate' => array(
        'brightcove_field_formatter_height_validate',
      ),
      '#formatter_type' => $display['type'],
      '#states' => array(
        'visible' => array(
          ':input[name="brightcove-image-link"]' => array(
            'value' => 'dialog',
          ),
        ),
      ),
    );
    if ($instance['widget']['type'] == BRIGHTCOVE_VIDEO_WIDGET) {
      $image_types = array(
        'thumbnailURL' => t('thumbnailURL'),
        'videoStillURL' => t('videoStillURL'),
      );
      $element['brightcove_image_type'] = array(
        '#title' => t('Image type'),
        '#type' => 'select',
        '#default_value' => $settings['brightcove_image_type'],
        '#empty_option' => $image_types[0],
        '#options' => $image_types,
      );
    }
    else {
      $element['brightcove_image_type'] = array(
        '#type' => 'value',
        '#value' => 'thumbnailURL',
      );
    }
  }
  if ($display['type'] == 'brightcove_metadata') {
    $type = $instance['widget']['type'] == BRIGHTCOVE_VIDEO_WIDGET ? 'video' : 'playlist';
    $metadata_options = _brightcove_field_get_object_formatter_keys($type);
    $element['brightcove_metadata_type'] = array(
      '#title' => t('Image type'),
      '#type' => 'select',
      '#default_value' => $settings['brightcove_metadata_type'],
      '#options' => $metadata_options,
    );
  }
  return $element;
}