/** * 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'); }