/** * 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'); }
/** * 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')); }
/** * @return mixed */ public function all() { return Genre::all(); }
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); }
public function createQuestions() { $genres = Genre::all(); return view('admin/createQuestions')->with(['genres' => $genres]); }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $allGenres = Genre::all(); return view('genres/genres', ['genres' => $allGenres]); }
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]); } }