Advertisement
Guest User

Untitled

a guest
Oct 24th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. function hook_views_data() {
  2.  
  3. $data['users'] = array(
  4. 'downloads' => array(
  5. 'title' => t('Downloads'),
  6. 'field' => array(
  7. 'handler' => 'views_handler_field_numeric',
  8. 'click sortable' => TRUE,
  9. ),
  10. 'filter' => array(
  11. 'handler' => 'views_handler_filter_numeric',
  12. ),
  13. 'sort' => array(
  14. 'handler' => 'views_handler_sort',
  15. ),
  16. ),
  17. 'listens' => array(
  18. 'title' => t('Listens'),
  19. 'field' => array(
  20. 'handler' => 'views_handler_field_numeric',
  21. 'click sortable' => TRUE,
  22. ),
  23. 'filter' => array(
  24. 'handler' => 'views_handler_filter_numeric',
  25. ),
  26. 'sort' => array(
  27. 'handler' => 'views_handler_sort',
  28. ),
  29. )
  30. ),
  31. );
  32.  
  33. function mta_views_query_alter(&$view, &$query) {
  34.  
  35. foreach ($query->fields as $field_key => &$field_values) {
  36. if ($field_values['table'] == 'users') {
  37.  
  38. switch ($field_values['field']) {
  39. case 'downloads':
  40. unset($query->fields[$field_key]);
  41. $query->add_field(null, "(SELECT COUNT(*) FROM {fileusage} fu WHERE fu.externaluser = {users}.uid AND fu.action = 0)", $field_key);
  42. break;
  43. case 'listens':
  44. unset($query->fields[$field_key]);
  45. $query->add_field(null, "(SELECT COUNT(*) FROM {fileusage} fu WHERE fu.externaluser = {users}.uid AND fu.action = 1)", $field_key);
  46. break;
  47. }
  48. }
  49. }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement