| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | 
							- <?php
 
- /**
 
-  * Manage group invite requests.
 
-  *
 
-  * @package ElggGroups
 
-  */
 
- elgg_gatekeeper();
 
- $guid = (int) get_input("group_guid");
 
- elgg_entity_gatekeeper($guid, "group");
 
- elgg_group_gatekeeper();
 
- elgg_set_page_owner_guid($guid);
 
- $group = get_entity($guid);
 
- if (!$group->canEdit()) {
 
- 	register_error(elgg_echo("groups:noaccess"));
 
- 	forward(REFERER);
 
- }
 
- $title = elgg_echo("groups:membershiprequests");
 
- // change page title
 
- if ($group->isPublicMembership()) {
 
- 	$title = elgg_echo("group_tools:menu:invitations");
 
- }
 
- elgg_push_breadcrumb(elgg_echo("groups"), "groups/all");
 
- elgg_push_breadcrumb($group->name, $group->getURL());
 
- elgg_push_breadcrumb($title);
 
- elgg_register_menu_item("title", array(
 
- 	"name" => "groups:invite",
 
- 	"href" => "groups/invite/" . $group->getGUID(),
 
- 	"text" => elgg_echo("groups:invite"),
 
- 	"link_class" => "elgg-button elgg-button-action",
 
- ));
 
- $subpage = get_input("subpage");
 
- $offset = (int) get_input("offset");
 
- $limit = (int) get_input("limit", 25);
 
- $dbprefix = elgg_get_config("dbprefix");
 
- elgg_push_context("group_membershipreq");
 
- $menu = elgg_view_menu("filter", array(
 
- 	"entity" => $group,
 
- 	"class" => "elgg-menu-hz",
 
- 	"sort_by" => "priority",
 
- 	"handler" => "groups"
 
- ));
 
- elgg_pop_context();
 
- switch ($subpage) {
 
- 	case "invites":
 
- 		// invited users
 
- 		$options = array(
 
- 			"joins" => array("JOIN " . $dbprefix . "users_entity ue ON e.guid = ue.guid"),
 
- 			"type" => "user",
 
- 			"relationship" => "invited",
 
- 			"relationship_guid" => $guid,
 
- 			"offset" => $offset,
 
- 			"limit" => $limit,
 
- 			"count" => true,
 
- 			"order_by" => "ue.name ASC"
 
- 		);
 
- 		
 
- 		$count = elgg_get_entities_from_relationship($options);
 
- 		unset($options["count"]);
 
- 		$invitations = elgg_get_entities_from_relationship($options);
 
- 		
 
- 		$content = elgg_view("group_tools/membershipreq/invites", array(
 
- 			"invitations" => $invitations,
 
- 			"entity" => $group,
 
- 			"offset" => $offset,
 
- 			"limit" => $limit,
 
- 			"count" => $count
 
- 		));
 
- 		
 
- 		break;
 
- 	case "email_invites":
 
- 		// invited emails
 
- 		$options = array(
 
- 			"selects" => array("SUBSTRING_INDEX(v.string, '|', -1) AS invited_email"),
 
- 			"annotation_name" => "email_invitation",
 
- 			"annotation_owner_guid" => $group->getGUID(),
 
- 			"wheres" => array("(v.string LIKE '%|%')"),
 
- 			"offset" => $offset,
 
- 			"limit" => $limit,
 
- 			"count" => true,
 
- 			"order_by" => "invited_email ASC"
 
- 		);
 
- 		
 
- 		$count = elgg_get_annotations($options);
 
- 		unset($options["count"]);
 
- 		$emails = elgg_get_annotations($options);
 
- 		
 
- 		$content = elgg_view("group_tools/membershipreq/email_invites", array(
 
- 			"emails" => $emails,
 
- 			"entity" => $group,
 
- 			"offset" => $offset,
 
- 			"limit" => $limit,
 
- 			"count" => $count
 
- 		));
 
- 		
 
- 		break;
 
- 	default:
 
- 		// membership requests
 
- 		$options = array(
 
- 			"joins" => array("JOIN " . $dbprefix . "users_entity ue ON e.guid = ue.guid"),
 
- 			"type" => "user",
 
- 			"relationship" => "membership_request",
 
- 			"relationship_guid" => $guid,
 
- 			"inverse_relationship" => true,
 
- 			"offset" => $offset,
 
- 			"limit" => $limit,
 
- 			"count" => true,
 
- 			"order_by" => "ue.name ASC"
 
- 		);
 
- 		
 
- 		$count = elgg_get_entities_from_relationship($options);
 
- 		unset($options["count"]);
 
- 		$requests = elgg_get_entities_from_relationship($options);
 
- 		
 
- 		$content = elgg_view("groups/membershiprequests", array(
 
- 			"requests" => $requests,
 
- 			"entity" => $group,
 
- 			"offset" => $offset,
 
- 			"limit" => $limit,
 
- 			"count" => $count
 
- 		));
 
- 		
 
- 		break;
 
- }
 
- $params = array(
 
- 	"content" => $content,
 
- 	"title" => $title,
 
- 	"filter" => $menu,
 
- );
 
- $body = elgg_view_layout("content", $params);
 
- echo elgg_view_page($title, $body);
 
 
  |