You are here

function field_kaltura_field_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_settings_form()

Implements hook_field_settings_form().

File

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

Code

function field_kaltura_field_settings_form($field, $instance, $has_data) {
  $m_path = drupal_get_path('module', 'kaltura');
  $settings = $field['settings'];
  $saved_player = !empty($settings['entry_widget']) ? $settings['entry_widget'] : KALTURASETTINGS_DEFAULT_VIDEO_PLAYER_UICONF;
  $players = kaltura_choose_player($saved_player);
  $form['kaltura_entry_video_display'] = array(
    '#prefix' => '<div class="player-settings f-set">',
    '#type' => 'item',
    '#title' => t('Player Settings'),
  );
  $form['#attached']['css'] = array(
    $m_path . '/style/kaltura_settings.css',
  );
  $form['#attached']['js'] = array(
    $m_path . '/js/kaltura_settings.js',
  );
  $form['entry_widget'] = $players['default_widget'];
  $form['entry_widget']['#default_value'] = $saved_player;
  $form['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',
  );
  $form['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',
  );
  $form['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',
  );

  // TODO: Remove prefixes and use Form API fieldsets.
  $form['video_display_advanced'] = array(
    '#prefix' => '<div class="advanced-display inner advanced f-set">',
    '#type' => 'item',
    '#title' => t('Advanced'),
    '#attributes' => array(
      'class' => 'advanced-label',
    ),
  );
  $form['custom_player'] = array(
    '#type' => 'textfield',
    '#title' => t('Custom Player UI_Conf'),
    '#size' => 6,
    '#default_value' => !empty($settings['custom_player']) ? $settings['custom_player'] : '',
  );
  $form['video_display_advanced_close'] = array(
    '#markup' => '</div>',
  );
  $form['thumbsize'] = array(
    '#prefix' => '<div class="thumbsize inner f-set">',
    '#type' => 'item',
    '#title' => t('Thumbnail Settings'),
    '#description' => t('Note - these settings will only apply when choosing "Thumbnail" display'),
  );
  $form['thumbsize_width'] = array(
    '#type' => 'textfield',
    '#title' => t('Thumbnail Width'),
    '#size' => 5,
    '#default_value' => !empty($settings['thumbsize_width']) ? $settings['thumbsize_width'] : '80',
  );
  $form['thumbsize_height'] = array(
    '#type' => 'textfield',
    '#title' => t('Thumbnail Height'),
    '#size' => 5,
    '#default_value' => !empty($settings['thumbsize_height']) ? $settings['thumbsize_height'] : '45',
  );
  $form['rotate'] = array(
    '#type' => 'checkbox',
    '#title' => t('Rotate Thumbnails for Video Items'),
    '#default_value' => !empty($settings['rotate']) ? $settings['rotate'] : '0',
  );
  $form['thumbsize_close'] = array(
    '#markup' => '</div>',
  );
  $form['kaltura_entry_video_display_close'] = array(
    '#markup' => '</div>',
  );
  $form['content_ingestion'] = array(
    '#prefix' => '<div class="content-ingestion f-set">',
    '#type' => 'item',
    '#title' => t('Content ingestion'),
  );
  $form['content_ingestion_advanced'] = array(
    '#prefix' => '<div class="advanced-content-ingestion inner advanced f-set">',
    '#type' => 'item',
    '#title' => t('Advanced'),
  );
  $form['custom_cw'] = array(
    '#type' => 'textfield',
    '#title' => t('Custom uploader widget ui_conf'),
    '#size' => 6,
    '#default_value' => !empty($settings['custom_cw']) ? $settings['custom_cw'] : '',
  );
  $form['content_ingestion_advanced_close'] = array(
    '#markup' => '</div>',
  );
  $form['add_existing_text'] = array(
    '#theme' => 'html_tag',
    '#tag' => 'span',
    '#value' => t('When adding media, please choose if the user will be able to add new media (via upload or record), use media already existing in the Drupal DB (uploaded from Drupal and/or imported from Kaltura), or both.'),
    '#attributes' => array(
      'class' => array(
        'desc-text',
      ),
    ),
  );
  $form['add_existing'] = array(
    '#type' => 'radios',
    '#title' => t('Add Media Settings'),
    '#options' => array(
      'upload' => t('Add new media only'),
      'existing' => t('Use existing media only'),
      'both' => t('Use existing media and add new media'),
    ),
    '#default_value' => isset($settings['add_existing']) ? $settings['add_existing'] : 'both',
  );
  $form['kcw_button_text'] = array(
    '#type' => 'textfield',
    '#title' => t('Add Media button label'),
    '#size' => 30,
    '#default_value' => !empty($settings['kcw_button_text']) ? $settings['kcw_button_text'] : t('Add Media'),
  );
  $form['content_ingestion_close'] = array(
    '#markup' => '</div>',
  );
  switch ($instance['widget']['type']) {
    case 'field_kaltura_image':
      unset($form['delivery'], $form['rotate'], $form['entry_widget']);
      $form['kaltura_entry_video_display']['#title'] = t('Image display');
      $form['player_height']['#title'] = t('Image Height');
      $form['player_width']['#title'] = t('Image Width');
      break;
    case 'field_kaltura_audio':

      // Remove unrelevent settings to audio.
      foreach ($form as $key => $val) {
        if (strpos($key, 'thumbsize') === 0) {
          unset($form[$key]);
        }
      }
      unset($form['rotate']);
      break;
  }
  return $form;
}