~ubuntu-gr-webteam/ubuntu-gr-website/drupal6-site

« back to all changes in this revision

Viewing changes to sites/all/modules/date/date/date.views_convert.inc

  • Committer: Thanos Lefteris
  • Date: 2009-07-29 17:46:54 UTC
  • Revision ID: alefteris@gmail.com-20090729174654-pgfr1vtqw8ikvo5r
* Upgraded calendar module
* Upgraded commentrss module
* Upgraded date module
* Upgraded webfm module

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
// $Id: date.views_convert.inc,v 1.1.2.1 2009/04/30 11:44:52 karens Exp $
 
3
 
 
4
/**
 
5
 * Implementation of hook_views_convert().
 
6
 */
 
7
function date_views_convert($display, $type, &$view, $field, $id = NULL) {
 
8
  static $date_fields;
 
9
  if (!isset($date_fields)) {
 
10
    $date_fields = array();
 
11
    $content_types = content_types();
 
12
    foreach ($content_types as $content_type) {
 
13
      foreach ($content_type['fields'] as $content_field) {
 
14
        if ($content_field['module'] == 'date') {
 
15
          $date_fields["$content_field[field_name]_value_default"] = 'default';
 
16
          $date_fields["$content_field[field_name]_value_year"] = 'year';
 
17
          $date_fields["$content_field[field_name]_value_month"] = 'month';
 
18
          $date_fields["$content_field[field_name]_value_day"] = 'day';
 
19
          $date_fields["$content_field[field_name]_value_to|default"] = 'to|default';
 
20
          $date_fields["$content_field[field_name]_value_to|year"] = 'to|year';
 
21
          $date_fields["$content_field[field_name]_value_to|month"] = 'to|month';
 
22
          $date_fields["$content_field[field_name]_value_to|day"] = 'to|day';
 
23
        }
 
24
      }
 
25
    }
 
26
  }
 
27
  switch ($type) {
 
28
    case 'filter':
 
29
      if (isset($date_fields[$field['field']])) {
 
30
        $item = $view->get_item($display, 'filter', $id);
 
31
        switch ($date_fields[$field['field']]) {
 
32
          case 'default':
 
33
            $field_name = substr($field['field'], 0, -14);
 
34
            $item['date_fields'] = array('node_data_'. $field_name .'.'. $field_name .'_value');
 
35
            $item['granularity'] = 'second';
 
36
            break;
 
37
          case 'year':
 
38
            $field_name = substr($field['field'], 0, -11);
 
39
            $item['date_fields'] = array('node_data_'. $field_name .'.'. $field_name .'_value');
 
40
            $item['granularity'] = 'year';
 
41
            break;
 
42
          case 'month':
 
43
            $field_name = substr($field['field'], 0, -12);
 
44
            $item['date_fields'] = array('node_data_'. $field_name .'.'. $field_name .'_value');
 
45
            $item['granularity'] = 'month';
 
46
            break;
 
47
          case 'day':
 
48
            $field_name = substr($field['field'], 0, -10);
 
49
            $item['date_fields'] = array('node_data_'. $field_name .'.'. $field_name .'_value');
 
50
            $item['granularity'] = 'day';
 
51
            break;
 
52
          case 'to|default':
 
53
            $field_name = substr($field['field'], 0, -17);
 
54
            $item['date_fields'] = array('node_data_'. $field_name .'.'. $field_name .'_value2');
 
55
            $item['granularity'] = 'second';
 
56
            break;
 
57
          case 'to|year':
 
58
            $field_name = substr($field['field'], 0, -14);
 
59
            $item['date_fields'] = array('node_data_'. $field_name .'.'. $field_name .'_value2');
 
60
            $item['granularity'] = 'year';
 
61
            break;
 
62
          case 'to|month':
 
63
            $field_name = substr($field['field'], 0, -15);
 
64
            $item['date_fields'] = array('node_data_'. $field_name .'.'. $field_name .'_value2');
 
65
            $item['granularity'] = 'month';
 
66
            break;
 
67
          case 'to|day':
 
68
            $field_name = substr($field['field'], 0, -13);
 
69
            $item['date_fields'] = array('node_data_'. $field_name .'.'. $field_name .'_value2');
 
70
            $item['granularity'] = 'day';
 
71
            break;
 
72
        }
 
73
        $item['table'] = 'node';
 
74
        $item['field'] = 'date_filter';
 
75
        $item['form_type'] = 'date_text';
 
76
        $item['operator'] = $field['operator'] == '<>' ? '!=' : $field['operator'];
 
77
        if ($field['value'] == 'now' || $field['options'] == 'now') {
 
78
          $item['default_date'] = 'now';
 
79
        }
 
80
        else {
 
81
          $item['value'] = $field['value'];
 
82
          $item['default_date'] = $field['options'];
 
83
        }
 
84
        $view->set_item($display, 'filter', $id, $item);
 
85
      }
 
86
      break;
 
87
  }
 
88
}