function oa_events_field_add_to_calendar_markup in Open Atrium Events 7.2
Create Addthis Event calendar markup.
1 call to oa_events_field_add_to_calendar_markup()
- oa_events_field_formatter_view in ./
oa_events.module - Implements hook_field_formatter_view().
File
- ./
oa_events.module, line 61 - Code for the OA Events feature.
Code
function oa_events_field_add_to_calendar_markup($nid, $items, $title = 'Add to Calendar') {
static $date_field_info = FALSE;
static $date_field_instance = FALSE;
drupal_add_css(drupal_get_path('module', 'oa_events') . '/css/addthisevent.css');
drupal_add_js(drupal_get_path('module', 'oa_events') . '/js/atemay.js');
$node = node_load($nid);
if (false === $date_field_info) {
$date_field_info = field_info_field('field_event_date');
$date_field_instance = field_info_instance('node', 'field_event_date', $node->type);
}
$event_info = oa_events_find_next_event($items);
$date = $event_info['event'];
$date_field_date1 = new DateObject($date['value'], $date['timezone_db'], DATE_FORMAT_UNIX);
$date_field_date2 = new DateObject($date['value2'], $date['timezone_db'], DATE_FORMAT_UNIX);
$link_content = $title;
$event_url = url('node/' . $node->nid, array(
'absolute' => TRUE,
));
$description_language = field_language('node', $node, 'body');
$description = !empty($node->body[$description_language][0]['safe_value']) ? strip_tags($node->body[$description_language][0]['safe_value']) : '';
$location_language = field_language('node', $node, 'body');
$location = !empty($node->field_oa_address[$location_language][0]['safe_value']) ? strip_tags($node->field_oa_address[$location_language][0]['safe_value']) : '';
$alldayevent = date_is_all_day(date(DATE_FORMAT_DATETIME, $date['value']), date(DATE_FORMAT_DATETIME, $date['value2'])) ? 'true' : 'false';
$spans = array(
'_url' => $event_url,
'_start' => date_format_date($date_field_date1, 'custom', 'm-d-Y H:i:s'),
'_end' => date_format_date($date_field_date2, 'custom', 'm-d-Y H:i:s'),
'_zonecode' => '35',
// UTC
'_summary' => check_plain($node->title),
'_description' => $description,
'_location' => $location,
'_all_day_event' => $alldayevent,
'_date_format' => variable_get('oa_events_date_format', OA_EVENTS_DATE_FORMAT),
);
foreach ($spans as $span_class => $span_value) {
$link_content .= '<span class="' . $span_class . '">' . $span_value . '</span>';
}
return l($link_content, $event_url, array(
'attributes' => array(
'class' => 'addthisevent',
'title' => t('Add to Calendar'),
),
'html' => TRUE,
));
}