diff options
Diffstat (limited to 'mod/members/start.php')
| -rw-r--r-- | mod/members/start.php | 48 |
1 files changed, 35 insertions, 13 deletions
diff --git a/mod/members/start.php b/mod/members/start.php index 0a66cacbf..54787cd16 100644 --- a/mod/members/start.php +++ b/mod/members/start.php @@ -1,19 +1,41 @@ <?php /** - * Elgg members plugin - * - * @package Elggmembers - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Curverider Ltd <info@elgg.com> - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.com/ + * Members plugin intialization + */ + +elgg_register_event_handler('init', 'system', 'members_init'); + +/** + * Initialize page handler and site menu item */ - function members_init() { - global $CONFIG; - elgg_extend_view('css','members/css'); + elgg_register_page_handler('members', 'members_page_handler'); + + $item = new ElggMenuItem('members', elgg_echo('members'), 'members'); + elgg_register_menu_item('site', $item); } -// @todo - use page handler for members index -register_elgg_event_handler('pagesetup','system','members_pagesetup'); -register_elgg_event_handler('init','system','members_init');
\ No newline at end of file +/** + * Members page handler + * + * @param array $page url segments + * @return bool + */ +function members_page_handler($page) { + $base = elgg_get_plugins_path() . 'members/pages/members'; + + if (!isset($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; +} |
