<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Contracts\Translation\TranslatorInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Email;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class BugReportController extends AbstractController
{
/**
* @Route("/bug/index", name="bug_report_form_process")
*/
public function indexAction(Request $request, TranslatorInterface $translator, MailerInterface $mailer)
{
if ($request->request->has('titre')){
$upload_dir = $_SERVER['DOCUMENT_ROOT'].'/img/bugs/';
$fileNameImg = null;
$fullPathImage = null;
$cid = null;
if (is_uploaded_file($_FILES['captureEcran']['tmp_name'])) {
// NEW FRONT IMAGE
$uploadedImage = $_FILES['captureEcran'];
$file = $uploadedImage['tmp_name'];
$path_parts = pathinfo($uploadedImage['name']);
$extension = $path_parts['extension'];
$fileNameImg = md5(uniqid()) . '.' . $extension;
$fullPathImage = $upload_dir . $fileNameImg;
move_uploaded_file($file, $fullPathImage);
}
// send email using swiftmailer
$mailFrom = $this->getParameter('email_from', "fiberlink.m6@gmail.com");
$mailTo = $this->getParameter('email_to', "soupramanien@baobab-ingenierie.fr");
$email = (new Email())
->from($mailFrom)
->to($mailTo)
->subject('Signalement de Bug Utilisateur')
->html($this->renderView(
'email/bug_user.html.twig',
array('titre' => $request->request->get('titre'),
'message' => $request->request->get('message'),
'captureEcran'=> $cid)
));
if ($fullPathImage != null) {
$email = $email->embedFromPath($fullPathImage, $fileNameImg, 'image/'.$extension);
}
// $message = (new \Swift_Message('Signalement de Bug Utilisateur'));
// if ($fullPathImage) {
// $cid = $message->embed(\Swift_Image::fromPath($fullPathImage));
// }
// $message->setFrom($mailFrom)
// ->setTo($mailTo)
// ->setBody(
// $this->renderView(
// // app/Resources/views/Emails/registration.html.twig
// 'email/bug_user.html.twig',
// array('titre' => $request->request->get('titre'),
// 'message' => $request->request->get('message'),
// 'captureEcran'=> $cid)
// ),
// 'text/html'
// );
try {
$mailer->send($email);
// // $this->get('mailer')->send($message);
// $https['ssl']['verify_peer'] = FALSE;
// $https['ssl']['verify_peer_name'] = FALSE;
// // $transport = \Swift_SmtpTransport::newInstance($this->getParameter('mailer_host'), $this->getParameter('mailer_port'), $this->getParameter('mailer_encryption'))
// // ->setUsername($this->getParameter('mailer_user'))
// // ->setPassword($this->getParameter('mailer_password'))
// // ->setStreamOptions($https)
// // ;
// $transport = new \Swift_SmtpTransport($this->container->getParameter('mailer_host'), $this->container->getParameter('mailer_port'), $this->container->getParameter('mailer_encryption'));
// $transport->setUsername($this->container->getParameter('mailer_user'));
// $transport->setPassword($this->container->getParameter('mailer_password'));
// $transport->setStreamOptions($https);
// $this->get('mailer')->newInstance($transport)->send($message);
} catch (\Exception $e) {
}
$this->addFlash(
'msg',
'Message envoyé avec succès'
);
return $this->redirectToRoute('bug_report_form_process');
}
else {
return $this->render('BugReport/index.html.twig', array(
'page_title' => $translator->trans('Signaler un Bug'),
'box_title' => '<i class="fa fa-plus-circle fa-fw"></i>'.$translator->trans('Signaler un Bug')
));
}
}
/**
* @Route("/bug/log_file_download", name="log_file_download")
*/
public function logFileDownloadAction(ContainerInterface $container){
$pdfPath = $container->get("kernel")->getLogDir().'/prod.log';
return $this->file($pdfPath);
}
}