function custom_friends_page_handler($page_elements, $handler) { elgg_set_context('friends'); if (isset($page_elements[0]) && ($user = get_user_by_username($page_elements[0]))) { elgg_set_page_owner_guid($user->getGUID()); } if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) { collections_submenu_items(); } if (!isset($handler[0])) { $handler[0] = 'friends'; } require_once dirname(__FILE__) . "/pages/friends/index.php"; return true; }
<?php gatekeeper(); $user = elgg_get_page_owner_entity(); if (!elgg_instanceof($user, "user")) { $user = elgg_get_logged_in_user_entity(); elgg_set_page_owner_guid($user->getGUID()); } if (!$user->canEdit()) { forward(REFERER); } // set the correct context and page owner elgg_set_context("friends"); // fix to show collections links if ($user->getGUID() == elgg_get_logged_in_user_guid()) { collections_submenu_items(); } // breadcrumb elgg_push_breadcrumb(elgg_echo("friends"), "friends/" . $user->username); elgg_push_breadcrumb(elgg_echo("friend_request:menu")); $options = array("type" => "user", "limit" => false, "relationship" => "friendrequest", "relationship_guid" => $user->getGUID(), "inverse_relationship" => true); // Get all received requests $received_requests = elgg_get_entities_from_relationship($options); // Get all received requests $options["inverse_relationship"] = false; $sent_requests = elgg_get_entities_from_relationship($options); // Get page elements $title_text = elgg_echo('friend_request:title', array($user->name)); $title = elgg_view_title($title_text); $received = elgg_view("friend_request/received", array("entities" => $received_requests)); $sent = elgg_view("friend_request/sent", array("entities" => $sent_requests));
/** * Page handler for friends of * */ function collections_page_handler($page_elements) { if (isset($page_elements[0])) { if ($page_elements[0] == "add") { set_page_owner($_SESSION['guid']); collections_submenu_items(); require_once dirname(dirname(dirname(__FILE__))) . "/friends/add.php"; } else { if ($user = get_user_by_username($page_elements[0])) { set_page_owner($user->getGUID()); if ($_SESSION['guid'] == page_owner()) { collections_submenu_items(); } require_once dirname(dirname(dirname(__FILE__))) . "/friends/collections.php"; } } } }
/** * Page handler for friends collections * * @param array $page_elements Page elements * * @return bool * @access private */ function collections_page_handler($page_elements) { elgg_set_context('friends'); $base = elgg_get_config('path'); if (isset($page_elements[0])) { if ($page_elements[0] == "add") { elgg_set_page_owner_guid(elgg_get_logged_in_user_guid()); collections_submenu_items(); require_once "{$base}pages/friends/collections/add.php"; return true; } else { $user = get_user_by_username($page_elements[0]); if ($user) { elgg_set_page_owner_guid($user->getGUID()); if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) { collections_submenu_items(); } require_once "{$base}pages/friends/collections/view.php"; return true; } } } return false; }