forked from pdrakeweb/Drupal-FullCalendar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
views_plugin_node_fullcalendar.inc
52 lines (47 loc) · 2.15 KB
/
views_plugin_node_fullcalendar.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
// $Id$
/**
* @file
* Contains the node view row style plugin.
*/
/**
* Plugin which performs a node_view on the resulting object.
*
* Most of the code on this object is in the theme function.
*/
class views_plugin_node_fullcalendar extends views_plugin_row {
// Basic properties that let the row style follow relationships.
var $base_table = 'node';
var $base_field = 'nid';
function option_definition() {
$options = parent::option_definition();
$options['fullcalendar_url_field'] = array('default' => '');
$options['fullcalendar_date_fields'] = array('default' => '');
$options['fullcalendar_title_field'] = array('default' => '');
return $options;
}
function options_form(&$form, &$form_state) {
parent::options_form($form, $form_state);
$form['fullcalendar_date_fields'] = array(
'#type' => 'textarea',
'#title' => t('Date Fields'),
'#default_value' => $this->options['fullcalendar_date_fields'],
'#description' => t('Normally this plugin uses the first node field that is either a date or a datetime field type. However, if you wish to override this behavior, please enter the names of the fields to use instead. For example "field_scheduled_for". Enter one per line. They will be searched in the order listed. Enter "created" or "changed" to use the respective node timestamps.'),
);
$form['fullcalendar_title_field'] = array(
'#type' => 'textfield',
'#title' => t('Title Field'),
'#default_value' => $this->options['fullcalendar_title_field'],
'#description' => t('The title of the event to be displayed. If blank, the node title will be used. For example: "field_event_title".'),
);
$form['fullcalendar_url_field'] = array(
'#type' => 'textfield',
'#title' => t('URL Field'),
'#default_value' => $this->options['fullcalendar_url_field'],
'#description' => t('If the calendar items should not link directly to the node, enter the name of the cck field to use for the url instead. For example: "field_url".'),
);
}
function render($row) {
return theme($this->theme_functions(), $this->view, $this->options, $row, $this->field_alias);
}
}