Inheritance: extends Illuminate\Database\Eloquent\Model
コード例 #1
0
ファイル: Event.php プロジェクト: nanaya/osu-web
 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)];
 }
コード例 #2
0
ファイル: UsersController.php プロジェクト: avail/osu-web
 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'));
 }
コード例 #3
0
ファイル: UserTransformer.php プロジェクト: nanaya/osu-web
 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]];
 }
コード例 #4
0
 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'));
 }
コード例 #5
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'));
 }