From 3cfad8ca8394976823bbacb728821ca371dfd6d8 Mon Sep 17 00:00:00 2001 From: cash Date: Fri, 1 Apr 2011 11:32:39 +0000 Subject: Fixes #3231 welcome back, members plugin git-svn-id: http://code.elgg.org/elgg/trunk@8895 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/users.php | 42 +++++-------------------- languages/en.php | 8 ----- mod/members/languages/en.php | 16 ++++++++++ mod/members/manifest.xml | 17 +++++++++++ mod/members/pages/members/index.php | 37 ++++++++++++++++++++++ mod/members/pages/members/search.php | 44 +++++++++++++++++++++++++++ mod/members/start.php | 39 ++++++++++++++++++++++++ mod/members/views/default/members/nav.php | 24 +++++++++++++++ mod/members/views/default/members/sidebar.php | 25 +++++++++++++++ pages/members/index.php | 37 ---------------------- pages/members/search.php | 44 --------------------------- views/default/core/members/nav.php | 24 --------------- views/default/core/members/sidebar.php | 25 --------------- 13 files changed, 209 insertions(+), 173 deletions(-) create mode 100644 mod/members/languages/en.php create mode 100644 mod/members/manifest.xml create mode 100644 mod/members/pages/members/index.php create mode 100644 mod/members/pages/members/search.php create mode 100644 mod/members/start.php create mode 100644 mod/members/views/default/members/nav.php create mode 100644 mod/members/views/default/members/sidebar.php delete mode 100644 pages/members/index.php delete mode 100644 pages/members/search.php delete mode 100644 views/default/core/members/nav.php delete mode 100644 views/default/core/members/sidebar.php diff --git a/engine/lib/users.php b/engine/lib/users.php index 638e96aab..4c28acc87 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1418,29 +1418,6 @@ function elgg_profile_page_handler($page) { } } -/** - * Members page handler - * - * @param array $page url segments - */ -function elgg_members_page_handler($page) { - global $CONFIG; - - if (!isset($page[0])) { - $page[0] = 'newest'; - } - - $vars = array(); - $vars['page'] = $page[0]; - - if ($page[0] == 'search') { - $vars['search_type'] = $page[1]; - require_once("{$CONFIG->path}pages/members/search.php"); - } else { - require_once("{$CONFIG->path}pages/members/index.php"); - } -} - /** * Sets up user-related menu items * @@ -1525,7 +1502,6 @@ function users_pagesetup() { * @return void */ function users_init() { - global $CONFIG; elgg_register_page_handler('friends', 'friends_page_handler'); elgg_register_page_handler('friendsof', 'friends_of_page_handler'); @@ -1533,20 +1509,16 @@ function users_init() { elgg_register_page_handler('register', 'registration_page_handler'); elgg_register_page_handler('resetpassword', 'elgg_user_resetpassword_page_handler'); elgg_register_page_handler('login', 'elgg_user_login_page_handler'); - elgg_register_page_handler('members', 'elgg_members_page_handler'); elgg_register_page_handler('avatar', 'elgg_avatar_page_handler'); elgg_register_page_handler('profile', 'elgg_profile_page_handler'); elgg_register_page_handler('collections', 'collections_page_handler'); - $item = new ElggMenuItem('members', elgg_echo('members'), 'members'); - elgg_register_menu_item('site', $item); - elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'elgg_user_hover_menu'); - elgg_register_action("register", '', 'public'); - elgg_register_action("useradd", '', 'public'); - elgg_register_action("friends/add"); - elgg_register_action("friends/remove"); + elgg_register_action('register', '', 'public'); + elgg_register_action('useradd', '', 'public'); + elgg_register_action('friends/add'); + elgg_register_action('friends/remove'); elgg_register_action('avatar/upload'); elgg_register_action('avatar/crop'); elgg_register_action('profile/edit'); @@ -1557,10 +1529,10 @@ function users_init() { elgg_register_plugin_hook_handler('entity:icon:url', 'user', 'user_avatar_hook'); - elgg_register_action("user/passwordreset", '', 'public'); - elgg_register_action("user/requestnewpassword", '', 'public'); + elgg_register_action('user/passwordreset', '', 'public'); + elgg_register_action('user/requestnewpassword', '', 'public'); - elgg_register_widget_type('friends', elgg_echo("friends"), elgg_echo('friends:widget:description')); + elgg_register_widget_type('friends', elgg_echo('friends'), elgg_echo('friends:widget:description')); // extend the account settings form elgg_extend_view('forms/account/settings', 'core/settings/account/name', 100); diff --git a/languages/en.php b/languages/en.php index 034282d84..cb970c57d 100644 --- a/languages/en.php +++ b/languages/en.php @@ -755,14 +755,6 @@ $english = array( 'river:comments:more' => '+%u more', 'river:generic_comment' => 'commented on %s %s', - 'members:label:newest' => 'Newest', - 'members:label:popular' => 'Popular', - 'members:label:online' => 'Online', - 'members:searchname' => 'Search members by name', - 'members:searchtag' => 'Search members by tag', - 'members:title:searchname' => 'Member search for %s', - 'members:title:searchtag' => 'Members tagged with %s', - 'friends:widget:description' => "Displays some of your friends.", 'friends:num_display' => "Number of friends to display", 'friends:icon_size' => "Icon size", diff --git a/mod/members/languages/en.php b/mod/members/languages/en.php new file mode 100644 index 000000000..73783143e --- /dev/null +++ b/mod/members/languages/en.php @@ -0,0 +1,16 @@ + 'Newest', + 'members:label:popular' => 'Popular', + 'members:label:online' => 'Online', + 'members:searchname' => 'Search members by name', + 'members:searchtag' => 'Search members by tag', + 'members:title:searchname' => 'Member search for %s', + 'members:title:searchtag' => 'Members tagged with %s', +); + +add_translation('en', $english); diff --git a/mod/members/manifest.xml b/mod/members/manifest.xml new file mode 100644 index 000000000..b96684198 --- /dev/null +++ b/mod/members/manifest.xml @@ -0,0 +1,17 @@ + + + Members + Core developers + 1.8 + bundled + Lists the members of your site + http://www.elgg.org/ + See COPYRIGHT.txt + GNU Public License version 2 + + elgg_version + 2010030101 + + true + advanced + \ No newline at end of file diff --git a/mod/members/pages/members/index.php b/mod/members/pages/members/index.php new file mode 100644 index 000000000..4f23c6322 --- /dev/null +++ b/mod/members/pages/members/index.php @@ -0,0 +1,37 @@ + 'user', 'full_view' => false); +switch ($vars['page']) { + case 'popular': + $options['relationship'] = 'friend'; + $options['inverse_relationship'] = false; + $content = elgg_list_entities_from_relationship_count($options); + break; + case 'online': + $content = get_online_users(); + break; + case 'newest': + default: + $content = elgg_list_entities($options); + break; +} + +$params = array( + 'content' => $content, + 'sidebar' => elgg_view('members/sidebar'), + 'title' => $title . " ($num_members)", + 'buttons' => '', + 'filter_override' => elgg_view('members/nav', array('selected' => $vars['page'])), +); + +$body = elgg_view_layout('content', $params); + +echo elgg_view_page($title, $body); diff --git a/mod/members/pages/members/search.php b/mod/members/pages/members/search.php new file mode 100644 index 000000000..39b54990e --- /dev/null +++ b/mod/members/pages/members/search.php @@ -0,0 +1,44 @@ + 'user', + 'full_view' => false, + 'joins' => array("join {$CONFIG->dbprefix}users_entity u on e.guid=u.guid"), + 'wheres' => array("(u.name like \"%{$name}%\" or u.username like \"%{$name}%\")"), + ); + $content .= elgg_list_entities($params); +} + +$params = array( + 'title' => $title, + 'content' => $content, + 'sidebar' => elgg_view('members/sidebar'), +); + +$body = elgg_view_layout('one_sidebar', $params); + +echo elgg_view_page($title, $body); diff --git a/mod/members/start.php b/mod/members/start.php new file mode 100644 index 000000000..2c1793c17 --- /dev/null +++ b/mod/members/start.php @@ -0,0 +1,39 @@ + array( + 'title' => elgg_echo('members:label:newest'), + 'url' => "members/newest", + 'selected' => $vars['selected'] == 'newest', + ), + 'popular' => array( + 'title' => elgg_echo('members:label:popular'), + 'url' => "members/popular", + 'selected' => $vars['selected'] == 'popular', + ), + 'online' => array( + 'title' => elgg_echo('members:label:online'), + 'url' => "members/online", + 'selected' => $vars['selected'] == 'online', + ), +); + +echo elgg_view('navigation/tabs', array('tabs' => $tabs)); diff --git a/mod/members/views/default/members/sidebar.php b/mod/members/views/default/members/sidebar.php new file mode 100644 index 000000000..8fa0fe02b --- /dev/null +++ b/mod/members/views/default/members/sidebar.php @@ -0,0 +1,25 @@ + 'get', + 'action' => elgg_get_site_url() . 'members/search/tag', + 'disable_security' => true, +); + +$body = elgg_view_form('members/tag_search', $params); + +echo elgg_view_module('aside', elgg_echo('members:searchtag'), $body); + +// name search +$params = array( + 'method' => 'get', + 'action' => elgg_get_site_url() . 'members/search/name', + 'disable_security' => true, +); +$body = elgg_view_form('members/name_search', $params); + +echo elgg_view_module('aside', elgg_echo('members:searchname'), $body); \ No newline at end of file diff --git a/pages/members/index.php b/pages/members/index.php deleted file mode 100644 index 82adf2a4a..000000000 --- a/pages/members/index.php +++ /dev/null @@ -1,37 +0,0 @@ - 'user', 'full_view' => false); -switch ($vars['page']) { - case 'popular': - $options['relationship'] = 'friend'; - $options['inverse_relationship'] = false; - $content = elgg_list_entities_from_relationship_count($options); - break; - case 'online': - $content = get_online_users(); - break; - case 'newest': - default: - $content = elgg_list_entities($options); - break; -} - -$params = array( - 'content' => $content, - 'sidebar' => elgg_view('core/members/sidebar'), - 'title' => $title . " ($num_members)", - 'buttons' => '', - 'filter_override' => elgg_view('core/members/nav', array('selected' => $vars['page'])), -); - -$body = elgg_view_layout('content', $params); - -echo elgg_view_page($title, $body); diff --git a/pages/members/search.php b/pages/members/search.php deleted file mode 100644 index e9b4eb170..000000000 --- a/pages/members/search.php +++ /dev/null @@ -1,44 +0,0 @@ - 'user', - 'full_view' => false, - 'joins' => array("join {$CONFIG->dbprefix}users_entity u on e.guid=u.guid"), - 'wheres' => array("(u.name like \"%{$name}%\" or u.username like \"%{$name}%\")"), - ); - $content .= elgg_list_entities($params); -} - -$params = array( - 'title' => $title, - 'content' => $content, - 'sidebar' => elgg_view('core/members/sidebar'), -); - -$body = elgg_view_layout('one_sidebar', $params); - -echo elgg_view_page($title, $body); diff --git a/views/default/core/members/nav.php b/views/default/core/members/nav.php deleted file mode 100644 index 510d1849b..000000000 --- a/views/default/core/members/nav.php +++ /dev/null @@ -1,24 +0,0 @@ - array( - 'title' => elgg_echo('members:label:newest'), - 'url' => "members/newest", - 'selected' => $vars['selected'] == 'newest', - ), - 'popular' => array( - 'title' => elgg_echo('members:label:popular'), - 'url' => "members/popular", - 'selected' => $vars['selected'] == 'popular', - ), - 'online' => array( - 'title' => elgg_echo('members:label:online'), - 'url' => "members/online", - 'selected' => $vars['selected'] == 'online', - ), -); - -echo elgg_view('navigation/tabs', array('tabs' => $tabs)); diff --git a/views/default/core/members/sidebar.php b/views/default/core/members/sidebar.php deleted file mode 100644 index 8fa0fe02b..000000000 --- a/views/default/core/members/sidebar.php +++ /dev/null @@ -1,25 +0,0 @@ - 'get', - 'action' => elgg_get_site_url() . 'members/search/tag', - 'disable_security' => true, -); - -$body = elgg_view_form('members/tag_search', $params); - -echo elgg_view_module('aside', elgg_echo('members:searchtag'), $body); - -// name search -$params = array( - 'method' => 'get', - 'action' => elgg_get_site_url() . 'members/search/name', - 'disable_security' => true, -); -$body = elgg_view_form('members/name_search', $params); - -echo elgg_view_module('aside', elgg_echo('members:searchname'), $body); \ No newline at end of file -- cgit v1.2.3