Projet

Général

Profil

Paste
Télécharger (44,2 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / calendar / includes / calendar.views_template.inc @ 13755f8d

1
<?php
2

    
3
/**
4
 * @file
5
 * View templates for the Calendar module.
6
 *
7
 * Create calendar templates for every date field in the system.
8
 */
9

    
10
/**
11
 * Implements hook_views_templates().
12
 *
13
*/
14
function calendar_views_templates() {
15

    
16
  $views = array();
17

    
18
  // Map the base tables to entity types.
19
  $entity_info = entity_get_info();
20
  $base_tables = date_views_base_tables();
21

    
22
  $with_ical = module_exists('date_ical');
23

    
24
  // Find all the date fields we know about.
25

    
26
  $processed = array();
27

    
28
  foreach ($entity_info as $entity_type => $info) {
29
    if (!$info['fieldable']) {
30
      continue;
31
    }
32
    $items = field_info_instances($entity_type);
33
    $views_fields = date_views_fields($info['base table']);
34
    $with_colorbox = $entity_type == 'node' && module_exists('colorbox') && variable_get('calendar_add_colorbox', 0);
35

    
36
    foreach ($views_fields['name'] as $name => $data) {
37

    
38
      // For each of the Field date fields, we need to find the bundle and entities this field is used on.
39
      if ($data['is_field']) {
40
        foreach ($items as $bundle => $widgets) {
41
          foreach ($widgets as $field_name => $widget) {
42
            $field = field_info_field($field_name);
43

    
44
            // See if this is a date field. Since fields might be shared
45
            // across bundles, make sure we haven't already processed this field.
46
            // $alias = 'field_data_' . $field_name . '.' . $field_name . '_value';
47
            // $alias will not work because $alias can be from multiple base_tables
48
            // and we would not want to exclude a field from other base tables because
49
            // it was used in one.
50

    
51
            // Limiting the fields to date fields will make this loop more efficient
52
            if ($field['module'] == 'date') {
53
              $base_table = $info['base table'];
54
              $calendar_option = array(
55
                'name' => 'calendar_' . $base_table . '_' . $field_name,
56
                'description' => t("A calendar view of the '@field_name' field in the '@base_table' base table.", array('@base_table' => $base_table, '@field_name' => $field_name)),
57
                'path' => str_replace('_', '-', 'calendar-' . $base_table . '-' . $field_name),
58
                'base_table' => $base_table,
59
                'field_name' => $field_name,
60
                'with_colorbox' => $with_colorbox,
61
                'with_ical' => $with_ical,
62
              );
63
              $view = calendar_views_template_construct($calendar_option);
64
              $views[$view->name] = $view;
65
            }
66
          }
67
        }
68
      }
69

    
70
      // For other date fields, we infer the entity type from the base table.
71
      else {
72
        $parts = explode('.', $name);
73
        $base_table = $parts[0];
74
        $field_name = $parts[1];
75
        $calendar_option = array(
76
          'name' => 'calendar_' . $entity_type . '_' . $field_name,
77
          'description' => t("A calendar view of the '@field_name' field in the '@base_table' base table.", array('@base_table' => $base_table, '@field_name' => $field_name)),
78
          'path' => 'calendar-' . str_replace('_', '-', $field_name),
79
          'base_table' => $base_table,
80
          'field_name' => $field_name,
81
          'with_colorbox' => $with_colorbox,
82
          'with_ical' => $with_ical,
83
        );
84
        $view = calendar_views_template_construct($calendar_option);
85
        $views[$view->name] = $view;
86
      }
87
    }
88
  }
89
 return $views;
90
}
91

    
92
/**
93
 * Helper function to construct a calendar template from an array of values.
94
 *
95
 * @param $options:
96
 *   An array of options to create calendar templates.
97
 *
98
 * Possible options include:
99
 * @param string $base_table:
100
 *   The base table for the view.
101
 * @param string $name:
102
 *   The view name.
103
 * @param string $description:
104
 *   The view description.
105
 * @param string $path:
106
 *   The view url, if empty, defaults to 'calendar'.
107
 * @param string  $bundle:
108
 *   The bundle for this calendar.
109
 * @param string  $field_name:
110
 *   Date field used to filter the calendar.
111
 *
112
 * @return the default template array.
113
 */
114
function calendar_views_template_construct($options = NULL) {
115

    
116
$name        = $options['name'];
117
$description = $options['description'];
118
$path        = $options['path'];
119
$base_table  = $options['base_table'];
120
$field_name  = $options['field_name'];
121
$with_colorbox = !empty($options['with_colorbox']);
122
$with_ical   = !empty($options['with_ical']);
123

    
124
$colors      = array();
125
$field_info = field_info_field($field_name);
126

    
127
if (!empty($field_info)) {
128
  $table = 'field_data_' . $field_name;
129
  $alias = $table . '.' . $field_name . '_value';
130
  $is_field = TRUE;
131
}
132
else {
133
  $table = $base_table;
134
  $alias = $table . '.' . $field_name;
135
  $is_field = FALSE;
136
}
137
$aliases     = array($alias => $alias);
138

    
139
$view = new view;
140
$view->name = $name;
141
$view->description = $description;
142
$view->tag = 'Calendar';
143
$view->base_table = $base_table;
144
$view->human_name = t("Calendar");
145
$view->core = 7;
146
$view->api_version = '3.0';
147
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
148

    
149
/* Display: Master */
150

    
151
$handler = $view->new_display('default', 'Master', 'default');
152
$handler->display->display_options['title'] = '';
153
$handler->display->display_options['link_display'] = 'page_1';
154
$handler->display->display_options['access']['type'] = 'perm';
155
$handler->display->display_options['query']['type'] = 'views_query';
156
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
157
$handler->display->display_options['exposed_form']['type'] = 'basic';
158
$handler->display->display_options['pager']['type'] = 'date_views_pager';
159
$handler->display->display_options['pager']['options']['date_id'] = 'month';
160
$handler->display->display_options['pager']['options']['pager_position'] = 'top';
161
$handler->display->display_options['style_plugin'] = 'calendar_style';
162
$handler->display->display_options['style_options']['name_size'] = '3';
163
$handler->display->display_options['style_options']['with_weekno'] = '0';
164
$handler->display->display_options['style_options']['multiday_theme'] = '1';
165
$handler->display->display_options['style_options']['theme_style'] = '1';
166
$handler->display->display_options['style_options']['max_items'] = '0';
167
$handler->display->display_options['row_plugin'] = 'calendar_entity';
168

    
169
/* Field: Title */
170

    
171
switch ($base_table) {
172

    
173
  case 'node':
174
  case 'node_revision':
175
    $handler->display->display_options['fields']['title']['id'] = 'title';
176
    $handler->display->display_options['fields']['title']['table'] = $base_table;
177
    $handler->display->display_options['fields']['title']['field'] = 'title';
178
    $handler->display->display_options['fields']['title']['label'] = '';
179
    $handler->display->display_options['fields']['title']['exclude'] = $with_colorbox ? 1 : 0;
180
    $handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
181
    $handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
182
    $handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
183
    $handler->display->display_options['fields']['title']['alter']['external'] = 0;
184
    $handler->display->display_options['fields']['title']['alter']['replace_spaces'] = 0;
185
    $handler->display->display_options['fields']['title']['alter']['trim_whitespace'] = 0;
186
    $handler->display->display_options['fields']['title']['alter']['nl2br'] = 0;
187
    $handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0;
188
    $handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0;
189
    $handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
190
    $handler->display->display_options['fields']['title']['alter']['trim'] = 0;
191
    $handler->display->display_options['fields']['title']['alter']['html'] = 0;
192
    $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
193
    $handler->display->display_options['fields']['title']['element_default_classes'] = 1;
194
    $handler->display->display_options['fields']['title']['hide_empty'] = 0;
195
    $handler->display->display_options['fields']['title']['empty_zero'] = 0;
196
    $handler->display->display_options['fields']['title']['hide_alter_empty'] = 0;
197
    $handler->display->display_options['fields']['title']['link_to_node'] = $with_colorbox ? 0 : 1;
198
    break;
199

    
200
  case 'users':
201
    $handler->display->display_options['fields']['name']['id'] = 'name';
202
    $handler->display->display_options['fields']['name']['table'] = 'users';
203
    $handler->display->display_options['fields']['name']['field'] = 'name';
204
    $handler->display->display_options['fields']['name']['label'] = '';
205
    $handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
206
    $handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
207
    $handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
208
    $handler->display->display_options['fields']['name']['alter']['word_boundary'] = 0;
209
    $handler->display->display_options['fields']['name']['alter']['ellipsis'] = 0;
210
    $handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
211
    $handler->display->display_options['fields']['name']['alter']['trim'] = 0;
212
    $handler->display->display_options['fields']['name']['alter']['html'] = 0;
213
    $handler->display->display_options['fields']['name']['hide_empty'] = 0;
214
    $handler->display->display_options['fields']['name']['empty_zero'] = 0;
215
    $handler->display->display_options['fields']['name']['link_to_user'] = 1;
216
    $handler->display->display_options['fields']['name']['overwrite_anonymous'] = 0;
217
  break;
218

    
219
}
220

    
221
if ($with_colorbox) {
222

    
223
/* Field: Content: Rendered Node */
224
$handler->display->display_options['fields']['rendered_entity']['id'] = 'rendered_entity';
225
$handler->display->display_options['fields']['rendered_entity']['table'] = 'views_entity_node';
226
$handler->display->display_options['fields']['rendered_entity']['field'] = 'rendered_entity';
227
$handler->display->display_options['fields']['rendered_entity']['label'] = '';
228
$handler->display->display_options['fields']['rendered_entity']['exclude'] = TRUE;
229
$handler->display->display_options['fields']['rendered_entity']['alter']['alter_text'] = 0;
230
$handler->display->display_options['fields']['rendered_entity']['alter']['make_link'] = 0;
231
$handler->display->display_options['fields']['rendered_entity']['alter']['absolute'] = 0;
232
$handler->display->display_options['fields']['rendered_entity']['alter']['external'] = 0;
233
$handler->display->display_options['fields']['rendered_entity']['alter']['replace_spaces'] = 0;
234
$handler->display->display_options['fields']['rendered_entity']['alter']['trim_whitespace'] = 0;
235
$handler->display->display_options['fields']['rendered_entity']['alter']['nl2br'] = 0;
236
$handler->display->display_options['fields']['rendered_entity']['alter']['word_boundary'] = 1;
237
$handler->display->display_options['fields']['rendered_entity']['alter']['ellipsis'] = 1;
238
$handler->display->display_options['fields']['rendered_entity']['alter']['more_link'] = 0;
239
$handler->display->display_options['fields']['rendered_entity']['alter']['strip_tags'] = 0;
240
$handler->display->display_options['fields']['rendered_entity']['alter']['trim'] = 0;
241
$handler->display->display_options['fields']['rendered_entity']['alter']['html'] = 0;
242
$handler->display->display_options['fields']['rendered_entity']['element_label_colon'] = FALSE;
243
$handler->display->display_options['fields']['rendered_entity']['element_default_classes'] = 1;
244
$handler->display->display_options['fields']['rendered_entity']['hide_empty'] = 0;
245
$handler->display->display_options['fields']['rendered_entity']['empty_zero'] = 0;
246
$handler->display->display_options['fields']['rendered_entity']['hide_alter_empty'] = 1;
247
$handler->display->display_options['fields']['rendered_entity']['link_to_entity'] = 1;
248
$handler->display->display_options['fields']['rendered_entity']['display'] = 'view';
249
$handler->display->display_options['fields']['rendered_entity']['view_mode'] = 'full';
250
/* Field: Colorbox: Colorbox trigger */
251
$handler->display->display_options['fields']['colorbox']['id'] = 'colorbox';
252
$handler->display->display_options['fields']['colorbox']['table'] = 'colorbox';
253
$handler->display->display_options['fields']['colorbox']['field'] = 'colorbox';
254
$handler->display->display_options['fields']['colorbox']['label'] = '';
255
$handler->display->display_options['fields']['colorbox']['alter']['alter_text'] = 1;
256
$handler->display->display_options['fields']['colorbox']['alter']['make_link'] = 0;
257
$handler->display->display_options['fields']['colorbox']['alter']['absolute'] = 0;
258
$handler->display->display_options['fields']['colorbox']['alter']['external'] = 0;
259
$handler->display->display_options['fields']['colorbox']['alter']['replace_spaces'] = 0;
260
$handler->display->display_options['fields']['colorbox']['alter']['trim_whitespace'] = 0;
261
$handler->display->display_options['fields']['colorbox']['alter']['nl2br'] = 0;
262
$handler->display->display_options['fields']['colorbox']['alter']['word_boundary'] = 1;
263
$handler->display->display_options['fields']['colorbox']['alter']['ellipsis'] = 1;
264
$handler->display->display_options['fields']['colorbox']['alter']['more_link'] = 0;
265
$handler->display->display_options['fields']['colorbox']['alter']['strip_tags'] = 0;
266
$handler->display->display_options['fields']['colorbox']['alter']['trim'] = 0;
267
$handler->display->display_options['fields']['colorbox']['alter']['html'] = 0;
268
$handler->display->display_options['fields']['colorbox']['element_label_colon'] = FALSE;
269
$handler->display->display_options['fields']['colorbox']['element_default_classes'] = 1;
270
$handler->display->display_options['fields']['colorbox']['hide_empty'] = 0;
271
$handler->display->display_options['fields']['colorbox']['empty_zero'] = 0;
272
$handler->display->display_options['fields']['colorbox']['hide_alter_empty'] = 1;
273
$handler->display->display_options['fields']['colorbox']['trigger_field'] = 'title';
274
$handler->display->display_options['fields']['colorbox']['popup'] = '[rendered_entity]';
275
$handler->display->display_options['fields']['colorbox']['gid'] = 1;
276

    
277
} // End if($with_colorbox);
278

    
279
/* Date Field */
280

    
281
$handler->display->display_options['fields'][$field_name]['id'] = $field_name;
282
$handler->display->display_options['fields'][$field_name]['table'] = $table;
283
$handler->display->display_options['fields'][$field_name]['field'] = $field_name;
284
$handler->display->display_options['fields'][$field_name]['label'] = '';
285
$handler->display->display_options['fields'][$field_name]['alter']['alter_text'] = 0;
286
$handler->display->display_options['fields'][$field_name]['alter']['make_link'] = 0;
287
$handler->display->display_options['fields'][$field_name]['alter']['absolute'] = 0;
288
$handler->display->display_options['fields'][$field_name]['alter']['external'] = 0;
289
$handler->display->display_options['fields'][$field_name]['alter']['replace_spaces'] = 0;
290
$handler->display->display_options['fields'][$field_name]['alter']['trim_whitespace'] = 0;
291
$handler->display->display_options['fields'][$field_name]['alter']['nl2br'] = 0;
292
$handler->display->display_options['fields'][$field_name]['alter']['word_boundary'] = 1;
293
$handler->display->display_options['fields'][$field_name]['alter']['ellipsis'] = 1;
294
$handler->display->display_options['fields'][$field_name]['alter']['strip_tags'] = 0;
295
$handler->display->display_options['fields'][$field_name]['alter']['trim'] = 0;
296
$handler->display->display_options['fields'][$field_name]['alter']['html'] = 0;
297
$handler->display->display_options['fields'][$field_name]['element_label_colon'] = FALSE;
298
$handler->display->display_options['fields'][$field_name]['element_default_classes'] = 1;
299
$handler->display->display_options['fields'][$field_name]['hide_empty'] = 0;
300
$handler->display->display_options['fields'][$field_name]['empty_zero'] = 0;
301
$handler->display->display_options['fields'][$field_name]['hide_alter_empty'] = 0;
302

    
303
if ($is_field) {
304
  $handler->display->display_options['fields'][$field_name]['settings'] = array(
305
    'format_type' => 'short',
306
    'fromto' => 'both',
307
    'multiple_number' => '',
308
    'multiple_from' => '',
309
    'multiple_to' => '',
310
    'show_repeat_rule' => '',
311
  );
312
  $handler->display->display_options['fields'][$field_name]['group_rows'] = 0;
313
  $handler->display->display_options['fields'][$field_name]['delta_offset'] = '0';
314
  $handler->display->display_options['fields'][$field_name]['delta_reversed'] = 0;
315
  $handler->display->display_options['fields'][$field_name]['field_api_classes'] = 0;
316

    
317
  /* Sort criterion */
318
  $handler->display->display_options['sorts'][$field_name . '_value']['id'] = $field_name . '_value';
319
  $handler->display->display_options['sorts'][$field_name . '_value']['table'] = $table;
320
  $handler->display->display_options['sorts'][$field_name . '_value']['field'] = $field_name . '_value';
321

    
322
}
323
else {
324

    
325
  /* Sort criterion */
326
  $handler->display->display_options['sorts'][$field_name]['id'] = $field_name;
327
  $handler->display->display_options['sorts'][$field_name]['table'] = $table;
328
  $handler->display->display_options['sorts'][$field_name]['field'] = $field_name;
329

    
330
}
331

    
332
/* Filter criterion: Content: Published */
333

    
334
switch ($base_table) {
335

    
336
  case 'node':
337

    
338
    $handler->display->display_options['filters']['status']['id'] = 'status';
339
    $handler->display->display_options['filters']['status']['table'] = $base_table;
340
    $handler->display->display_options['filters']['status']['field'] = 'status';
341
    $handler->display->display_options['filters']['status']['value'] = 1;
342
    $handler->display->display_options['filters']['status']['group'] = 0;
343
    $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
344
    break;
345
}
346

    
347
/* Display: Month */
348

    
349
$handler = $view->new_display('page', 'Month', 'page_1');
350
$handler->display->display_options['defaults']['pager'] = FALSE;
351
$handler->display->display_options['pager']['type'] = 'date_views_pager';
352
$handler->display->display_options['pager']['options']['date_id'] = 'month';
353
$handler->display->display_options['pager']['options']['pager_position'] = 'top';
354
$handler->display->display_options['pager']['options']['link_format'] = 'clean';
355
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
356
$handler->display->display_options['style_plugin'] = 'calendar_style';
357
$handler->display->display_options['style_options']['calendar_type'] = 'month';
358
$handler->display->display_options['style_options']['name_size'] = '3';
359
$handler->display->display_options['style_options']['mini'] = '0';
360
$handler->display->display_options['style_options']['with_weekno'] = '0';
361
$handler->display->display_options['style_options']['multiday_theme'] = '1';
362
$handler->display->display_options['style_options']['theme_style'] = '1';
363
$handler->display->display_options['style_options']['max_items'] = '0';
364

    
365
if ($with_colorbox) {
366
$handler->display->display_options['style_options']['multiday_hidden'] = array(
367
  'title' => 'title',
368
  'rendered_entity' => 'rendered_entity',
369
  $field_name => $field_name,
370
);
371
} // End if ($with_colorbox);
372

    
373
$handler->display->display_options['defaults']['style_options'] = FALSE;
374
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
375
$handler->display->display_options['row_plugin'] = 'calendar_entity';
376
$handler->display->display_options['row_options']['calendar_date_link'] = '';
377
$handler->display->display_options['row_options']['colors']['legend'] = 'type';
378
$handler->display->display_options['row_options']['colors']['calendar_colors_type'] = array();
379
$handler->display->display_options['row_options']['colors']['calendar_colors_vocabulary'] = array();
380
$handler->display->display_options['defaults']['row_options'] = FALSE;
381
$handler->display->display_options['defaults']['arguments'] = FALSE;
382

    
383

    
384
/* Contextual filter: Date */
385

    
386
$handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
387
$handler->display->display_options['arguments']['date_argument']['table'] = $base_table;
388
$handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
389
$handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
390
$handler->display->display_options['arguments']['date_argument']['default_argument_type'] = 'date';
391
$handler->display->display_options['arguments']['date_argument']['default_argument_skip_url'] = 0;
392
$handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
393
$handler->display->display_options['arguments']['date_argument']['year_range'] = '-3:+3';
394
$handler->display->display_options['arguments']['date_argument']['granularity'] = 'month';
395
$handler->display->display_options['arguments']['date_argument']['add_delta'] = 'yes';
396
$handler->display->display_options['arguments']['date_argument']['date_fields'] = $aliases;
397
$handler->display->display_options['arguments']['date_argument']['date_method'] = 'OR';
398
$handler->display->display_options['arguments']['date_argument']['date_group'] = 'date';
399

    
400
$handler->display->display_options['path'] = $path . '/month';
401
$handler->display->display_options['menu']['type'] = 'default tab';
402
$handler->display->display_options['menu']['title'] = 'Month';
403
$handler->display->display_options['menu']['weight'] = '0';
404
$handler->display->display_options['menu']['context'] = 0;
405
$handler->display->display_options['tab_options']['type'] = 'normal';
406
$handler->display->display_options['tab_options']['title'] = 'Calendar';
407
$handler->display->display_options['tab_options']['weight'] = '0';
408

    
409

    
410
/* Display: Week */
411

    
412
$handler = $view->new_display('page', 'Week', 'page_2');
413
$handler->display->display_options['defaults']['pager'] = FALSE;
414
$handler->display->display_options['pager']['type'] = 'date_views_pager';
415
$handler->display->display_options['pager']['options']['date_id'] = 'week';
416
$handler->display->display_options['pager']['options']['pager_position'] = 'top';
417
$handler->display->display_options['pager']['options']['link_format'] = 'clean';
418
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
419
$handler->display->display_options['style_plugin'] = 'calendar_style';
420
$handler->display->display_options['style_options']['calendar_type'] = 'week';
421
$handler->display->display_options['style_options']['name_size'] = '3';
422
$handler->display->display_options['style_options']['mini'] = '0';
423
$handler->display->display_options['style_options']['with_weekno'] = '0';
424
$handler->display->display_options['style_options']['multiday_theme'] = '1';
425
$handler->display->display_options['style_options']['groupby_times'] = 'hour';
426
$handler->display->display_options['style_options']['theme_style'] = '1';
427
$handler->display->display_options['style_options']['max_items'] = '0';
428

    
429
if ($with_colorbox) {
430
$handler->display->display_options['style_options']['multiday_hidden'] = array(
431
  'title' => 'title',
432
  'rendered_entity' => 'rendered_entity',
433
  $field_name => $field_name,
434
);
435
} // End if ($with_colorbox);
436

    
437
$handler->display->display_options['defaults']['style_options'] = FALSE;
438
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
439
$handler->display->display_options['row_plugin'] = 'calendar_entity';
440
$handler->display->display_options['defaults']['row_options'] = FALSE;
441
$handler->display->display_options['defaults']['arguments'] = FALSE;
442

    
443
/* Contextual filter: Date */
444

    
445
$handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
446
$handler->display->display_options['arguments']['date_argument']['table'] = $base_table;
447
$handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
448
$handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
449
$handler->display->display_options['arguments']['date_argument']['default_argument_type'] = 'date';
450
$handler->display->display_options['arguments']['date_argument']['default_argument_skip_url'] = 0;
451
$handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
452
$handler->display->display_options['arguments']['date_argument']['year_range'] = '-3:+3';
453
$handler->display->display_options['arguments']['date_argument']['granularity'] = 'week';
454
$handler->display->display_options['arguments']['date_argument']['add_delta'] = 'yes';
455
$handler->display->display_options['arguments']['date_argument']['date_fields'] = $aliases;
456
$handler->display->display_options['arguments']['date_argument']['date_method'] = 'OR';
457
$handler->display->display_options['arguments']['date_argument']['date_group'] = 'date';
458

    
459
$handler->display->display_options['path'] = $path . '/week';
460
$handler->display->display_options['menu']['type'] = 'tab';
461
$handler->display->display_options['menu']['title'] = 'Week';
462
$handler->display->display_options['menu']['weight'] = '2';
463
$handler->display->display_options['menu']['context'] = 0;
464

    
465
/* Display: Day */
466

    
467
$handler = $view->new_display('page', 'Day', 'page_3');
468
$handler->display->display_options['defaults']['pager'] = FALSE;
469
$handler->display->display_options['pager']['type'] = 'date_views_pager';
470
$handler->display->display_options['pager']['options']['date_id'] = 'day';
471
$handler->display->display_options['pager']['options']['pager_position'] = 'top';
472
$handler->display->display_options['pager']['options']['link_format'] = 'clean';
473
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
474
$handler->display->display_options['style_plugin'] = 'calendar_style';
475
$handler->display->display_options['style_options']['calendar_type'] = 'day';
476
$handler->display->display_options['style_options']['name_size'] = '3';
477
$handler->display->display_options['style_options']['mini'] = '0';
478
$handler->display->display_options['style_options']['with_weekno'] = '0';
479
$handler->display->display_options['style_options']['multiday_theme'] = '1';
480
$handler->display->display_options['style_options']['theme_style'] = '1';
481
$handler->display->display_options['style_options']['max_items'] = '0';
482
$handler->display->display_options['style_options']['groupby_times'] = 'hour';
483

    
484
if ($with_colorbox) {
485
$handler->display->display_options['style_options']['multiday_hidden'] = array(
486
  'title' => 'title',
487
  'rendered_entity' => 'rendered_entity',
488
  $field_name => $field_name,
489
);
490
} // End if ($with_colorbox);
491

    
492
$handler->display->display_options['defaults']['style_options'] = FALSE;
493
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
494
$handler->display->display_options['row_plugin'] = 'calendar_entity';
495
$handler->display->display_options['defaults']['row_options'] = FALSE;
496
$handler->display->display_options['defaults']['arguments'] = FALSE;
497

    
498
/* Contextual filter: Date */
499

    
500
$handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
501
$handler->display->display_options['arguments']['date_argument']['table'] = $base_table;
502
$handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
503
$handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
504
$handler->display->display_options['arguments']['date_argument']['default_argument_type'] = 'date';
505
$handler->display->display_options['arguments']['date_argument']['default_argument_skip_url'] = 0;
506
$handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
507
$handler->display->display_options['arguments']['date_argument']['year_range'] = '-3:+3';
508
$handler->display->display_options['arguments']['date_argument']['granularity'] = 'day';
509
$handler->display->display_options['arguments']['date_argument']['add_delta'] = '';
510
$handler->display->display_options['arguments']['date_argument']['date_fields'] = $aliases;
511
$handler->display->display_options['arguments']['date_argument']['date_method'] = 'OR';
512
$handler->display->display_options['arguments']['date_argument']['date_group'] = 'date';
513

    
514
$handler->display->display_options['path'] = $path . '/day';
515
$handler->display->display_options['menu']['type'] = 'tab';
516
$handler->display->display_options['menu']['title'] = 'Day';
517
$handler->display->display_options['menu']['weight'] = '3';
518
$handler->display->display_options['menu']['context'] = 0;
519

    
520
/* Display: Year */
521

    
522
$handler = $view->new_display('page', 'Year', 'page');
523
$handler->display->display_options['defaults']['pager'] = FALSE;
524
$handler->display->display_options['pager']['type'] = 'date_views_pager';
525
$handler->display->display_options['pager']['options']['date_id'] = 'year';
526
$handler->display->display_options['pager']['options']['pager_position'] = 'top';
527
$handler->display->display_options['pager']['options']['link_format'] = 'clean';
528
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
529
$handler->display->display_options['style_plugin'] = 'calendar_style';
530
$handler->display->display_options['style_options']['calendar_type'] = 'year';
531
$handler->display->display_options['style_options']['name_size'] = '1';
532
$handler->display->display_options['style_options']['mini'] = '0';
533
$handler->display->display_options['style_options']['with_weekno'] = '0';
534
$handler->display->display_options['style_options']['multiday_theme'] = '1';
535
$handler->display->display_options['style_options']['theme_style'] = '1';
536
$handler->display->display_options['style_options']['max_items'] = '0';
537
$handler->display->display_options['defaults']['style_options'] = FALSE;
538
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
539
$handler->display->display_options['row_plugin'] = 'calendar_entity';
540
$handler->display->display_options['defaults']['row_options'] = FALSE;
541
$handler->display->display_options['defaults']['arguments'] = FALSE;
542
$handler->display->display_options['defaults']['fields'] = FALSE;
543

    
544
switch ($base_table) {
545

    
546
  case 'node':
547
  case 'node_revision':
548
    $handler->display->display_options['fields']['title']['id'] = 'title';
549
    $handler->display->display_options['fields']['title']['table'] = $base_table;
550
    $handler->display->display_options['fields']['title']['field'] = 'title';
551
    $handler->display->display_options['fields']['title']['label'] = '';
552
    $handler->display->display_options['fields']['title']['exclude'] = $with_colorbox ? 1 : 0;
553
    $handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
554
    $handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
555
    $handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
556
    $handler->display->display_options['fields']['title']['alter']['external'] = 0;
557
    $handler->display->display_options['fields']['title']['alter']['replace_spaces'] = 0;
558
    $handler->display->display_options['fields']['title']['alter']['trim_whitespace'] = 0;
559
    $handler->display->display_options['fields']['title']['alter']['nl2br'] = 0;
560
    $handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0;
561
    $handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0;
562
    $handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
563
    $handler->display->display_options['fields']['title']['alter']['trim'] = 0;
564
    $handler->display->display_options['fields']['title']['alter']['html'] = 0;
565
    $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
566
    $handler->display->display_options['fields']['title']['element_default_classes'] = 1;
567
    $handler->display->display_options['fields']['title']['hide_empty'] = 0;
568
    $handler->display->display_options['fields']['title']['empty_zero'] = 0;
569
    $handler->display->display_options['fields']['title']['hide_alter_empty'] = 0;
570
    $handler->display->display_options['fields']['title']['link_to_node'] = $with_colorbox ? 0 : 1;
571
    break;
572

    
573
  case 'users':
574
    $handler->display->display_options['fields']['name']['id'] = 'name';
575
    $handler->display->display_options['fields']['name']['table'] = 'users';
576
    $handler->display->display_options['fields']['name']['field'] = 'name';
577
    $handler->display->display_options['fields']['name']['label'] = '';
578
    $handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
579
    $handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
580
    $handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
581
    $handler->display->display_options['fields']['name']['alter']['word_boundary'] = 0;
582
    $handler->display->display_options['fields']['name']['alter']['ellipsis'] = 0;
583
    $handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
584
    $handler->display->display_options['fields']['name']['alter']['trim'] = 0;
585
    $handler->display->display_options['fields']['name']['alter']['html'] = 0;
586
    $handler->display->display_options['fields']['name']['hide_empty'] = 0;
587
    $handler->display->display_options['fields']['name']['empty_zero'] = 0;
588
    $handler->display->display_options['fields']['name']['link_to_user'] = 1;
589
    $handler->display->display_options['fields']['name']['overwrite_anonymous'] = 0;
590
  break;
591

    
592
}
593

    
594
/* Date Field */
595

    
596
$handler->display->display_options['fields'][$field_name]['id'] = $field_name;
597
$handler->display->display_options['fields'][$field_name]['table'] = $table;
598
$handler->display->display_options['fields'][$field_name]['field'] = $field_name;
599
$handler->display->display_options['fields'][$field_name]['label'] = '';
600
$handler->display->display_options['fields'][$field_name]['alter']['alter_text'] = 0;
601
$handler->display->display_options['fields'][$field_name]['alter']['make_link'] = 0;
602
$handler->display->display_options['fields'][$field_name]['alter']['absolute'] = 0;
603
$handler->display->display_options['fields'][$field_name]['alter']['external'] = 0;
604
$handler->display->display_options['fields'][$field_name]['alter']['replace_spaces'] = 0;
605
$handler->display->display_options['fields'][$field_name]['alter']['trim_whitespace'] = 0;
606
$handler->display->display_options['fields'][$field_name]['alter']['nl2br'] = 0;
607
$handler->display->display_options['fields'][$field_name]['alter']['word_boundary'] = 1;
608
$handler->display->display_options['fields'][$field_name]['alter']['ellipsis'] = 1;
609
$handler->display->display_options['fields'][$field_name]['alter']['strip_tags'] = 0;
610
$handler->display->display_options['fields'][$field_name]['alter']['trim'] = 0;
611
$handler->display->display_options['fields'][$field_name]['alter']['html'] = 0;
612
$handler->display->display_options['fields'][$field_name]['element_label_colon'] = FALSE;
613
$handler->display->display_options['fields'][$field_name]['element_default_classes'] = 1;
614
$handler->display->display_options['fields'][$field_name]['hide_empty'] = 0;
615
$handler->display->display_options['fields'][$field_name]['empty_zero'] = 0;
616
$handler->display->display_options['fields'][$field_name]['hide_alter_empty'] = 0;
617

    
618
if ($is_field) {
619
  $handler->display->display_options['fields'][$field_name]['settings'] = array(
620
    'format_type' => 'short',
621
    'fromto' => 'both',
622
    'multiple_number' => '',
623
    'multiple_from' => '',
624
    'multiple_to' => '',
625
    'show_repeat_rule' => '',
626
  );
627
  $handler->display->display_options['fields'][$field_name]['group_rows'] = 0;
628
  $handler->display->display_options['fields'][$field_name]['delta_offset'] = '0';
629
  $handler->display->display_options['fields'][$field_name]['delta_reversed'] = 0;
630
  $handler->display->display_options['fields'][$field_name]['field_api_classes'] = 0;
631
}
632

    
633
/* Contextual filter: Date */
634

    
635
$handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
636
$handler->display->display_options['arguments']['date_argument']['table'] = $base_table;
637
$handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
638
$handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
639
$handler->display->display_options['arguments']['date_argument']['default_argument_type'] = 'date';
640
$handler->display->display_options['arguments']['date_argument']['default_argument_skip_url'] = 0;
641
$handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
642
$handler->display->display_options['arguments']['date_argument']['year_range'] = '-3:+3';
643
$handler->display->display_options['arguments']['date_argument']['granularity'] = 'year';
644
$handler->display->display_options['arguments']['date_argument']['add_delta'] = 'yes';
645
$handler->display->display_options['arguments']['date_argument']['date_fields'] = $aliases;
646
$handler->display->display_options['arguments']['date_argument']['date_method'] = 'OR';
647
$handler->display->display_options['arguments']['date_argument']['date_group'] = 'date';
648

    
649
$handler->display->display_options['path'] = $path . '/year';
650
$handler->display->display_options['menu']['type'] = 'tab';
651
$handler->display->display_options['menu']['title'] = 'Year';
652
$handler->display->display_options['menu']['weight'] = '4';
653
$handler->display->display_options['menu']['context'] = 0;
654

    
655
/* Display: Block */
656

    
657
$handler = $view->new_display('block', 'Block', 'block_1');
658
$handler->display->display_options['defaults']['use_ajax'] = FALSE;
659
$handler->display->display_options['use_ajax'] = TRUE;
660
$handler->display->display_options['defaults']['pager'] = FALSE;
661
$handler->display->display_options['pager']['type'] = 'date_views_pager';
662
$handler->display->display_options['pager']['options']['date_id'] = 'mini';
663
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
664
$handler->display->display_options['style_plugin'] = 'calendar_style';
665
$handler->display->display_options['style_options']['calendar_type'] = 'month';
666
$handler->display->display_options['style_options']['name_size'] = '1';
667
$handler->display->display_options['style_options']['mini'] = '1';
668
$handler->display->display_options['style_options']['with_weekno'] = '0';
669
$handler->display->display_options['style_options']['multiday_theme'] = '1';
670
$handler->display->display_options['style_options']['theme_style'] = '1';
671
$handler->display->display_options['style_options']['max_items'] = '0';
672
$handler->display->display_options['defaults']['style_options'] = FALSE;
673
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
674
$handler->display->display_options['row_plugin'] = 'calendar_entity';
675
$handler->display->display_options['defaults']['row_options'] = FALSE;
676
$handler->display->display_options['defaults']['arguments'] = FALSE;
677

    
678
/* Contextual filter: Date */
679

    
680
$handler->display->display_options['arguments']['date_argument']['id'] = 'date_argument';
681
$handler->display->display_options['arguments']['date_argument']['table'] = $base_table;
682
$handler->display->display_options['arguments']['date_argument']['field'] = 'date_argument';
683
$handler->display->display_options['arguments']['date_argument']['default_action'] = 'default';
684
$handler->display->display_options['arguments']['date_argument']['default_argument_type'] = 'date';
685
$handler->display->display_options['arguments']['date_argument']['default_argument_skip_url'] = 0;
686
$handler->display->display_options['arguments']['date_argument']['summary']['format'] = 'default_summary';
687
$handler->display->display_options['arguments']['date_argument']['year_range'] = '-3:+3';
688
$handler->display->display_options['arguments']['date_argument']['granularity'] = 'month';
689
$handler->display->display_options['arguments']['date_argument']['add_delta'] = 'yes';
690
$handler->display->display_options['arguments']['date_argument']['date_fields'] = $aliases;
691
$handler->display->display_options['arguments']['date_argument']['date_method'] = 'OR';
692
$handler->display->display_options['arguments']['date_argument']['date_group'] = 'date';
693

    
694
if ($with_ical) {
695

    
696
/* Display: iCal */
697

    
698
$handler = $view->new_display('feed', 'iCal', 'feed_1');
699
$handler->display->display_options['pager']['type'] = 'some';
700
$handler->display->display_options['style_plugin'] = 'date_ical';
701
$handler->display->display_options['row_plugin'] = 'date_ical';
702
$handler->display->display_options['row_options']['date_field'] = $alias;
703
$handler->display->display_options['defaults']['filters'] = FALSE;
704

    
705
/* Filter criterion: Content: Published */
706

    
707
switch ($base_table) {
708

    
709
  case 'node':
710
    $handler->display->display_options['filters']['status']['id'] = 'status';
711
    $handler->display->display_options['filters']['status']['table'] = $base_table;
712
    $handler->display->display_options['filters']['status']['field'] = 'status';
713
    $handler->display->display_options['filters']['status']['value'] = 1;
714
    $handler->display->display_options['filters']['status']['group'] = 0;
715
    $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
716
    break;
717
}
718

    
719
/* Filter criterion: Date */
720

    
721
$handler->display->display_options['filters']['date_filter']['id'] = 'date_filter';
722
$handler->display->display_options['filters']['date_filter']['table'] = $base_table;
723
$handler->display->display_options['filters']['date_filter']['field'] = 'date_filter';
724
$handler->display->display_options['filters']['date_filter']['operator'] = '>=';
725
$handler->display->display_options['filters']['date_filter']['granularity'] = 'day';
726
$handler->display->display_options['filters']['date_filter']['form_type'] = 'date_select';
727
$handler->display->display_options['filters']['date_filter']['default_date'] = 'now';
728
$handler->display->display_options['filters']['date_filter']['default_to_date'] = '';
729
$handler->display->display_options['filters']['date_filter']['year_range'] = '-3:+3';
730
$handler->display->display_options['filters']['date_filter']['add_delta'] = 'yes';
731
$handler->display->display_options['filters']['date_filter']['date_fields'] = $aliases;
732
$handler->display->display_options['filters']['date_filter']['date_method'] = 'OR';
733
$handler->display->display_options['filters']['date_filter']['date_group'] = 'date';
734
$handler->display->display_options['path'] = $path . '/ical/%/calendar.ics';
735
$handler->display->display_options['displays'] = array(
736
  'page' => 'page',
737
  'page_1' => 'page_1',
738
  'page_2' => 'page_2',
739
  'page_3' => 'page_3',
740
  'block_1' => 'block_1',
741
  'block_2' => 'block_2',
742
  'default' => 0,
743
);
744

    
745
} // End if($with_ical);
746

    
747
/* Display: Upcoming */
748

    
749
$handler = $view->new_display('block', 'Upcoming', 'block_2');
750
$handler->display->display_options['display_description'] = 'Upcoming events block';
751
$handler->display->display_options['defaults']['use_more'] = FALSE;
752
$handler->display->display_options['use_more'] = TRUE;
753
$handler->display->display_options['use_more_always'] = TRUE;
754
$handler->display->display_options['defaults']['pager'] = FALSE;
755
$handler->display->display_options['pager']['type'] = 'some';
756
$handler->display->display_options['pager']['options']['items_per_page'] = '5';
757
$handler->display->display_options['pager']['options']['offset'] = '0';
758
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
759
$handler->display->display_options['style_plugin'] = 'list';
760
$handler->display->display_options['defaults']['style_options'] = FALSE;
761
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
762
$handler->display->display_options['row_plugin'] = 'fields';
763
$handler->display->display_options['row_options']['links'] = 1;
764
$handler->display->display_options['row_options']['comments'] = 0;
765
$handler->display->display_options['defaults']['row_options'] = FALSE;
766
$handler->display->display_options['defaults']['filters'] = FALSE;
767

    
768
/* Filter criterion: Content: Published */
769

    
770
switch ($base_table) {
771

    
772
  case 'node':
773

    
774
    $handler->display->display_options['filters']['status']['id'] = 'status';
775
    $handler->display->display_options['filters']['status']['table'] = $base_table;
776
    $handler->display->display_options['filters']['status']['field'] = 'status';
777
    $handler->display->display_options['filters']['status']['value'] = 1;
778
    $handler->display->display_options['filters']['status']['group'] = 0;
779
    $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
780
    break;
781
}
782

    
783
/* Filter criterion: Date */
784

    
785
$handler->display->display_options['filters']['date_filter']['id'] = 'date_filter';
786
$handler->display->display_options['filters']['date_filter']['table'] = $base_table;
787
$handler->display->display_options['filters']['date_filter']['field'] = 'date_filter';
788
$handler->display->display_options['filters']['date_filter']['operator'] = '>=';
789
$handler->display->display_options['filters']['date_filter']['granularity'] = 'day';
790
$handler->display->display_options['filters']['date_filter']['form_type'] = 'date_select';
791
$handler->display->display_options['filters']['date_filter']['default_date'] = 'now';
792
$handler->display->display_options['filters']['date_filter']['default_to_date'] = '';
793
$handler->display->display_options['filters']['date_filter']['year_range'] = '-3:+3';
794
$handler->display->display_options['filters']['date_filter']['add_delta'] = 'yes';
795
$handler->display->display_options['filters']['date_filter']['date_fields'] = $aliases;
796
$handler->display->display_options['filters']['date_filter']['date_method'] = 'OR';
797
$handler->display->display_options['filters']['date_filter']['date_group'] = 'date';
798

    
799
$translatables[$name] = array(
800
  t('Master'),
801
  t($name),
802
  t('more'),
803
  t('Apply'),
804
  t('Reset'),
805
  t('Sort by'),
806
  t('Asc'),
807
  t('Desc'),
808
  t('Year'),
809
  t('All'),
810
  t('Month'),
811
  t('Week'),
812
  t('Day'),
813
  t('Block'),
814
  t('iCal'),
815
  t('Upcoming'),
816
  t('Upcoming events block'),
817
);
818

    
819

    
820
return $view;
821

    
822
}