public function parseMatchesAchievement($matches) { $achievement = Achievement::where(['name' => $matches['achievementName']])->first(); if ($achievement === null) { return $this->parseFailure(); } return ['achievement' => ['slug' => $achievement->slug, 'name' => $achievement->name], 'user' => $this->arrayUser($matches)]; }
public function show($id) { $user = User::lookup($id); if ($user === null || !$user->hasProfile()) { abort(404); } $achievements = fractal_collection_array(Achievement::achievable()->orderBy('grouping')->orderBy('ordering')->orderBy('progression')->get(), new AchievementTransformer()); $userArray = fractal_item_array($user, new UserTransformer(), implode(',', ['allAchievements', 'allScores', 'allScoresBest', 'allScoresFirst', 'allStatistics', 'beatmapPlaycounts', 'page', 'recentActivities', 'recentlyReceivedKudosu', 'rankedAndApprovedBeatmapSets.difficulties', 'favouriteBeatmapSets.difficulties'])); return view('users.show', compact('user', 'userArray', 'achievements')); }
public function transform(User $user) { $profileCustomization = $user->profileCustomization()->firstOrNew([]); return ['id' => $user->user_id, 'username' => $user->username, 'joinDate' => display_regdate($user), 'country' => ['code' => $user->country_acronym, 'name' => $user->countryName()], 'age' => $user->age, 'avatarUrl' => $user->user_avatar, 'isAdmin' => $user->is_admin, 'isSupporter' => $user->osu_subscriber, 'title' => $user->title(), 'location' => $user->user_from, 'lastvisit' => $user->user_lastvisit->toIso8601String(), 'twitter' => $user->user_twitter, 'lastfm' => $user->user_lastfm, 'skype' => $user->user_msnm, 'playstyle' => $user->osu_playstyle, 'playmode' => $user->playmode, 'profileColour' => $user->user_colour, 'cover' => ['customUrl' => $profileCustomization->cover->customUrl(), 'url' => $profileCustomization->cover->url(), 'id' => $profileCustomization->cover->id()], 'achievements' => ['total' => Achievement::count(), 'current' => $user->achievements()->count()], 'kudosu' => ['total' => $user->osu_kudostotal, 'available' => $user->osu_kudosavailable]]; }
public function show($id) { $user = User::lookup($id); if ($user === null || !$user->hasProfile()) { abort(404); } if ((string) $user->user_id !== $id) { return ujs_redirect(route('users.show', $user)); } $achievements = json_collection(Achievement::achievable()->orderBy('grouping')->orderBy('ordering')->orderBy('progression')->get(), new AchievementTransformer()); $userArray = json_item($user, new UserTransformer(), ['userAchievements', 'allRankHistories', 'allScores', 'allScoresBest', 'allScoresFirst', 'allStatistics', 'beatmapPlaycounts', 'page', 'recentActivities', 'recentlyReceivedKudosu', 'rankedAndApprovedBeatmapsets.beatmaps', 'favouriteBeatmapsets.beatmaps']); return view('users.show', compact('user', 'userArray', 'achievements')); }
public function show($id) { if (is_numeric($id)) { $user = User::find($id); } else { $user = User::where('username', $id)->orWhere('username_clean', $id)->first(); } if ($user === null || !$user->hasProfile()) { abort(404); } if ($user->userPage !== null) { $userPage = ["html" => $user->userPage->bodyHTML, "raw" => $user->userPage->bodyRaw]; } else { $userPage = ["html" => "", "raw" => ""]; } $allStats = []; foreach ($user->statisticsAll() as $mode => $stats) { $allStats[$mode] = fractal_item_array($stats, new UserStatisticsTransformer()); } $recentAchievements = fractal_collection_array($user->achievements()->with("achievement")->orderBy("date", "desc")->limit(8)->get(), new UserAchievementTransformer()); $userArray = fractal_item_array($user, new UserTransformer()); $achievementsCounts = ["total" => Achievement::count(), "user" => $user->achievements()->count()]; return view('users.show', compact('user', 'mode', 'allStats', 'userPage', 'userArray', 'recentAchievements', 'achievementsCounts')); }