/** * Bootstrap any application services. * * @return void */ public function boot() { Validator::extend('quiz_already_created', function ($attribute, $value, $parameters, $validator) { $date = explode('/', $value); $questions = Question::where('year', $date[2])->where('month', $date[1])->where('day', $date[0])->get()->count(); if ($questions) { return false; } else { return true; } }); Validator::extend('league_already_created', function ($attribute, $value, $parameters, $validator) { $date = explode('/', $value); $league = League::where('year', $date[1])->where('month', $date[0])->where('leaguename_id', $validator->getData()['league'])->get()->count(); if ($league) { return false; } else { return true; } }); Validator::extend('specialquiz_already_created', function ($attribute, $value, $parameters, $validator) { $date = explode('/', $value); $quiz = Specialquiz::where('year', $date[2])->where('month', $date[1])->where('day', $date[0])->get()->count(); if ($quiz) { return false; } else { return true; } }); $year = date('Y'); $month = date('n'); $day = date('j'); $specialquiz = Specialquiz::where('year', $year)->where('month', $month)->where('day', $day)->first(); $globalSpecialQuiz = null; if (count($specialquiz)) { $globalSpecialQuiz = $specialquiz; } view()->share('global_specialquiz', $globalSpecialQuiz); $quiz = Question::where('year', $year)->where('month', $month)->where('day', $day)->first(); if (count($quiz)) { view()->share('global_leaguequiz', true); } else { view()->share('global_leaguequiz', false); } }
/** * Execute the console command. * * @return mixed */ public function handle() { $year = date('Y'); $month = date('n'); $day = date('j'); $question = Question::where('year', $year)->where('month', $month)->where('day', $day)->first(); if (count($question)) { $leagues = League::where('year', $question->leagueYear())->where('month', $question->leagueMonth())->get(); foreach ($leagues as $key => $league) { $players = json_decode($league->users); foreach ($players as $key => $player) { $user = User::find($player); if ($user->daily_reminder && $user->active) { Mail::send('emails.dailyreminder', [], function ($message) use($user) { $message->from('*****@*****.**', 'Liga Quiz Portugal'); $message->to($user->email, $user->fullName())->subject('Novo quiz já disponível'); }); } } } } $specialquiz = Specialquiz::where('year', $year)->where('month', $month)->where('day', $day)->first(); if (count($specialquiz)) { $users = User::all(); if ($specialquiz->user_id) { $author = User::find($specialquiz->user_id)->fullName(); } else { $author = 'Quiz Portugal'; } foreach ($users as $key => $user) { if (strtotime("+1 day", strtotime($user->subscription)) > time() || $user->isAdmin()) { if ($user->daily_reminder && $user->active) { $data = array('specialquiz' => $specialquiz, 'author' => $author); Mail::send('emails.specialquiz', $data, function ($message) use($user) { $message->from('*****@*****.**', 'Liga Quiz Portugal'); $message->to($user->email, $user->fullName())->subject('Quiz especial disponível'); }); } } } } }
public function correctSpecialQuiz($id) { $specialquiz = Specialquiz::find($id); $date = sprintf('%02d', $specialquiz->day) . '/' . sprintf('%02d', $specialquiz->month) . '/' . $specialquiz->year; $specialquestions = Specialquestion::where('quiz_id', $id)->get(); $answers = []; foreach ($specialquestions as $key => $specialquestion) { $answers[$specialquestion->id] = Specialanswer::where('question_id', $specialquestion->id)->where('submitted', 1)->get(); } return view('admin/correctSpecialQuiz')->with(['questions' => $specialquestions, 'answers' => $answers, 'date' => $date]); }
public function submitSpecialQuiz(Request $request) { $input = $request->all(); $inputs = []; foreach ($input as $key => $value) { if (substr($key, 0, strlen('answer')) === 'answer') { $inputs[$key] = 'required'; $question_id = explode('_', $key)[1]; } } $inputs['banker'] = ['max:5']; $this->validate($request, $inputs); $year = date('Y'); $month = date('n'); $day = date('j'); $user_id = Auth::user()->id; foreach ($inputs as $key => $validation) { if (substr($key, 0, strlen('answer')) === 'answer') { $question_id = explode('_', $key)[1]; $specialquestion = Specialquestion::find($question_id); $specialquiz = Specialquiz::find($specialquestion->quiz_id); if (!($specialquiz->year == $year && $specialquiz->month == $month && $specialquiz->day == $day)) { return redirect()->route('specialquiz'); } $answer = Specialanswer::where('question_id', $question_id)->where('user_id', $user_id)->where('submitted', 1)->get(); if (isset($input['banker']) && in_array($question_id, $input['banker'])) { $banker = 1; } else { $banker = 0; } if (!count($answer)) { Specialanswer::create(['question_id' => $question_id, 'user_id' => $user_id, 'answer' => $input[$key], 'banker' => $banker, 'submitted' => 1]); } } } return redirect()->route('specialquiz'); }