public function saveOrder($cartIdToOrder, $deliveryPlaceId) { // Modifier le statut du cart et insérer le point de livraison sélectionné $cartManager = new CartManager(); $bookManager = new BookManager(); $deliveryPlaceManager = new DeliveryPlaceManager(); if ($cartManager->convertCartToOrder($cartIdToOrder, $deliveryPlaceId)) { // envoyer un email de confirmation // Récupération des informations du cart, des books et de l'user // user $user = $this->getUser(); // books $booksIds = $cartManager->findAllBooksIdsInCart($cartIdToOrder); $books = $bookManager->showBooks($booksIds); // Récupérer le nom et l'adresse du point relai $deliveryplace = $deliveryPlaceManager->showDeliveryplace($deliveryPlaceId); $recap = '<p>Bonjour ' . $user['username'] . '</p>'; $recap .= '<p>Nous avons pris connaissance de la commande suivante : <br> <table> <thead> <tr> <th> Titre : </th> </tr> </thead> <tbody>'; foreach ($books as $book) { $recap .= '<tr> <td> ' . $book['title'] . ' </td> </tr>'; } $recap .= ' </tbody> </table>'; $recap .= '<p>Vous recevrez prochainement un email vous confirmant l\'envoi de la commande au point relais suivant : ' . $deliveryplace['name'] . ': ' . $deliveryplace['address'] . '</p>'; $recap .= '<p>Merci d\'utiliser notre service, <br> Bdialement <br> L\'équipe de BDloc</p>'; $errorEmail = ""; $mail = new \PHPMailer(); $mail->isSMTP(); $mail->setLanguage('fr'); $mail->CharSet = 'UTF-8'; $mail->SMTPDebug = 2; //0 pour désactiver les infos de débug $mail->Debugoutput = 'html'; $mail->Host = 'smtp.gmail.com'; $mail->Port = 587; $mail->SMTPSecure = 'tls'; $mail->SMTPAuth = true; $mail->Username = "******"; $mail->Password = "******"; $mail->setFrom('*****@*****.**', 'Service de Messagerie BDloc'); $mail->addAddress($user['email']); $mail->isHTML(true); $mail->Subject = 'Confirmation de commande'; $mail->Body = $recap; if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } $this->redirectToRoute('catalog'); } }