/**
  * 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!');
 }
Ejemplo n.º 2
0
 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;
 }