src/Controller/BugReportController.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\Routing\Annotation\Route;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Contracts\Translation\TranslatorInterface;
  7. use Symfony\Component\Mailer\MailerInterface;
  8. use Symfony\Component\Mime\Email;
  9. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  10. use Symfony\Component\DependencyInjection\ContainerInterface;
  11. class BugReportController  extends AbstractController
  12. {
  13.     /**
  14.      * @Route("/bug/index", name="bug_report_form_process")
  15.      */
  16.     public function indexAction(Request $requestTranslatorInterface $translatorMailerInterface $mailer)
  17.     {
  18.         if ($request->request->has('titre')){
  19.             $upload_dir $_SERVER['DOCUMENT_ROOT'].'/img/bugs/';
  20.             $fileNameImg null;
  21.             $fullPathImage null;
  22.             $cid null;
  23.             if (is_uploaded_file($_FILES['captureEcran']['tmp_name'])) {
  24.                 // NEW FRONT IMAGE
  25.                 $uploadedImage $_FILES['captureEcran'];
  26.                 $file $uploadedImage['tmp_name'];
  27.                 $path_parts pathinfo($uploadedImage['name']);
  28.                 $extension $path_parts['extension'];
  29.                 $fileNameImg md5(uniqid()) . '.' $extension;
  30.                 $fullPathImage $upload_dir $fileNameImg;
  31.                 move_uploaded_file($file$fullPathImage);
  32.             }
  33.             // send email using swiftmailer
  34.             $mailFrom $this->getParameter('email_from'"fiberlink.m6@gmail.com");
  35.             $mailTo $this->getParameter('email_to'"soupramanien@baobab-ingenierie.fr");
  36.             
  37.             $email = (new Email())
  38.                             ->from($mailFrom)
  39.                             ->to($mailTo)
  40.                             ->subject('Signalement de Bug Utilisateur')
  41.                             ->html($this->renderView(
  42.                                     'email/bug_user.html.twig',
  43.                                     array('titre' => $request->request->get('titre'),
  44.                                         'message' => $request->request->get('message'),
  45.                                         'captureEcran'=> $cid)
  46.                             ));
  47.                             if ($fullPathImage != null) {
  48.                                 $email $email->embedFromPath($fullPathImage$fileNameImg'image/'.$extension);
  49.                             }
  50.             // $message = (new \Swift_Message('Signalement de Bug Utilisateur'));
  51.             // if ($fullPathImage) {
  52.             //   $cid = $message->embed(\Swift_Image::fromPath($fullPathImage));
  53.             // }
  54.             // $message->setFrom($mailFrom)
  55.             // ->setTo($mailTo)
  56.             // ->setBody(
  57.             //     $this->renderView(
  58.             //         // app/Resources/views/Emails/registration.html.twig
  59.             //         'email/bug_user.html.twig',
  60.             //         array('titre' => $request->request->get('titre'),
  61.             //               'message' => $request->request->get('message'),
  62.             //               'captureEcran'=> $cid)
  63.             //     ),
  64.             //     'text/html'
  65.             // );
  66.             try {
  67.                 $mailer->send($email);
  68.                 // // $this->get('mailer')->send($message);
  69.                 // $https['ssl']['verify_peer'] = FALSE;
  70.                 // $https['ssl']['verify_peer_name'] = FALSE;
  71.                 // // $transport = \Swift_SmtpTransport::newInstance($this->getParameter('mailer_host'), $this->getParameter('mailer_port'),  $this->getParameter('mailer_encryption'))
  72.                 // //     ->setUsername($this->getParameter('mailer_user'))
  73.                 // //     ->setPassword($this->getParameter('mailer_password'))
  74.                 // //     ->setStreamOptions($https)
  75.                 // // ;
  76.                 // $transport = new \Swift_SmtpTransport($this->container->getParameter('mailer_host'), $this->container->getParameter('mailer_port'),  $this->container->getParameter('mailer_encryption'));
  77.                 // $transport->setUsername($this->container->getParameter('mailer_user'));
  78.                 // $transport->setPassword($this->container->getParameter('mailer_password'));
  79.                 // $transport->setStreamOptions($https);
  80.                 // $this->get('mailer')->newInstance($transport)->send($message);
  81.             } catch (\Exception $e) {
  82.             }
  83.             $this->addFlash(
  84.                 'msg',
  85.                 'Message envoyé avec succès'
  86.             );
  87.             return $this->redirectToRoute('bug_report_form_process');
  88.         }
  89.         else {
  90.             return $this->render('BugReport/index.html.twig', array(
  91.                 'page_title' => $translator->trans('Signaler un Bug'),
  92.                 'box_title' => '<i class="fa fa-plus-circle fa-fw"></i>'.$translator->trans('Signaler un Bug')
  93.             ));
  94.         }
  95.     }
  96.     /**
  97.      * @Route("/bug/log_file_download", name="log_file_download")
  98.      */
  99.     public function logFileDownloadAction(ContainerInterface $container){
  100.         $pdfPath $container->get("kernel")->getLogDir().'/prod.log';
  101.         return $this->file($pdfPath);
  102.     }
  103. }