Esempio n. 1
0
 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]];
 }
Esempio n. 2
0
 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'));
 }