aboutsummaryrefslogtreecommitdiff
path: root/mod/groups
diff options
context:
space:
mode:
Diffstat (limited to 'mod/groups')
-rw-r--r--mod/groups/languages/en.php9
-rw-r--r--mod/groups/start.php5
-rw-r--r--mod/groups/views/default/widgets/group_members_widget/edit.php23
-rw-r--r--mod/groups/views/default/widgets/group_members_widget/view.php35
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