You are here

function field_kaltura_field_formatter_settings_form in Kaltura 7.3

Same name and namespace in other branches
  1. 7.2 plugins/field_kaltura/field_kaltura.module \field_kaltura_field_formatter_settings_form()

Implements hook_field_formatter_settings_form().

1 call to field_kaltura_field_formatter_settings_form()
field_kaltura_field_widget_form in plugins/field_kaltura/field_kaltura.module
Implements hook_field_widget_form().

File

plugins/field_kaltura/field_kaltura.module, line 751
Kaltura as a field primary module file.

Code

function field_kaltura_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
  $display = $instance['display'][$view_mode];
  foreach ($display['settings'] as $key => $val) {
    $settings[$key] = !empty($display['settings'][$key]) ? $display['settings'][$key] : $field['settings'][$key];
  }
  $element = array();
  $element['#attached']['css'] = array(
    drupal_get_path('module', 'kaltura') . '/style/kaltura_settings.css',
  );

  // TODO: We should use Form Api fieldsets instead of '#prefix' =>
  // '<div class="f-set">'. But this will break the process of saving settings!
  // So be careful here.
  $element['thumbsize'] = array(
    '#prefix' => '<div class="f-set">',
    '#type' => 'item',
    '#title' => t('Thumbnail Dimensions'),
    '#description' => t('Note - these settings will only apply when choosing "Thumbnail" display'),
  );
  $element['thumbsize_width'] = array(
    '#type' => 'textfield',
    '#title' => t('Thumbnail Width'),
    '#size' => 5,
    '#default_value' => !empty($settings['thumbsize_width']) ? $settings['thumbsize_width'] : '',
  );
  $element['thumbsize_height'] = array(
    '#type' => 'textfield',
    '#title' => t('Thumbnail Height'),
    '#size' => 5,
    '#default_value' => !empty($settings['thumbsize_height']) ? $settings['thumbsize_height'] : '',
  );
  if ($instance['widget']['type'] != 'field_kaltura_image') {
    $element['rotate'] = array(
      '#type' => 'checkbox',
      '#title' => t('Rotate Thumbnails for Video Items'),
      '#default_value' => !empty($settings['rotate']) ? $settings['rotate'] : '0',
    );
  }
  $element['thumbsize_close'] = array(
    '#markup' => '</div>',
  );
  if ($instance['widget']['type'] != 'field_kaltura_image') {
    $saved_player = !empty($settings['entry_widget']) ? $settings['entry_widget'] : KALTURASETTINGS_DEFAULT_VIDEO_PLAYER_UICONF;
    $players = kaltura_choose_player($saved_player);
    $element['kaltura_entry_video_display'] = array(
      '#prefix' => '<div class="f-set">',
      '#type' => 'item',
      '#title' => t('Player Settings'),
    );
    $element['entry_widget'] = $players['default_widget'];
    $element['entry_widget']['#default_value'] = $saved_player;
    $element['player_width'] = array(
      '#type' => 'textfield',
      '#title' => t('Player Width'),
      '#size' => 5,
      '#attributes' => array(
        'data-kaltura-reflect-width-of-player' => $players['default_widget']['#id'],
      ),
      '#default_value' => !empty($settings['player_width']) ? $settings['player_width'] : '400',
    );
    $element['player_height'] = array(
      '#type' => 'textfield',
      '#title' => t('Player Height'),
      '#size' => 5,
      '#attributes' => array(
        'data-kaltura-reflect-height-of-player' => $players['default_widget']['#id'],
      ),
      '#default_value' => !empty($settings['player_height']) ? $settings['player_height'] : '330',
    );
    $element['dispaly_metadata'] = array(
      '#type' => 'checkbox',
      '#title' => t('Display Metadata'),
      '#default_value' => !empty($settings['dispaly_metadata']) ? $settings['dispaly_metadata'] : '0',
    );
    $element['kaltura_entry_video_display_close'] = array(
      '#markup' => '</div>',
    );
    $element['delivery'] = array(
      '#type' => 'select',
      '#title' => t('Delivery Type'),
      '#options' => array(
        'HTTP' => 'Progressive Download (HTTP)',
        'RTMP' => 'Adaptive Streaming (RTMP)',
        'AKMI' => 'Akamai HD Network',
      ),
      '#default_value' => !empty($settings['delivery']) ? $settings['delivery'] : 'HTTP',
    );
    $element['video_display_advanced'] = array(
      '#prefix' => '<div class="advanced-display advanced f-set">',
      '#type' => 'item',
      '#title' => t('Advanced'),
      '#attributes' => array(
        'class' => 'advanced-label',
      ),
    );
    $element['custom_player'] = array(
      '#type' => 'textfield',
      '#title' => t('Custom Player UI_Conf'),
      '#size' => 6,
      '#default_value' => !empty($settings['custom_player']) ? $settings['custom_player'] : '',
    );
    $element['video_display_advanced_close'] = array(
      '#markup' => '</div>',
    );
  }
  return $element;
}