function votingapi_views_data in Voting API 7.2
Same name and namespace in other branches
- 6.2 views/votingapi.views.inc \votingapi_views_data()
- 7.3 views/votingapi.views.inc \votingapi_views_data()
Implements of hook_views_data().
Related topics
File
- views/
votingapi.views.inc, line 41 - Provide views data for votingapi.module.
Code
function votingapi_views_data() {
// Basic table information.
// Define the base group of this table. Fields that don't
// have a group defined will go into this field by default.
$data['votingapi_vote']['table']['group'] = t('Votes');
$data['votingapi_cache']['table']['group'] = t('Vote results');
// ----------------------------------------------------------------
// Fields
// value
$data['votingapi_vote']['value'] = array(
'title' => t('Value'),
// The item it appears as on the UI,
'help' => t('The value of an individual cast vote.'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'votingapi_views_handler_field_value',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_numeric',
'allow empty' => TRUE,
),
'sort' => array(
'handler' => 'votingapi_views_handler_sort_nullable',
),
);
// value type
$data['votingapi_vote']['value_type'] = array(
'title' => t('Value type'),
// The item it appears as on the UI,
'help' => t('The nature of the vote being cast (points, percentage, etc).'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// tag
$data['votingapi_vote']['tag'] = array(
'title' => t('Tag'),
// The item it appears as on the UI,
'help' => t('An optional tag to group multi-criteria votes.'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// uid
$data['votingapi_vote']['uid'] = array(
'title' => t('User'),
// The item it appears as on the UI,
'help' => t('The user who cast the vote.'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'views_handler_field_user',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_user_name',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'argument' => array(
'handler' => 'views_handler_argument_user_uid',
),
'relationship' => array(
'handler' => 'views_handler_relationship',
'base' => 'users',
'field' => 'uid',
'label' => t('Individual voter'),
),
);
// uid
$data['votingapi_vote']['current_uid'] = array(
'title' => t('Current user'),
// The item it appears as on the UI,
'help' => t('Restrict votes to those cast by the current user.'),
// The help that appears on the UI,
'real field' => 'uid',
'filter' => array(
'handler' => 'views_handler_filter_user_current',
),
);
// vote_source
$data['votingapi_vote']['vote_source'] = array(
'title' => t('IP Address'),
// The item it appears as on the UI,
'help' => t('The IP address hash of the user who cast the vote.'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// timestamp
$data['votingapi_vote']['timestamp'] = array(
'title' => t('Timestamp'),
// The item it appears as on the UI,
'help' => t('The time the vote was cast.'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'views_handler_field_date',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_date',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// Cache table fields
// value
$data['votingapi_cache']['value'] = array(
'title' => t('Value'),
// The item it appears as on the UI,
'help' => t('The value of an individual cast vote.'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'votingapi_views_handler_field_value',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_numeric',
'allow empty' => TRUE,
),
'sort' => array(
'handler' => 'votingapi_views_handler_sort_nullable',
),
);
// value type
$data['votingapi_cache']['value_type'] = array(
'title' => t('Value type'),
// The item it appears as on the UI,
'help' => t('The nature of the results in question (points, percentage, etc).'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// tag
$data['votingapi_cache']['tag'] = array(
'title' => t('Tag'),
// The item it appears as on the UI,
'help' => t('An optional tag to group multi-criteria results.'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// function
$data['votingapi_cache']['function'] = array(
'title' => t('Function'),
// The item it appears as on the UI,
'help' => t('The aggregate function used to calculate the result.'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// timestamp
$data['votingapi_cache']['timestamp'] = array(
'title' => t('Timestamp'),
// The item it appears as on the UI,
'help' => t('The time the results were calculated.'),
// The help that appears on the UI,
// Information for displaying a title as a field
'field' => array(
'handler' => 'views_handler_field_date',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_date',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
return $data;
}