/**
  * 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);
     }
 }
Пример #2
0
 /**
  * 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');
                     });
                 }
             }
         }
     }
 }
Пример #3
0
 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' => []]);
     }
 }