/**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index(Request $request)
 {
     if ($request->ajax()) {
         $genres = Genre::all();
         return response()->json($genres);
     }
     return view('genero.index');
 }
Exemplo n.º 2
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit($id)
 {
     $film = Film::with('genres')->where(['id' => $id])->first();
     $genres = Genre::all();
     // genre ids that film has been assigned
     $genreIds = [];
     foreach ($film->genres as $genre) {
         $genreIds[] = $genre->id;
     }
     return view('films.edit', compact('film', 'genres', 'genreIds'));
 }
Exemplo n.º 3
0
 /**
  * @return mixed
  */
 public function all()
 {
     return Genre::all();
 }
Exemplo n.º 4
0
 public function exportQuiz($id)
 {
     $quiz = Quiz::find($id);
     header('Content-Type: text/csv; charset=utf-8');
     header('Content-Disposition: attachment; filename="' . $quiz->name . '.csv"');
     $genresCollection = Genre::all();
     $genres = array();
     foreach ($genresCollection as $key => $value) {
         $genres[$value->id] = $value->name;
     }
     $questionsCollection = Question::where('quiz', $id)->get();
     $questions = array();
     foreach ($questionsCollection as $key => $value) {
         $questions[$value->level][$value->genre][$value->tableid] = $value;
     }
     $output = 'Pergunta;Resposta;Nível;Cascata;Equipa;Tema' . "\n";
     // CSV HEADER
     for ($questionid = 1; $questionid <= 192; $questionid++) {
         if ($questionid <= 16 * 6) {
             $questionLevel = 1;
         } elseif ($questionid <= 16 * 6 + 10 * 6) {
             $questionLevel = 2;
         } else {
             $questionLevel = 3;
         }
         switch ($questionLevel) {
             case '1':
                 $previousLevelsQuestions = 0;
                 $questionTeam = $questionid % 16 ? $questionid % 16 : 16;
                 $round = ceil(($questionid - $previousLevelsQuestions) / 16);
                 break;
             case '2':
                 $previousLevelsQuestions = 16 * 6;
                 $questionTeam = ($questionid - $previousLevelsQuestions) % 10 ? ($questionid - $previousLevelsQuestions) % 10 : 10;
                 $round = ceil(($questionid - $previousLevelsQuestions) / 10);
                 break;
             case '3':
                 $previousLevelsQuestions = 16 * 6 + 10 * 6;
                 $questionTeam = ($questionid - $previousLevelsQuestions) % 6 ? ($questionid - $previousLevelsQuestions) % 6 : 6;
                 $round = ceil(($questionid - $previousLevelsQuestions) / 6);
                 break;
         }
         $questionGenre = ($round - 1 + $questionTeam - 1) % 6 + 1;
         $question = $questions[$questionLevel][$questionGenre][$questionTeam];
         if ($questionLevel > 1) {
             $questionTeam = '';
         }
         $output .= $question->text . ';' . $question->answer . ';' . $question->level . ';' . $round . ';' . $questionTeam . ';' . $genres[$question->genre] . "\n";
     }
     $output .= ';;;;' . "\n";
     $questionLevel = 1;
     $questionGenre = 1;
     $questionTeam = -1;
     for ($questionid = 1; $questionid <= 36; $questionid++) {
         $question = $questions[$questionLevel][$questionGenre][$questionTeam];
         $output .= $question->text . ';' . $question->answer . ';' . $question->level . ';;;' . $genres[$question->genre] . "\n";
         $questionTeam--;
         if ($questionTeam < -2) {
             $questionTeam = -1;
             $questionGenre++;
         }
         if ($questionGenre > 6) {
             $questionGenre = 1;
         }
         if ($questionid % 12 == 0) {
             $questionLevel++;
         }
     }
     echo utf8_decode($output);
 }
Exemplo n.º 5
0
 public function createQuestions()
 {
     $genres = Genre::all();
     return view('admin/createQuestions')->with(['genres' => $genres]);
 }
Exemplo n.º 6
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     $allGenres = Genre::all();
     return view('genres/genres', ['genres' => $allGenres]);
 }
Exemplo n.º 7
0
 public function viewTodayQuiz()
 {
     $user_id = Auth::user()->id;
     $year = date('Y');
     $month = date('n');
     $day = date('j');
     $firstMonday = date("j", strtotime('first monday of ' . $year . '-' . $month));
     $leagueYear = $year;
     if ($firstMonday > $day) {
         $leagueMonth = $month - 1;
         if (!$leagueMonth) {
             $leagueMonth = 12;
             $leagueYear--;
         }
     } else {
         $leagueMonth = $month;
     }
     $dayOffset = 0;
     $round = 0;
     for ($i = 0; $i < 20; $i++) {
         $round++;
         if (date("d-m-Y") == date("d-m-Y", strtotime('first monday of ' . $leagueYear . '-' . $leagueMonth) + 86400 * $dayOffset)) {
             break;
         }
         if (($i + 1) % 5 == 0) {
             $dayOffset = $dayOffset + 3;
         } else {
             $dayOffset++;
         }
     }
     if ($round % 10 == 0) {
         $solo = true;
     } else {
         $solo = false;
     }
     $leagues = League::where('year', $year)->where('month', $leagueMonth)->get();
     $league_id = 0;
     foreach ($leagues as $key => $league) {
         $players = json_decode($league->users);
         if (in_array($user_id, $players)) {
             $league_id = $league->id;
         }
     }
     $opponent = 0;
     $roundGame = Game::where('user_1_id', $user_id)->where('round', $round)->where('league_id', $league_id)->first();
     if (!count($roundGame)) {
         $roundGame = Game::where('user_2_id', $user_id)->where('round', $round)->where('league_id', $league_id)->first();
         if (count($roundGame)) {
             $opponent = $roundGame->user_1_id;
         }
     } else {
         $opponent = $roundGame->user_2_id;
     }
     if ($opponent) {
         $start = (new Carbon('now'))->hour(0)->minute(0)->second(0);
         $end = (new Carbon('now'))->hour(23)->minute(59)->second(59);
         $answers = Answer::where('submitted', 1)->where('user_id', $opponent)->whereNotBetween('updated_at', [$start, $end])->get();
         $genresCollection = Genre::all();
         $subgenresCollection = Subgenre::all();
         $genres = array();
         foreach ($genresCollection as $key => $genre) {
             $genres[$genre->id] = array();
             $genres[$genre->id]['info'] = $genre;
             $genres[$genre->id]['corrects'] = 0;
             $genres[$genre->id]['total'] = 0;
             $genres[$genre->id]['percentage'] = 0;
         }
         $subgenres = array();
         foreach ($subgenresCollection as $key => $subgenre) {
             $subgenres[$subgenre->id] = array();
             $subgenres[$subgenre->id]['info'] = $subgenre;
             $subgenres[$subgenre->id]['corrects'] = 0;
             $subgenres[$subgenre->id]['total'] = 0;
             $subgenres[$subgenre->id]['percentage'] = 0;
         }
         foreach ($answers as $key => $answer) {
             $answerQuestion = $answer->question()[0];
             $answerGenre = $answerQuestion->genre_id;
             $answerSubgenre = $answerQuestion->subgenre_id;
             if ($answer->correct) {
                 $genres[$answerGenre]['corrects']++;
                 $subgenres[$answerSubgenre]['corrects']++;
             }
             $genres[$answerGenre]['total']++;
             $subgenres[$answerSubgenre]['total']++;
         }
         foreach ($genres as $key => $genre) {
             if ($genres[$key]['total']) {
                 $genres[$key]['percentage'] = round($genre['corrects'] / $genre['total'] * 100, 2);
             }
         }
         $percentage = array();
         foreach ($subgenres as $key => $subgenre) {
             if ($subgenres[$key]['total']) {
                 $subgenres[$key]['percentage'] = round($subgenre['corrects'] / $subgenre['total'] * 100, 2);
                 $percentage[$key] = $subgenres[$key]['percentage'];
             } else {
                 $subgenres[$key]['percentage'] = 0;
                 $percentage[$key] = 0;
             }
         }
         if ($percentage) {
             array_multisort($percentage, SORT_DESC, $subgenres);
         }
         $opponent = User::find($opponent);
     } else {
         $genres = [];
         $subgenres = [];
     }
     $questions = Question::where('year', $year)->where('month', $month)->where('day', $day)->get();
     $filetype = [];
     $answers = [];
     foreach ($questions as $key => $question) {
         $filetype[$question->genre_id] = pathinfo($question->filename, PATHINFO_EXTENSION);
         $answers[$question->genre_id] = '';
     }
     $submitted = false;
     foreach ($questions as $key => $question) {
         $answer = Answer::where('question_id', $question['id'])->where('user_id', $user_id)->orderBy('id', 'desc')->first();
         $answers[$question->genre_id] = $answer;
         if ($answer) {
             if ($answer->submitted) {
                 $submitted = true;
             }
         }
     }
     if ($submitted) {
         return view('quiz_answered')->with(['questions' => $questions, 'answers' => $answers, 'filetype' => $filetype, 'year' => $year, 'month' => $month, 'day' => $day, 'solo' => $solo]);
     } else {
         return view('quiz')->with(['questions' => $questions, 'filetype' => $filetype, 'answers' => $answers, 'solo' => $solo, 'genres' => $genres, 'subgenres' => $subgenres, 'opponent' => $opponent]);
     }
 }