aboutsummaryrefslogtreecommitdiff
path: root/mod/members/start.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/members/start.php')
-rw-r--r--mod/members/start.php43
1 files changed, 35 insertions, 8 deletions
diff --git a/mod/members/start.php b/mod/members/start.php
index 4158f1aa2..54787cd16 100644
--- a/mod/members/start.php
+++ b/mod/members/start.php
@@ -1,14 +1,41 @@
<?php
/**
- * Elgg members plugin
- *
- * @package Elggmembers
+ * Members plugin intialization
+ */
+
+elgg_register_event_handler('init', 'system', 'members_init');
+
+/**
+ * Initialize page handler and site menu item
*/
-
function members_init() {
- elgg_extend_view('css/screen', '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
-elgg_register_event_handler('pagesetup','system','members_pagesetup');
-elgg_register_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;
+}