/** * Get list of users with the most number of activities * Prioritize users that are not being followed yet * * @param $user_id * @return Response */ public function viewFeaturedUsersAction($user_id) { $followed_users = array(); $featured_users = array(); $json_return[KeyParser::data] = array(); $users = Users::getUsersWithMostActivities()->toArray(); $all_followed_users = Follow::getFollowedUserIds($user_id); foreach ($users as $user) { $is_followed = in_array($user['id'], $all_followed_users); if ($user['id'] != $user_id) { if ($is_followed) { $followed_users[] = $user['id']; } else { $featured_users[] = $user['id']; } } } $featured_users = array_merge($featured_users, $followed_users); $featured_users = array_slice($featured_users, 0, 20); foreach ($featured_users as $index => $featured_user) { $json_return[KeyParser::data][KeyParser::users][$index] = Users::getStatistics($featured_user, $user_id); } return response()->json($json_return); }