/** * Update the specified resource in storage. * * @param \Gladiator\Requests\LeaderboardPhotoRequest $request * @param \Gladiator\Models\Competition $competition * @param \Gladiator\Models\Message $message * @return \Illuminate\Http\Response */ public function updateLeaderboardPhotos(LeaderboardPhotoRequest $request, Competition $competition, Message $message) { for ($i = 0; $i <= 2; $i++) { // request format: _method, _token, user_id_{{$index}}, // reportback_id_{{$index}}, reportback_item_id_{{$index}} $userId = $request->input('user_id_' . $i); $reportbackId = $request->input('reportback_id_' . $i); $reportbackItemId = $request->input('reportback_item_id_' . $i); // If none of ids null if ($userId != 0 && $reportbackId != 0 && $reportbackItemId != 0) { $photo = LeaderboardPhoto::where('competition_id', '=', $competition->id)->where('message_id', '=', $message->id)->where('user_id', '=', $userId)->first(); if (!isset($photo)) { $photo = new LeaderboardPhoto(); $photo->competition_id = $competition->id; $photo->message_id = $message->id; $photo->user_id = $userId; } $photo->reportback_id = $reportbackId; $photo->reportback_item_id = $reportbackItemId; $photo->save(); } } return redirect()->route('competitions.message', [$competition, $competition->contest])->with('status', 'Leaderboard photos have been updated!'); }
public function getLeaderboardPhoto($competitionId, $messageId, $userId) { if (!isset($competitionId)) { return; } $leaderboardPhoto = LeaderboardPhoto::where('competition_id', '=', $competitionId)->where('message_id', '=', $messageId)->where('user_id', '=', $userId)->first(); if (isset($leaderboardPhoto) && isset($leaderboardPhoto->reportback_id) && isset($leaderboardPhoto->reportback_item_id)) { $reportbackItem = $this->appendReportbackItemToMessage($leaderboardPhoto->reportback_id, $leaderboardPhoto->reportback_item_id); if ($reportbackItem) { return $reportbackItem; } } return null; }