You are here

function field_kaltura_field_settings in Kaltura 6.2

Same name and namespace in other branches
  1. 5 plugins/field_kaltura/field_kaltura.module \field_kaltura_field_settings()
  2. 6 plugins/field_kaltura/field_kaltura.module \field_kaltura_field_settings()

Implementation of hook_field_settings().

File

plugins/field_kaltura/field_kaltura.module, line 58
kaltura integration module - functions to provide kaltura as CCK field

Code

function field_kaltura_field_settings($op, $field) {
  switch ($op) {
    case 'form':
      $form = array();

      // specific field setting can come here (taxonomy integration/player selection/etc...)
      $form['thumbsize'] = array(
        '#type' => 'fieldset',
        '#title' => t('Thumbnail Dimensions'),
        '#description' => t('Note - these settings will only apply when choosing "Thumbnail" display'),
      );
      $form['thumbsize']['thumbsize_width'] = array(
        '#type' => 'textfield',
        '#title' => t('Thumbnail Width'),
        '#size' => 5,
        '#default_value' => !empty($field['thumbsize_width']) ? $field['thumbsize_width'] : '',
      );
      $form['thumbsize']['thumbsize_height'] = array(
        '#type' => 'textfield',
        '#title' => t('Thumbnail Height'),
        '#size' => 5,
        '#default_value' => !empty($field['thumbsize_height']) ? $field['thumbsize_height'] : '',
      );
      $saved_player = !empty($field['entry_widget']) ? $field['entry_widget'] : KalturaSettings_DEFAULT_VIDEO_PLAYER_UICONF;
      $players = kaltura_choose_player(0, 'video', 'entry', FALSE, $saved_player);
      $form['kaltura_entry_video_display'] = array(
        '#type' => 'fieldset',
        '#title' => t('Video Display'),
      );
      $form['kaltura_entry_video_display']['entry_widget'] = $players['default_widget'];
      $form['kaltura_entry_video_display']['entry_widget']['#default_value'] = $saved_player;
      $dynamic_dimension_js = '
  <script type="text/javascript">
  function set_video_player_dimension(uiconf)
  {
  document.getElementById("edit-player-height").value=get_video_player_height(uiconf);
  document.getElementById("edit-player-width").value=get_video_player_width(uiconf);
  }
  </script>
  ';
      $form['kaltura_entry_video_display']['player_width'] = array(
        '#type' => 'textfield',
        '#title' => t('Player Width'),
        '#size' => 5,
        '#prefix' => $dynamic_dimension_js,
        '#default_value' => !empty($field['player_width']) ? $field['player_width'] : '400',
      );
      $form['kaltura_entry_video_display']['player_height'] = array(
        '#type' => 'textfield',
        '#title' => t('Player Height'),
        '#size' => 5,
        '#default_value' => !empty($field['player_height']) ? $field['player_height'] : '330',
      );
      $default_cw = variable_get('kaltura_video_entry_cw_type', KalturaSettings_CW_UICONF_ID);
      $default_cw = !empty($field['entry_cw']) ? $field['entry_cw'] : $default_cw;
      $custom_cw = !empty($field['custom_cw']) ? $field['custom_cw'] : '';
      list($regular, $custom) = kaltura_choose_cw('kaltura_video_entry_cw_type', 'kaltura_video_entry_cw_custom', $default_cw);
      $form['entry_cw'] = $regular;
      $form['custom_cw'] = $custom;
      $form['custom_cw']['#default_value'] = $custom_cw;
      return $form;
    case 'save':
      return array(
        'allowed_values',
        'allowed_values_php',
        'thumbsize_height',
        'thumbsize_width',
        'entry_widget',
        'entry_cw',
        'custom_cw',
        'player_height',
        'player_width',
      );
    case 'database columns':
      $columns['value'] = array(
        'type' => 'text',
        'size' => 'big',
        'not null' => FALSE,
        'sortable' => TRUE,
      );
      return $columns;
    case 'views data':
      $allowed_values = content_allowed_values($field);
      if (count($allowed_values) || 1) {
        $data = content_views_field_views_data($field);
        $db_info = content_database_info($field);
        $table_alias = content_views_tablename($field);

        // Filter: Add a 'many to one' filter.
        $copy = $data[$table_alias][$field['field_name'] . '_value'];
        $copy['title'] = t('@label (!name) - Allowed values', array(
          '@label' => t($field['widget']['label']),
          '!name' => $field['field_name'],
        ));
        $copy['filter']['handler'] = 'content_handler_filter_many_to_one';
        unset($copy['field'], $copy['argument'], $copy['sort']);
        $data[$table_alias][$field['field_name'] . '_value_many_to_one'] = $copy;

        // Argument : swap the handler to the 'many to one' operator.
        $data[$table_alias][$field['field_name'] . '_value']['argument']['handler'] = 'content_handler_argument_many_to_one';
        return $data;
      }
  }
}