Example #1
0
 public function includeNominations(Beatmapset $beatmapset)
 {
     if ($beatmapset->isPending()) {
         $currentUser = Auth::user();
         $nominations = $beatmapset->recentEvents()->get();
         foreach ($nominations as $nomination) {
             if ($nomination->type === BeatmapsetEvent::DISQUALIFY) {
                 $disqualifyEvent = $nomination;
             }
             if ($currentUser !== null && $nomination->user_id === $currentUser->user_id && $nomination->type === BeatmapsetEvent::NOMINATE) {
                 $alreadyNominated = true;
             }
         }
         $result = ['required' => $beatmapset->requiredNominationCount(), 'current' => $beatmapset->currentNominationCount()];
         if (isset($disqualifyEvent)) {
             $result['disqualification'] = ['reason' => $disqualifyEvent->comment, 'created_at' => json_time($disqualifyEvent->created_at)];
         }
         if ($currentUser !== null) {
             $result['nominated'] = $alreadyNominated ?? false;
         }
         return $this->item($beatmapset, function ($beatmapset) use($result) {
             return $result;
         });
     } elseif ($beatmapset->qualified()) {
         $eta = $beatmapset->rankingETA();
         $result = ['ranking_eta' => json_time($eta)];
         return $this->item($beatmapset, function ($beatmapset) use($result) {
             return $result;
         });
     } else {
         return;
     }
 }
 public function transform(BeatmapDiscussionPost $post)
 {
     if (!priv_check('BeatmapDiscussionPostShow', $post)->can()) {
         return [];
     }
     return ['id' => $post->id, 'beatmap_discussion_id' => $post->beatmap_discussion_id, 'user_id' => $post->user_id, 'last_editor_id' => presence($post->last_editor_id, $post->user_id), 'deleted_by_id' => $post->deleted_by_id, 'system' => $post->system, 'message' => $post->message, 'created_at' => json_time($post->created_at), 'updated_at' => json_time($post->updated_at), 'deleted_at' => json_time($post->deleted_at)];
 }
 public function transform(BeatmapDiscussion $discussion)
 {
     if (!priv_check('BeatmapDiscussionShow', $discussion)->can()) {
         return [];
     }
     return ['id' => $discussion->id, 'beatmapset_discussion_id' => $discussion->beatmapset_discussion_id, 'beatmap_id' => $discussion->beatmap_id, 'user_id' => $discussion->user_id, 'deleted_by_id' => $discussion->deleted_by_id, 'message_type' => $discussion->message_type, 'timestamp' => $discussion->timestamp, 'resolved' => $discussion->resolved, 'created_at' => json_time($discussion->created_at), 'updated_at' => json_time($discussion->updated_at), 'deleted_at' => json_time($discussion->deleted_at), 'votes' => $discussion->votesSummary(), 'duration' => $discussion->total_length];
 }
Example #4
0
 public function transform(Beatmap $beatmap = null)
 {
     if ($beatmap === null) {
         return [];
     }
     return ['id' => $beatmap->beatmap_id, 'beatmapset_id' => $beatmap->beatmapset_id, 'mode' => $beatmap->mode, 'mode_int' => $beatmap->playmode, 'convert' => $beatmap->convert, 'difficulty_size' => $beatmap->diff_size, 'difficulty_rating' => $beatmap->difficultyrating, 'version' => $beatmap->version, 'total_length' => $beatmap->total_length, 'cs' => $beatmap->diff_size, 'drain' => $beatmap->diff_drain, 'accuracy' => $beatmap->diff_overall, 'ar' => $beatmap->diff_approach, 'playcount' => $beatmap->playcount, 'passcount' => $beatmap->passcount, 'count_circles' => $beatmap->countNormal, 'count_sliders' => $beatmap->countSlider, 'last_updated' => json_time($beatmap->last_update), 'ranked' => $beatmap->approved, 'status' => $beatmap->status(), 'url' => route('beatmaps.show', ['id' => $beatmap->beatmap_id])];
 }
Example #5
0
 public function transform(Contest $contest)
 {
     $response = ['id' => $contest->id, 'name' => $contest->name, 'description' => $contest->description_voting, 'type' => $contest->type, 'header_url' => $contest->header_url, 'max_entries' => $contest->max_entries, 'max_votes' => $contest->max_votes, 'entry_starts_at' => json_time($contest->entry_starts_at), 'entry_ends_at' => json_time($contest->entry_ends_at), 'voting_ends_at' => json_time($contest->voting_ends_at), 'show_votes' => $contest->show_votes];
     if ($contest->type === 'art') {
         $response['shape'] = $contest->entry_shape;
     }
     return $response;
 }
 public function transform(KudosuHistory $kudosuHistory)
 {
     return ['id' => $kudosuHistory->exchange_id, 'action' => $kudosuHistory->action, 'amount' => $kudosuHistory->amount, 'createdAt' => json_time($kudosuHistory->date), 'giver' => ['url' => route('users.show', $kudosuHistory->giver_id), 'name' => $kudosuHistory->giver->username], 'post' => ['url' => route('forum.posts.show', $kudosuHistory->post_id), 'title' => $kudosuHistory->post->topic->topic_title]];
 }
Example #7
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->isAdmin(), 'isSupporter' => $user->osu_subscriber, 'isGMT' => $user->isGMT(), 'isQAT' => $user->isQAT(), 'title' => $user->title(), 'location' => $user->user_from, 'lastvisit' => json_time($user->user_lastvisit), 'twitter' => $user->user_twitter, 'lastfm' => $user->user_lastfm, 'skype' => $user->user_msnm, 'playstyle' => $user->osu_playstyle, 'playmode' => $user->playmode, 'profileColour' => $user->user_colour, 'profileOrder' => $profileCustomization->getExtrasOrder(), 'cover' => ['customUrl' => $profileCustomization->cover->fileUrl(), 'url' => $profileCustomization->cover->url(), 'id' => $profileCustomization->cover->id()], 'kudosu' => ['total' => $user->osu_kudostotal, 'available' => $user->osu_kudosavailable]];
 }
 public function transform(BeatmapsetEvent $event = null)
 {
     return ['type' => $event->type, 'comment' => $event->comment, 'created_at' => json_time($event->created_at)];
 }
Example #9
0
 public function transform(Match $match)
 {
     return ['id' => $match->match_id, 'start_time' => json_time($match->start_time), 'end_time' => json_time($match->end_time), 'name' => $match->name];
 }
Example #10
0
 public function transform(Event $event)
 {
     $event->parse();
     return array_merge(['id' => $event->event_id, 'createdAt' => json_time($event->date), 'type' => $event->type], $event->details);
 }
Example #11
0
 public function transform(Event $event)
 {
     return ['id' => $event->event_id, 'detail' => $event->detail, 'timestamp' => json_time($event->timestamp), 'user_id' => $event->user_id];
 }
 public function transform(BeatmapDiscussion $discussion)
 {
     return ['id' => $discussion->id, 'beatmapset_discussion_id' => $discussion->beatmapset_discussion_id, 'beatmap_id' => $discussion->beatmap_id, 'user_id' => $discussion->user_id, 'message_type' => $discussion->message_type, 'timestamp' => $discussion->timestamp, 'resolved' => $discussion->resolved, 'created_at' => json_time($discussion->created_at), 'updated_at' => json_time($discussion->updated_at), 'votes' => $discussion->votes_summary, 'duration' => $discussion->total_length];
 }
 public function transform(Contest $contest)
 {
     return ['id' => $contest->id, 'name' => $contest->name, 'description' => $contest->description_voting, 'type' => $contest->type, 'header_url' => $contest->header_url, 'max_entries' => $contest->max_entries, 'max_votes' => $contest->max_votes, 'entry_starts_at' => json_time($contest->entry_starts_at), 'entry_ends_at' => json_time($contest->entry_ends_at), 'voting_ends_at' => json_time($contest->voting_ends_at), 'show_votes' => $contest->show_votes];
 }
Example #14
0
 public function transform($score)
 {
     return ['id' => $score->score_id, 'user_id' => $score->user_id, 'created_at' => json_time($score->date), 'pp' => $score->pp, 'accuracy' => $score->accuracy(), 'rank' => $score->rank, 'mods' => $score->enabled_mods, 'score' => $score->score, 'combo' => $score->maxcombo, 'count50' => $score->count50, 'count100' => $score->count100, 'count300' => $score->count300, 'countgeki' => $score->countgeki, 'countkatu' => $score->countkatu, 'countmiss' => $score->countmiss, 'slot' => $score->slot, 'team' => $score->team, 'pass' => $score->pass];
 }
Example #15
0
function timeago($date)
{
    $display_date = $date->toRfc850String();
    $attribute_date = json_time($date);
    return "<time class='timeago' datetime='{$attribute_date}'>{$display_date}</time>";
}
 public function transform(BeatmapDiscussionPost $post)
 {
     return ['id' => $post->id, 'beatmap_discussion_id' => $post->beatmap_discussion_id, 'user_id' => $post->user_id, 'last_editor_id' => presence($post->last_editor_id, $post->user_id), 'system' => $post->system, 'message' => $post->message, 'created_at' => json_time($post->created_at), 'updated_at' => json_time($post->updated_at)];
 }
 public function transform(UserAchievement $userAchievement)
 {
     return ['achieved_at' => json_time($userAchievement->date), 'achievement_id' => $userAchievement->achievement_id];
 }
 public function transform(BeatmapsetDiscussion $discussion)
 {
     return ['id' => $discussion->id, 'created_at' => json_time($discussion->created_at), 'updated_at' => json_time($discussion->updated_at)];
 }
 public function transform(UserContestEntry $entry)
 {
     return ['id' => $entry->id, 'filename' => $entry->original_filename, 'filesize' => $entry->filesize, 'created_at' => json_time($entry->created_at)];
 }
Example #20
0
 public function transform(Game $game)
 {
     return ['id' => $game->game_id, 'start_time' => json_time($game->start_time), 'end_time' => json_time($game->end_time), 'mode' => $game->mode, 'mode_int' => $game->play_mode, 'scoring_type' => $game->scoring_type, 'team_type' => $game->team_type, 'mods' => $game->mods];
 }