/** * 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 viewTodaySpecialQuiz() { $user_id = Auth::user()->id; $year = date('Y'); $month = date('n'); $day = date('j'); $specialquiz = Specialquiz::where('year', $year)->where('month', $month)->where('day', $day)->first(); if (count($specialquiz)) { $questions = Specialquestion::where('quiz_id', $specialquiz->id)->get(); $filetype = []; $answers = []; $i = 1; foreach ($questions as $key => $question) { $filetype[$i] = pathinfo($question->filename, PATHINFO_EXTENSION); $answers[$i] = ''; $i++; } $submitted = false; $i = 1; foreach ($questions as $key => $question) { $answer = Specialanswer::where('question_id', $question['id'])->where('user_id', $user_id)->orderBy('id', 'desc')->first(); $answers[$i] = ''; if ($answer) { $answers[$i] = $answer; if ($answer->submitted) { $submitted = true; } } $i++; } $users = User::all(); if ($submitted) { return view('specialquiz_answered')->with(['questions' => $questions, 'answers' => $answers, 'filetype' => $filetype, 'quiz' => $specialquiz, 'year' => $year, 'month' => $month, 'day' => $day, 'users' => $users, 'ranking' => null]); } else { return view('specialquiz')->with(['questions' => $questions, 'answers' => $answers, 'filetype' => $filetype, 'quiz' => $specialquiz, 'users' => $users]); } } else { return view('specialquiz')->with(['questions' => [], 'filetype' => [], 'quiz' => []]); } }