function field_kaltura_field_settings in Kaltura 6.2
Same name and namespace in other branches
- 5 plugins/field_kaltura/field_kaltura.module \field_kaltura_field_settings()
- 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;
}
}
}