Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function hook_views_data() {
- $data['users'] = array(
- 'downloads' => array(
- 'title' => t('Downloads'),
- 'field' => array(
- 'handler' => 'views_handler_field_numeric',
- 'click sortable' => TRUE,
- ),
- 'filter' => array(
- 'handler' => 'views_handler_filter_numeric',
- ),
- 'sort' => array(
- 'handler' => 'views_handler_sort',
- ),
- ),
- 'listens' => array(
- 'title' => t('Listens'),
- 'field' => array(
- 'handler' => 'views_handler_field_numeric',
- 'click sortable' => TRUE,
- ),
- 'filter' => array(
- 'handler' => 'views_handler_filter_numeric',
- ),
- 'sort' => array(
- 'handler' => 'views_handler_sort',
- ),
- )
- ),
- );
- function mta_views_query_alter(&$view, &$query) {
- foreach ($query->fields as $field_key => &$field_values) {
- if ($field_values['table'] == 'users') {
- switch ($field_values['field']) {
- case 'downloads':
- unset($query->fields[$field_key]);
- $query->add_field(null, "(SELECT COUNT(*) FROM {fileusage} fu WHERE fu.externaluser = {users}.uid AND fu.action = 0)", $field_key);
- break;
- case 'listens':
- unset($query->fields[$field_key]);
- $query->add_field(null, "(SELECT COUNT(*) FROM {fileusage} fu WHERE fu.externaluser = {users}.uid AND fu.action = 1)", $field_key);
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement