<?php $user = elgg_extract('entity', $vars, elgg_get_page_owner_entity()); if (!$user) { forward('', '404'); } if (!user_friends_can_view_friends($user)) { register_error(elgg_echo('user:friends:no_access')); forward('friends'); } elgg_push_breadcrumb(elgg_echo('friends'), 'friends'); elgg_push_breadcrumb($user->getDisplayName(), "friends/{$user->username}"); if ($user->guid == elgg_get_logged_in_user_guid()) { $title = elgg_echo('friends:yours'); } else { $title = elgg_echo('friends:owned', array($user->getDisplayName())); } $filter = elgg_view('filters/friends', array('filter_context' => 'index', 'entity' => $user)); $content = elgg_view('lists/friends', array('entity' => $user)); $layout = elgg_view_layout('content', array('title' => $title, 'content' => $content, 'filter' => $filter)); echo elgg_view_page($title, $layout);
/** * Prevents the widget from showing friends if friend visibility criteria is not met * * @param string $hook "view" * @param string $type "widgets/friends/content" * @param string $return View * @param array $params Hook params * @return string */ function user_friends_friends_widget_access($hook, $type, $return, $params) { $vars = elgg_extract('vars', $params); $entity = elgg_extract('entity', $vars); if (!$entity instanceof ElggWidget) { return; } $owner = $entity->getOwnerEntity(); if (!user_friends_can_view_friends($owner)) { return elgg_format_element('p', ['class' => 'elgg-no-results'], elgg_echo('user:friends:no_access')); } }
<?php $size = elgg_extract('size', $vars, 'small'); $entity = elgg_extract('entity', $vars); if (!$entity instanceof ElggUser) { return; } $subtitle = array(); $friend_count = $entity->getVolatileData('select:friend_count'); if (isset($friend_count)) { if (user_friends_can_view_friends($entity)) { $subtitle['friend_count'] = elgg_echo('user:friends:count', [$friend_count]); } } //$subtitle[] = elgg_echo('user:friends:member_since', [date('j M, Y', $entity->time_created)]); $last_action = max($entity->last_action, $entity->last_login, $entity->time_created); if ($last_action) { $subtitle['last_action'] = elgg_echo('user:friends:last_action', [elgg_get_friendly_time($last_action)]); } $menu_params = $vars; $menu_params['sort_by'] = 'priority'; $menu = elgg_view_menu('membership', $menu_params); $metadata = ''; if (!elgg_in_context('widgets')) { $menu_params['class'] = 'elgg-menu-hz'; $metadata = elgg_view_menu('entity', $menu_params); } $title = null; $query = elgg_extract('query', $vars, get_input('query')); if ($query && elgg_is_active_plugin('search')) { $name = search_get_highlighted_relevant_substrings($entity->getDisplayName(), $query);