diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/groups/invite.php | 30 | ||||
-rw-r--r-- | mod/groups/lib/groups.php | 75 | ||||
-rw-r--r-- | mod/groups/membershipreq.php | 32 | ||||
-rw-r--r-- | mod/groups/start.php | 10 | ||||
-rw-r--r-- | mod/groups/views/default/groups/profile/buttons.php | 2 |
5 files changed, 85 insertions, 64 deletions
diff --git a/mod/groups/invite.php b/mod/groups/invite.php deleted file mode 100644 index acc54b15d..000000000 --- a/mod/groups/invite.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - /** - * Invite users to groups - * - * @package ElggGroups - */ - - require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); - gatekeeper(); - - $group_guid = (int) get_input('group_guid'); - $group = get_entity($group_guid); - set_page_owner($group_guid); - - $title = elgg_echo("groups:invite"); - - $area2 = elgg_view_title($title); - - if (($group) && ($group->canEdit())) - { - $area2 .= elgg_view("forms/groups/invite", array('entity' => $group)); - - } else { - $area2 .= elgg_echo("groups:noaccess"); - } - - $body = elgg_view_layout('one_column_with_sidebar', array('content' => $area1 . $area2)); - - echo elgg_view_page($title, $body); -?>
\ No newline at end of file diff --git a/mod/groups/lib/groups.php b/mod/groups/lib/groups.php index faedca18e..426d67c86 100644 --- a/mod/groups/lib/groups.php +++ b/mod/groups/lib/groups.php @@ -246,3 +246,78 @@ function groups_handle_activity_page($guid) { echo elgg_view_page($title, $body); } + +/** + * Invite users to a group + * + * @param int $guid Group entity GUID + */ +function groups_handle_invite_page($guid) { + gatekeeper(); + + elgg_set_page_owner_guid($guid); + + $group = get_entity($guid); + + $title = elgg_echo('groups:invite'); + + if ($group && $group->canEdit()) { + $content = elgg_view('forms/groups/invite', array('entity' => $group)); + } else { + $content .= elgg_echo('groups:noaccess'); + } + + $params = array( + 'content' => $content, + 'title' => $title, + 'buttons' => '', + 'filter' => '', + ); + $body = elgg_view_layout('content', $params); + + echo elgg_view_page($title, $body); +} + +/** + * Manage requests to join a group + * + * @param int $guid Group entity GUID + */ +function groups_handle_requests_page($guid) { + + gatekeeper(); + + elgg_set_page_owner_guid($guid); + + $group = get_entity($guid); + + $title = elgg_echo('groups:membershiprequests'); + + if ($group && $group->canEdit()) { + elgg_push_breadcrumb($group->name, $group->getURL()); + elgg_push_breadcrumb($title); + + $requests = elgg_get_entities_from_relationship(array( + 'relationship' => 'membership_request', + 'relationship_guid' => $guid, + 'inverse_relationship' => true, + )); + $content = elgg_view('groups/membershiprequests', array( + 'requests' => $requests, + 'entity' => $group, + )); + + } else { + $content = elgg_echo("groups:noaccess"); + } + + $params = array( + 'content' => $content, + 'title' => $title, + 'buttons' => '', + 'filter' => '', + ); + $body = elgg_view_layout('content', $params); + + echo elgg_view_page($title, $body); +} diff --git a/mod/groups/membershipreq.php b/mod/groups/membershipreq.php deleted file mode 100644 index 4ce2a6b7d..000000000 --- a/mod/groups/membershipreq.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php - /** - * Manage group invite requests. - * - * @package ElggGroups - */ - - require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); - gatekeeper(); - - $group_guid = (int) get_input('group_guid'); - $group = get_entity($group_guid); - set_page_owner($group_guid); - - $title = elgg_echo('groups:membershiprequests'); - - $area2 = elgg_view_title($title); - - if (($group) && ($group->canEdit())) - { - - $requests = elgg_get_entities_from_relationship(array('relationship' => 'membership_request', 'relationship_guid' => $group_guid, 'inverse_relationship' => TRUE, 'limit' => 9999)); - $area2 .= elgg_view('groups/membershiprequests',array('requests' => $requests, 'entity' => $group)); - - } else { - $area2 .= elgg_echo("groups:noaccess"); - } - - $body = elgg_view_layout('one_column_with_sidebar', array('content' => $area1 . $area2)); - - echo elgg_view_page($title, $body); -?>
\ No newline at end of file diff --git a/mod/groups/start.php b/mod/groups/start.php index 23936fed7..0b76cc43c 100644 --- a/mod/groups/start.php +++ b/mod/groups/start.php @@ -200,7 +200,7 @@ function groups_submenus() { if (elgg_get_context() == 'groups') { if ($page_owner instanceof ElggGroup) { if (isloggedin() && $page_owner->canEdit() && !$page_owner->isPublicMembership()) { - $url = elgg_get_site_url() . "mod/groups/membershipreq.php?group_guid={$page_owner->getGUID()}"; + $url = elgg_get_site_url() . "pg/groups/requests/{$page_owner->getGUID()}"; add_submenu_item(elgg_echo('groups:membershiprequests'), $url, 'groupsactions1'); } } else { @@ -240,6 +240,8 @@ function groups_page_owner_handler() { * New group: pg/groups/add/<guid> * Edit group: pg/groups/edit/<guid> * Group invitations: pg/groups/invitations/<username> + * Invite to group: pg/groups/invite/<guid> + * Membership requests: pg/groups/requests/<guid> * Group activity: pg/groups/activity/<guid> * * @param array $page Array of url segments for routing @@ -280,6 +282,12 @@ function groups_page_handler($page) { case 'activity': groups_handle_activity_page($page[1]); break; + case 'invite': + groups_handle_invite_page($page[1]); + break; + case 'requests': + groups_handle_requests_page($page[1]); + break; } // old page handler diff --git a/mod/groups/views/default/groups/profile/buttons.php b/mod/groups/views/default/groups/profile/buttons.php index cd4ee49dd..b88c93ad1 100644 --- a/mod/groups/views/default/groups/profile/buttons.php +++ b/mod/groups/views/default/groups/profile/buttons.php @@ -17,7 +17,7 @@ if ($vars['entity']->canEdit()) { // edit and invite $url = elgg_get_site_url() . "pg/groups/edit/{$vars['entity']->getGUID()}"; $actions[$url] = elgg_echo('groups:edit'); - $url = elgg_get_site_url() . "mod/groups/invite.php?group_guid={$vars['entity']->getGUID()}"; + $url = elgg_get_site_url() . "pg/groups/invite/{$vars['entity']->getGUID()}"; $actions[$url] = elgg_echo('groups:invite'); } |