diff options
Diffstat (limited to 'mod/groups')
-rw-r--r-- | mod/groups/languages/en.php | 9 | ||||
-rw-r--r-- | mod/groups/start.php | 5 | ||||
-rw-r--r-- | mod/groups/views/default/widgets/group_members_widget/edit.php | 23 | ||||
-rw-r--r-- | mod/groups/views/default/widgets/group_members_widget/view.php | 35 |
4 files changed, 70 insertions, 2 deletions
diff --git a/mod/groups/languages/en.php b/mod/groups/languages/en.php index 3f26a6f0e..cd89c54da 100644 --- a/mod/groups/languages/en.php +++ b/mod/groups/languages/en.php @@ -77,8 +77,15 @@ or click below to confirm request: %s", 'groups:river:member' => 'is now a member of', - 'groups:nowidgets' => 'No widgets defined!', + 'groups:nowidgets' => 'No widgets have been defined for this group.', + + + 'groups:widgets:members:title' => 'Group members', + 'groups:widgets:members:description' => 'List the members of a group.', + 'groups:widgets:members:label:displaynum' => 'List the members of a group.', + 'groups:widgets:members:label:pleaseedit' => 'Please configure this widget.', + ); add_translation("en",$english); diff --git a/mod/groups/start.php b/mod/groups/start.php index ca402df15..30d93facc 100644 --- a/mod/groups/start.php +++ b/mod/groups/start.php @@ -53,9 +53,12 @@ // Use group widgets use_widgets('groups'); - // Add a page owner + // Add a page owner handler add_page_owner_handler('groups_page_owner_handler'); + // Add some widgets + add_widget_type('group_members_widget',elgg_echo('groups:widgets:members:title'), elgg_echo('groups:widgets:members:description')); + // For now, we'll hard code the groups profile items as follows: // TODO make this user configurable diff --git a/mod/groups/views/default/widgets/group_members_widget/edit.php b/mod/groups/views/default/widgets/group_members_widget/edit.php new file mode 100644 index 000000000..622877225 --- /dev/null +++ b/mod/groups/views/default/widgets/group_members_widget/edit.php @@ -0,0 +1,23 @@ +<?php + /** + * Edit the widget + * + * @package ElggGroups + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ +?> +<p> + <?php echo elgg_echo('groups:widgets:members:label:displaynum'); ?> + + <select name="params[limit]"> + <option value="5" <?php if ($vars['entity']->limit == 5) echo " selected=\"yes\" "; ?>>5</option> + <option value="8" <?php if ((!$vars['entity']->limit) || ($vars['entity']->limit == 8)) echo " selected=\"yes\" "; ?>>8</option> + <option value="12" <?php if ($vars['entity']->limit == 12) echo " selected=\"yes\" "; ?>>12</option> + <option value="15" <?php if ($vars['entity']->limit == 15) echo " selected=\"yes\" "; ?>>15</option> + </select> + + <input type="hidden" name="params[group_guid]" value="<?php echo get_input('group_guid'); ?>" /> +</p>
\ No newline at end of file diff --git a/mod/groups/views/default/widgets/group_members_widget/view.php b/mod/groups/views/default/widgets/group_members_widget/view.php new file mode 100644 index 000000000..2ff10f706 --- /dev/null +++ b/mod/groups/views/default/widgets/group_members_widget/view.php @@ -0,0 +1,35 @@ +<?php + /** + * View the widget + * + * @package ElggGroups + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + $group_guid = get_input('group_guid'); + $limit = get_input('limit', 8); + $offset = 0; + + if ($vars['entity']->limit) + $limit = $vars['entity']->limit; + + $group_guid = $vars['entity']->group_guid; + + if ($group_guid) + { + $group = get_entity($group_guid); + $members = $group->getMembers($limit, $offset); + $count = $group->getMembers($limit, $offset, true); + + $result = elgg_view_entity_list($members, $count, $offset, $limit, false); + } + else + { + $result = elgg_echo('groups:widgets:members:label:pleaseedit'); + } + + echo $result; +?>
\ No newline at end of file |