You are here

function event_views_views_default_views in Event Views 5.2

Same name and namespace in other branches
  1. 5 event_views.module \event_views_views_default_views()
  2. 6.2 event_views.module \event_views_views_default_views()

Implementation of hook_views_default_views() Create default event views

File

./event_views.module, line 334
Views-enables the event module.

Code

function event_views_views_default_views() {

  // avoid miscellaneous problems by forcing the cache to clear before creating a default view
  views_invalidate_cache();
  $event_node_types = array_merge(event_get_types('all'), event_get_types('solo'));
  $view = new stdClass();
  $view->name = t('event_select');
  $view->description = t('Events list filtered by drop-down date selector.');
  $view->disabled = TRUE;
  $view->access = array();
  $view->view_args_php = '';
  $view->page = TRUE;
  $view->page_title = t('event list');
  $view->page_header = '';
  $view->page_header_format = '1';
  $view->page_footer = '';
  $view->page_footer_format = '1';
  $view->page_empty = '';
  $view->page_empty_format = '1';
  $view->page_type = 'table';
  $view->url = 'event/select';
  $view->use_pager = TRUE;
  $view->nodes_per_page = '10';
  $view->menu = FALSE;
  $view->menu_title = '';
  $view->menu_tab = FALSE;
  $view->menu_tab_default = FALSE;
  $view->menu_weight = '';
  $view->sort = array();
  $view->argument = array();
  $view->field = array(
    array(
      'tablename' => 'node',
      'field' => 'title',
      'label' => t('Title'),
      'handler' => 'views_handler_field_nodelink',
      'sortable' => '1',
    ),
    array(
      'tablename' => 'event',
      'field' => 'event_start',
      'label' => t('Start Time:'),
      'handler' => 'views_handler_field_date_small_iso',
      'sortable' => '1',
    ),
    array(
      'tablename' => 'event',
      'field' => 'event_end',
      'label' => t('End Time:'),
      'handler' => 'views_handler_field_date_small_iso',
      'sortable' => '1',
    ),
  );
  $view->filter = array(
    array(
      'tablename' => 'node',
      'field' => 'status',
      'operator' => '=',
      'options' => '',
      'value' => '1',
    ),
    array(
      'tablename' => 'node',
      'field' => 'type',
      'operator' => 'OR',
      'options' => '',
      'value' => $event_node_types,
    ),
    array(
      'tablename' => 'event',
      'field' => 'year',
      'operator' => '=',
      'options' => '',
      'value' => '***CURRENT_DATETIME***',
    ),
    array(
      'tablename' => 'event',
      'field' => 'month',
      'operator' => '>=',
      'options' => '',
      'value' => '***CURRENT_DATETIME***',
    ),
    array(
      'tablename' => 'event',
      'field' => 'day',
      'operator' => '>=',
      'options' => '',
      'value' => '1',
    ),
  );
  $view->exposed_filter = array(
    array(
      'tablename' => 'event',
      'field' => 'year',
      'label' => t('Start Year:'),
      'optional' => 0,
      'is_default' => 0,
      'operator' => 0,
      'single' => 0,
    ),
    array(
      'tablename' => 'event',
      'field' => 'month',
      'label' => t('Start Month:'),
      'optional' => 0,
      'is_default' => 0,
      'operator' => 0,
      'single' => 0,
    ),
    array(
      'tablename' => 'event',
      'field' => 'day',
      'label' => t('Start Day:'),
      'optional' => 0,
      'is_default' => 0,
      'operator' => 0,
      'single' => 0,
    ),
  );
  $view->requires = array(
    'node',
    'event',
  );
  $views[$view->name] = $view;
  $view = new stdClass();
  $view->name = t('event_js');
  $view->description = t('Events list filtered by js date selector.');
  $view->disabled = TRUE;
  $view->access = array();
  $view->view_args_php = '';
  $view->page = TRUE;
  $view->page_title = t('event list');
  $view->page_header = '';
  $view->page_header_format = '1';
  $view->page_footer = '';
  $view->page_footer_format = '1';
  $view->page_empty = '';
  $view->page_empty_format = '1';
  $view->page_type = 'table';
  $view->url = 'event/selector';
  $view->use_pager = TRUE;
  $view->nodes_per_page = '10';
  $view->menu = FALSE;
  $view->menu_title = '';
  $view->menu_tab = FALSE;
  $view->menu_tab_default = FALSE;
  $view->menu_weight = '';
  $view->sort = array();
  $view->argument = array();
  $view->field = array(
    array(
      'tablename' => 'node',
      'field' => 'title',
      'label' => t('Title'),
      'handler' => 'views_handler_field_nodelink',
      'sortable' => '1',
    ),
    array(
      'tablename' => 'event',
      'field' => 'event_start',
      'label' => t('Start Time:'),
      'handler' => 'views_handler_field_date_small_iso',
      'sortable' => '1',
    ),
    array(
      'tablename' => 'event',
      'field' => 'event_end',
      'label' => t('End Time:'),
      'handler' => 'views_handler_field_date_small_iso',
      'sortable' => '1',
    ),
  );
  $view->filter = array(
    array(
      'tablename' => 'node',
      'field' => 'status',
      'operator' => '=',
      'options' => '',
      'value' => '1',
    ),
    array(
      'tablename' => 'node',
      'field' => 'type',
      'operator' => 'OR',
      'options' => '',
      'value' => $event_node_types,
    ),
    array(
      'tablename' => 'event',
      'field' => 'event_start',
      'operator' => '>',
      'options' => '',
      'value' => 'now',
    ),
    array(
      'tablename' => 'event',
      'field' => 'event_end',
      'operator' => '>',
      'options' => '',
      'value' => 'now',
    ),
  );
  $view->exposed_filter = array(
    array(
      'tablename' => 'event',
      'field' => 'event_start',
      'label' => t('Start Date'),
      'optional' => 0,
      'is_default' => 0,
      'operator' => 0,
      'single' => 0,
    ),
    array(
      'tablename' => 'event',
      'field' => 'event_end',
      'label' => t('End Date'),
      'optional' => 0,
      'is_default' => 0,
      'operator' => 0,
      'single' => 0,
    ),
  );
  $view->requires = array(
    'node',
    'event',
  );
  $views[$view->name] = $view;
  $view = new stdClass();
  $view->name = t('event_date');
  $view->description = t('Events list filtered by url arguments.');
  $view->disabled = TRUE;
  $view->access = array();
  $view->view_args_php = '';
  $view->page = TRUE;
  $view->page_title = t('event list');
  $view->page_header = '';
  $view->page_header_format = '1';
  $view->page_footer = '';
  $view->page_footer_format = '1';
  $view->page_empty = '';
  $view->page_empty_format = '1';
  $view->page_type = 'table';
  $view->url = 'event/date';
  $view->use_pager = TRUE;
  $view->nodes_per_page = '10';
  $view->menu = FALSE;
  $view->menu_title = '';
  $view->menu_tab = FALSE;
  $view->menu_tab_default = FALSE;
  $view->menu_weight = '';
  $view->sort = array();
  $view->argument = array();
  $view->field = array(
    array(
      'tablename' => 'node',
      'field' => 'title',
      'label' => t('Title'),
      'handler' => 'views_handler_field_nodelink',
      'sortable' => '1',
    ),
    array(
      'tablename' => 'event',
      'field' => 'event_start',
      'label' => t('Start Time:'),
      'handler' => 'views_handler_field_date_small_iso',
      'sortable' => '1',
    ),
    array(
      'tablename' => 'event',
      'field' => 'event_end',
      'label' => t('End Time:'),
      'handler' => 'views_handler_field_date_small_iso',
      'sortable' => '1',
    ),
  );
  $view->filter = array(
    array(
      'tablename' => 'node',
      'field' => 'status',
      'operator' => '=',
      'options' => '',
      'value' => '1',
    ),
    array(
      'tablename' => 'node',
      'field' => 'type',
      'operator' => 'OR',
      'options' => '',
      'value' => $event_node_types,
    ),
  );
  $view->exposed_filter = array();
  $view->argument = array(
    array(
      'type' => 'event_year',
      'argdefault' => '6',
      'title' => t('Year'),
      'options' => '',
    ),
    array(
      'type' => 'event_month',
      'argdefault' => '6',
      'title' => t('Month'),
      'options' => '',
    ),
    array(
      'type' => 'event_day',
      'argdefault' => '6',
      'title' => t('Day'),
      'options' => '',
    ),
  );
  $view->requires = array(
    'node',
    'event',
  );
  $views[$view->name] = $view;
  return $views;
}