1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- /**
- * Implementation of hook_views_api().
- *
- * This one is used as the base to reduce errors when updating.
- */
- function calendar_ical_views_api() {
- return array(
- 'api' => 2,
- 'path' => drupal_get_path('module', 'calendar_ical'),
- );
- }
- /**
- * @file
- * Adds ical functionality to Calendar.
- */
- function calendar_ical_theme() {
- return array(
- 'calendar_ical_icon' => array(
- 'variables' => array('url'),
- ),
- );
- }
- function theme_calendar_ical_icon($vars) {
- $url = $vars['url'];
- $variables = array(
- 'path' => drupal_get_path('module', 'date_api') . '/images/ical16x16.gif',
- 'title' => t('Add to calendar'), t('Add to calendar'),
- );
- if ($image = theme('image', $variables)) {
- return '<div style="text-align:right"><a href="' . check_url($url) . '" class="ical-icon" title="ical">' . $image . '</a></div>';
- }
- }
- /**
- * Implements hook_entity_info_alter().
- *
- * Add an 'iCal' view mode for nodes, similar to RSS view mode.
- */
- function calendar_ical_entity_info_alter(&$info) {
- $info['node']['view modes'] += array(
- 'ical' => array(
- 'label' => t('iCal'),
- 'custom settings' => FALSE,
- ),
- );
- }
- /**
- * Implementation of hook_views_plugins
- */
- function calendar_ical_views_plugins() {
- $module_path = drupal_get_path('module', 'calendar_ical');
- module_load_include('inc', 'calendar_ical', 'theme.inc');
- $data = array(
- 'module' => 'calendar_ical', // This just tells our themes are elsewhere.
- 'style' => array(
- 'ical' => array(
- 'title' => t('DEPRECATED iCal Feed'),
- 'help' => t('Generates an iCal VCALENDAR feed from a view.'),
- 'handler' => 'calendar_plugin_style_ical',
- 'path' => "$module_path",
- 'theme' => 'calendar_style_ical',
- 'theme file' => 'theme.inc',
- 'theme path' => "$module_path",
- 'uses fields' => TRUE,
- 'uses grouping' => FALSE,
- 'uses row plugin' => TRUE,
- 'uses options' => TRUE,
- 'type' => 'feed',
- 'even empty' => TRUE,
- ),
- ),
- 'row' => array(
- 'ical_node' => array(
- 'title' => t('DEPRECATED iCal Fields'),
- 'help' => t('Display each node as an iCal VEVENT item.'),
- 'handler' => 'calendar_plugin_row_ical_node',
- 'path' => "$module_path",
- 'theme' => 'calendar_row_ical_node',
- 'theme file' => 'theme.inc',
- 'theme path' => "$module_path",
- 'base' => array('node'), // only works with 'node' as base.
- 'uses options' => TRUE,
- 'uses fields' => FALSE,
- 'type' => 'feed',
- ),
- ),
- );
- return $data;
- }
|