123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- <?php
- elgg_register_event_handler('init', 'system', 'members_init');
- function members_init() {
- elgg_register_page_handler('members', 'members_page_handler');
- $item = new ElggMenuItem('members', elgg_echo('members'), 'members');
- elgg_register_menu_item('site', $item);
-
- }
- function members_list_popular($hook, $type, $returnvalue, $params) {
- if ($returnvalue !== null) {
- return;
- }
- $options = $params['options'];
- $options['relationship'] = 'friend';
- $options['inverse_relationship'] = false;
- return elgg_list_entities_from_relationship_count($options);
- }
- function members_list_newest($hook, $type, $returnvalue, $params) {
- if ($returnvalue !== null) {
- return;
- }
- return elgg_list_entities($params['options']);
- }
- function members_list_online($hook, $type, $returnvalue, $params) {
- if ($returnvalue !== null) {
- return;
- }
- return get_online_users();
- }
- function members_nav_popular($hook, $type, $returnvalue, $params) {
- $returnvalue['popular'] = array(
- 'title' => elgg_echo('sort:popular'),
- 'url' => "members/popular",
- );
- return $returnvalue;
- }
- function members_nav_newest($hook, $type, $returnvalue, $params) {
- $returnvalue['newest'] = array(
- 'title' => elgg_echo('sort:newest'),
- 'url' => "members",
- );
- return $returnvalue;
- }
- function members_nav_online($hook, $type, $returnvalue, $params) {
- $returnvalue['online'] = array(
- 'title' => elgg_echo('members:label:online'),
- 'url' => "members/online",
- );
- return $returnvalue;
- }
- function members_nav_suggested($hook, $type, $returnvalue, $params) {
- $returnvalue['suggested'] = array(
- 'title' => elgg_echo('members:label:suggested'),
- 'url' => "suggested_friends",
- );
- return $returnvalue;
- }
- function members_page_handler($page) {
- $base = elgg_get_plugins_path() . 'members/pages/members';
- if (empty($page[0])) {
- $page[0] = 'newest';
- }
- $vars = array();
- $vars['page'] = $page[0];
- if ($page[0] == 'search') {
- $vars['search_type'] = $page[1];
- require_once "$base/search.php";
- } else {
- require_once "$base/index.php";
- }
- return true;
- }
|