index.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. /**
  3. * Members index
  4. *
  5. */
  6. $num_members = get_number_users();
  7. $title = elgg_echo('members');
  8. $options = array('type' => 'user', 'full_view' => false);
  9. switch ($vars['page']) {
  10. case 'popular':
  11. $options['relationship'] = 'friend';
  12. $options['inverse_relationship'] = false;
  13. $content = elgg_list_entities_from_relationship_count($options);
  14. break;
  15. case 'online':
  16. $content = get_online_users();
  17. break;
  18. case 'avatar':
  19. $options['limit'] = 70;
  20. $options['metadata_names'] = 'icontime';
  21. $options['list_type'] = "gallery";
  22. $options['gallery_class'] = "elgg-gallery-users";
  23. $options['size'] = 'small';
  24. $content = "<center>".elgg_list_entities_from_metadata($options)."</center>";
  25. break;
  26. case 'banned':
  27. admin_gatekeeper();
  28. $db_prefix = elgg_get_config('dbprefix');
  29. $joins = array("INNER JOIN {$db_prefix}users_entity u on e.guid = u.guid",);
  30. $options['joins'] = $joins;
  31. $options['wheres'] = array("u.banned='yes'");
  32. $content = elgg_list_entities_from_metadata($options);
  33. break;
  34. case 'today':
  35. $db_prefix = elgg_get_config('dbprefix');
  36. $joins = array("JOIN {$db_prefix}users_entity u on e.guid = u.guid");
  37. $time = time() - 86400;
  38. $options['joins'] = $joins;
  39. $options['wheres'] = "u.last_action >= {$time}";
  40. $options['order_by'] = "u.last_action DESC";
  41. $content = elgg_list_entities_from_metadata($options);
  42. break;
  43. case 'week':
  44. $db_prefix = elgg_get_config('dbprefix');
  45. $joins = array("JOIN {$db_prefix}users_entity u on e.guid = u.guid");
  46. $time = time() - 604800;
  47. $options['joins'] = $joins;
  48. $options['wheres'] = "u.last_action >= {$time}";
  49. $options['order_by'] = "u.last_action DESC";
  50. $content = elgg_list_entities_from_metadata($options);
  51. break;
  52. /*
  53. case 'month':
  54. $db_prefix = elgg_get_config('dbprefix');
  55. $joins = array("JOIN {$db_prefix}users_entity u on e.guid = u.guid");
  56. $time = time() - 18144000;
  57. $group_options["order_by"] = "u.name ASC";
  58. $options['joins'] = $joins;
  59. $options['wheres'] = "u.last_action >= {$time}";
  60. //$options['limit'] = false;
  61. //$options['pagination'] = false;
  62. //$options['list_type'] = "gallery";
  63. //$options['gallery_class'] = "elgg-gallery-users";
  64. //$options['size'] = 'tiny';
  65. $content = elgg_list_entities_from_metadata($options);
  66. break;
  67. */
  68. case 'name':
  69. $db_prefix = elgg_get_config('dbprefix');
  70. $joins = array("JOIN {$db_prefix}users_entity u on e.guid = u.guid");
  71. $options['joins'] = $joins;
  72. $options['order_by'] = "u.name ASC";
  73. $content = elgg_list_entities_from_metadata($options);
  74. break;
  75. case 'newest':
  76. default:
  77. $content = elgg_list_entities($options);
  78. break;
  79. }
  80. $params = array(
  81. 'content' => $content,
  82. 'sidebar' => elgg_view('members/sidebar'),
  83. 'title' => $title . " ($num_members)",
  84. 'filter_override' => elgg_view('members/nav', array('selected' => $vars['page'])),
  85. );
  86. $body = elgg_view_layout('content', $params);
  87. echo elgg_view_page($title, $body);