6 * Field conversion for fields handled by this module.
10 * Implementation of hook_views_convert().
12 * Intervene to convert field values from the Views 1 format to the
13 * Views 2 format. Intervene only if $view->add_item() won't produce
14 * the right results, usually needed to set field options or values.
16 function comment_views_convert($display, $type, &$view, $field, $id = NULL
) {
19 switch ($field['tablename']) {
21 switch ($field['field']) {
23 if ($field['options'] = 'nolink') {
24 $view->set_item_option($display, 'field', $id, 'link_to_comment', FALSE
);
28 $view->set_item_option($display, 'field', $id, 'link_to_comment', FALSE
);
32 'views_handler_field_date_small' => 'small',
33 'views_handler_field_date' => 'medium',
34 'views_handler_field_date_large' => 'large',
35 'views_handler_field_date_custom' => 'custom',
36 'views_handler_field_since' => 'time ago',
38 $view->set_item_option($display, 'field', $id, 'date_format', $handlers[$field['handler']]);
39 if (!empty($field['options'])) {
40 $view->set_item_option($display, 'field', $id, 'custom_date_format', $field['options']);
44 $view->set_item_option($display, 'field', $id, 'field', 'replyto_comment');
48 case
'node_comment_statistics':
49 switch ($field['field']) {
50 case
'last_comment_timestamp':
52 'views_handler_field_date_small' => 'small',
53 'views_handler_field_date' => 'medium',
54 'views_handler_field_date_large' => 'large',
55 'views_handler_field_date_custom' => 'custom',
56 'views_handler_field_since' => 'time ago',
58 $view->set_item_option($display, 'field', $id, 'date_format', $handlers[$field['handler']]);
59 if (!empty($field['options'])) {
60 $view->set_item_option($display, 'field', $id, 'custom_date_format', $field['options']);
65 'views_handler_field_date_small' => 'small',
66 'views_handler_field_date' => 'medium',
67 'views_handler_field_date_large' => 'large',
68 'views_handler_field_date_custom' => 'custom',
69 'views_handler_field_since' => 'time ago',
71 $item = $view->get_item($display, 'field', $id);
72 $item['date_format'] = $handlers[$field['handler']];
73 if (!empty($field['options'])) {
74 $item['custom_date_format'] = $field['options'];
76 $item['field'] = 'last_updated';
77 $view->set_item($display, 'field', $id, $item);
84 switch ($field['tablename']) {
85 case
'node_comment_statistics':
86 switch ($field['field']) {
88 $view->set_item_option($display, 'filter', $id, 'operator', $field['operator']);
91 $field['field'] = 'last_updated';
92 case
'last_comment_timestamp':
93 $item = $view->get_item($display, 'filter', $id);
94 $item['operator'] = $field['operator'];
95 $item['value'] = array(
96 'type' => $field['value'] == 'now' ?
'offset' : 'date',
97 'value' => $field['value'],
99 if (!empty($field['options'])) {
100 $item['value']['value'] = intval($field['options']) .
' seconds';
102 $item['field'] = $field['field'];
103 $view->set_item($display, 'filter', $id, $item);
110 switch ($field['tablename']) {
112 switch ($field['field']) {
114 $field['options'] = $field['options'] == 'normal' ?
'second' : $field['options'];
115 $view->set_item_option($display, 'sort', $id, 'granularity', $field['options']);
119 case
'node_comment_statistics':
120 switch ($field['field']) {
122 $view->set_item_option($display, 'sort', $id, 'field', 'last_updated');
123 case
'last_comment_timestamp':
124 $field['options'] = $field['options'] == 'normal' ?
'second' : $field['options'];
125 $view->set_item_option($display, 'sort', $id, 'granularity', $field['options']);