]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #2295 added a group member list page
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sat, 22 Jan 2011 22:22:33 +0000 (22:22 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sat, 22 Jan 2011 22:22:33 +0000 (22:22 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7906 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/groups/languages/en.php
mod/groups/lib/groups.php
mod/groups/start.php
mod/groups/views/default/groups/sidebar/members.php

index e5db5d0c562114812749cadf9fcff65ed49414fb..7ea83bcee85f51141bcc680007b414264aa7af5e 100644 (file)
@@ -29,6 +29,8 @@ $english = array(
        'groups:interests' => 'Tags',
        'groups:website' => 'Website',
        'groups:members' => 'Group members',
+       'groups:members:title' => 'Members of %s',
+       'groups:members:more' => "View all members",
        'groups:membership' => "Group membership permissions",
        'groups:access' => "Access permissions",
        'groups:owner' => "Owner",
index 426d67c86019e23bf522f19cc882fbdadab2de62..cb9daf8e9543f82f4c2556d14b14bb5e47229329 100644 (file)
@@ -247,6 +247,46 @@ function groups_handle_activity_page($guid) {
        echo elgg_view_page($title, $body);
 }
 
+/**
+ * Group members page
+ *
+ * @param int $guid Group entity GUID
+ */
+function groups_handle_members_page($guid) {
+
+       elgg_set_page_owner_guid($guid);
+
+       $group = get_entity($guid);
+       if (!$group || !elgg_instanceof($group, 'group')) {
+               forward();
+       }
+
+       group_gatekeeper();
+
+       $title = elgg_echo('groups:members:title', array($group->name));
+
+       elgg_push_breadcrumb($group->name, $group->getURL());
+       elgg_push_breadcrumb(elgg_echo('groups:members:'));
+
+       $content = elgg_list_entities_from_relationship(array(
+               'relationship' => 'member',
+               'relationship_guid' => $group->guid,
+               'inverse_relationship' => true,
+               'types' => 'user',
+               'limit' => 20,
+       ));
+
+       $params = array(
+               'content' => $content,
+               'title' => $title,
+               'buttons' => '',
+               'filter' => '',
+       );
+       $body = elgg_view_layout('content', $params);
+
+       echo elgg_view_page($title, $body);
+}
+
 /**
  * Invite users to a group
  *
index d782c745ff1e96ae73001d7e735a9dcfc4264fbc..92416a205a8da26da322fe610327d5a91a3eaf66 100644 (file)
@@ -172,6 +172,7 @@ function groups_page_owner_handler() {
  *  Invite to group:      pg/groups/invite/<guid>
  *  Membership requests:  pg/groups/requests/<guid>
  *  Group activity:       pg/groups/activity/<guid>
+ *  Group members:        pg/groups/members/<guid>
  *
  * @param array $page Array of url segments for routing
  */
@@ -209,6 +210,9 @@ function groups_page_handler($page) {
                case 'activity':
                        groups_handle_activity_page($page[1]);
                        break;
+               case 'members':
+                       groups_handle_members_page($page[1]);
+                       break;
                case 'invite':
                        groups_handle_invite_page($page[1]);
                        break;
index b4e9199af6eedd2ea448976b601be1c3d3b3945f..a8c2ffd3f13c9a7abd03e1e35699055dcca5eda4 100644 (file)
@@ -5,11 +5,18 @@
  * @package ElggGroups
  */
 
-$body = '';
+$all_link = elgg_view('output/url', array(
+       'href' => 'pg/groups/members/' . $vars['entity']->guid,
+       'text' => elgg_echo('groups:members:more'),
+));
+
+$body = '<div class="clearfix">';
 $members = $vars['entity']->getMembers(10);
 foreach ($members as $mem) {
        $body .= "<div class='member_icon'><a href=\"" . $mem->getURL() . "\">" . elgg_view("profile/icon", array('entity' => $mem, 'size' => 'tiny', 'override' => 'true')) . "</a></div>";
 }
+$body .= '</div>';
+$body .= "<div class='center mts'>$all_link</div>";
 
 echo elgg_view('layout/objects/module', array(
        'title' => elgg_echo("groups:members"),