Exemplo n.º 1
0
 /**
  * Met fin aux quizz qui sont arrivés à terme
  */
 public function end()
 {
     // Intance de transport de l'envoie de mail
     $transport = \Swift_SmtpTransport::newInstance('ssl://smtp.gmail.com', 465)->setUsername('*****@*****.**')->setPassword('nxp9j3nxphilonico');
     $mailer = \Swift_Mailer::newInstance($transport);
     // Récupération de tous les quizz non supprimé et non finis
     $quizzs = Quizz::end();
     foreach ($quizzs as $quizz) {
         // Récupérer le meilleur utilisateur dans la table games
         $score = Game::score($quizz->id);
         $winner = Game::winner($score->id_quizz, $score->score);
         // Changer le status du quizz et update le winner
         $quizzCurrent = Quizz::id($quizz->id);
         $quizzCurrent->update(['status' => 4, 'winner' => $winner->id_facebook, 'updated_at' => date('Y-m-d')]);
         // Envoyer un mail au gagnant
         $message = \Swift_Message::newInstance('Wequizz')->setFrom(['*****@*****.**' => 'Nicolas Blanchet'])->setTo(['*****@*****.**' => 'Nicolas Blanchet 1'])->setBody('Gagnant du quizz ' . $quizz['title'] . ' sur le thème ' . $quizz['theme'] . ' de la plateforme Wequizz');
         $mailer->send($message);
         // Envoyer un mail à tous les participant pour qu'ils sachent que le quizz est finis
         $destinataire = [];
         $players = Game::playerList($quizz['id']);
         foreach ($players as $player) {
             $user = User::endQuizzList($player->id_facebook);
             $destinataire = array_merge($destinataire, [$user->email => $user->firstname . ' ' . $user->lastname]);
         }
         $message = \Swift_Message::newInstance('Wequizz')->setFrom(['*****@*****.**' => 'Nicolas Blanchet'])->setTo($destinataire)->setBody('Le quizz ' . $quizz['title'] . ' sur le thème ' . $quizz['theme'] . ' est arrivé à on terme pour voir le résultat nous vous invitons a venir sur l\'application en cliquant sur le lient suivant :');
         $mailer->send($message);
         // TODO : Envoyer une notification au gagnant et à tous les particiapants
     }
     return redirect(route('admin.home'))->with('success', 'Désignation des vainqueurs réussis');
 }