src/Controller/Users/User/BilletController.php line 216

Open in your IDE?
  1. <?php
  2. /*
  3.     (c) Noel Kenfack <noel.kenfack@yahoo.fr>
  4. */
  5. namespace App\Controller\Users\User;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use App\Entity\Users\User\Billet;
  9. use App\Form\Users\User\BilletType;
  10. use App\Entity\Users\User\Notification;
  11. use App\Entity\Users\User\Reponsebillet;
  12. use App\Entity\Users\User\User;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use App\Service\Servicetext\GeneralServicetext;
  15. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  16. use App\Service\Email\Singleemail;
  17. class BilletController extends AbstractController
  18. {
  19. private $params;
  20. private $_servicemail;
  21. public function __construct(ParameterBagInterface $paramsSingleemail $servicemail)
  22. {
  23.     $this->params $params;
  24.     $this->_servicemail $servicemail;
  25. }
  26. public function accueilbillet(User $userGeneralServicetext $serviceRequest $request)
  27. {
  28.     $em $this->getDoctrine()->getManager();    
  29.     $billet = new Billet($service);
  30.     $formbillet $this->createForm(BilletType::class, $billet);
  31.     
  32.     if ($request->getMethod() == 'POST')
  33.     {
  34.         $formbillet->handleRequest($request);
  35.         if ($formbillet->isValid()){
  36.             $billet->setUser($user);
  37.             $em->persist($billet);
  38.             $em->flush();
  39.             
  40.             $siteweb $this->params->get('siteweb');
  41.             $sitename $this->params->get('sitename');
  42.             $emailadmin $this->params->get('emailadmin');
  43.             $response $this->_servicemail->sendNotifEmail(
  44.                 'Team '.$sitename//Nom du destinataire
  45.                 $emailadmin//Email Destinataire
  46.                 $user->name(25).', Vient de créer un nouveau billet sur '.$sitename//Objet de l'email
  47.                 $user->name(25).', Vient de créer un nouveau billet sur '.$sitename//Grand Titre de l'email
  48.                 'Rendez-vous sur '.$sitename.' afin de répondre à ce billet.',  //Contenu de l'email
  49.                 $siteweb.'/user/afh/panel/'.$user->getId()  //Lien à suivre
  50.             );
  51.         }else{
  52.             $this->get('session')->getFlashBag()->add('information','Une erreur a été rencontrée !');
  53.         }
  54.     }
  55.     
  56.     $liste_billet $em->getRepository(Billet::class)
  57.                           ->findBy(array('user'=>$user,'avis'=>0), array('date'=>'desc'));
  58.     return $this->render('Theme/Users/User/Billet/accueilbillet.html.twig',
  59.     array('user'=>$user'liste_billet'=>$liste_billet,'formbillet'=>$formbillet->createView()));
  60. }
  61. public function addnewreponse(Billet $billetGeneralServicetext $service$position)
  62. {
  63.     $em $this->getDoctrine()->getManager();
  64.     if(isset($_POST['reponse']))
  65.     {
  66.         $reponse $_POST['reponse'];
  67.     }else{
  68.         $reponse '';
  69.     }
  70.     if ($service->chaineValide($reponse21500)){
  71.         $reponsebillet = new Reponsebillet($service);
  72.         $reponsebillet->setUser($this->getUser());
  73.         $reponsebillet->setDescription($reponse);
  74.         $reponsebillet->setBillet($billet);
  75.         $em->persist($reponsebillet);
  76.         $em->flush();
  77.         
  78.         $siteweb $this->params->get('siteweb');
  79.         $sitename $this->params->get('sitename');
  80.         $emailadmin $this->params->get('emailadmin');
  81.         if($this->getUser() == $billet->getUser())
  82.         {
  83.             $response $this->_servicemail->sendNotifEmail(
  84.                 'Team '.$sitename//Nom du destinataire
  85.                 $emailadmin//Email Destinataire
  86.                 $billet->getUser()->name(25).', Vient d\'ajouter une réponse au billet '.$billet->getTitre(), //Objet de l'email
  87.                 $billet->getUser()->name(25).', Vient d\'ajouter une réponse au billet '.$billet->getTitre(), //Grand Titre de l'email
  88.                 'Rendez-vous sur '.$sitename.' afin de répondre à ce billet.',  //Contenu de l'email
  89.                 $siteweb.'/user/afh/panel/'.$billet->getUser()->getId()  //Lien à suivre
  90.             );
  91.         }else{
  92.             if($service->email($billet->getUser()->getUsername()))
  93.             {
  94.                 $response $this->_servicemail->sendNotifEmail(
  95.                     $billet->getUser()->name(30), //Nom du destinataire
  96.                     $billet->getUser()->getUsername(), //Email Destinataire
  97.                     $this->getUser()->name(25).', Vient d\'ajouter une réponse au billet '.$billet->getTitre(), //Objet de l'email
  98.                     $this->getUser()->name(25).', Vient d\'ajouter une réponse au billet '.$billet->getTitre(), //Grand Titre de l'email
  99.                     'Rendez-vous sur '.$sitename.' afin de consulter sa réponse.',  //Contenu de l'email
  100.                     $siteweb.'/user/afh/panel/'.$billet->getUser()->getId()  //Lien à suivre
  101.                 );
  102.             }
  103.             
  104.             $notification = new Notification($service);
  105.             $notification->setUser($billet->getUser());
  106.             $notification->setTitre($this->getUser()->name(25).', Vient d\'ajouter une réponse au billet '.$billet->getTitre());
  107.             $notification->setDescription('Cliquez ici pour consulter la réponse à votre billet.');
  108.             $em->persist($notification);
  109.             $em->flush();
  110.         }
  111.     }else{
  112.         $this->get('session')->getFlashBag()->add('information','Une erreur a été rencontrée !');
  113.     }
  114.     if($position == 1)
  115.     {
  116.         return $this->redirect($this->generateUrl('users_user_accueil_billet_user', array('id'=>$billet->getUser()->getId(),'position'=>4)));
  117.     }else if($position == and $billet->getPanier() != null)
  118.     {
  119.         return $this->redirect($this->generateUrl('produit_produit_afh_panier_bill', array('id'=>$billet->getPanier()->getId())));
  120.     }else{
  121.         return $this->redirect($this->generateUrl('produit_produit_afh_client_reviews'));
  122.     }
  123. }
  124. public function updatebillet(GeneralServicetext $serviceRequest $request$id)
  125. {
  126.     $em $this->getDoctrine()->getManager();
  127.     if(isset($_GET['id']))
  128.     {
  129.         $id $_GET['id'];
  130.     }else{
  131.         $id $id;
  132.     }
  133.     $billet $em->getRepository(Billet::class)
  134.                     ->find($id);
  135.     if($billet != null)
  136.     {
  137.     $formbillet $this->createForm(BilletType::class, $billet);
  138.     if ($request->getMethod() == 'POST'){
  139.         $formbillet->bind($request);
  140.         if ($formbillet->isValid()){
  141.         $em->flush();
  142.         $this->get('session')->getFlashBag()->add('information','Modification effectuée avec succès');
  143.         }else{
  144.         $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée!');
  145.         }
  146.         return $this->redirect($this->generateUrl('users_user_accueil_billet_user', array('id'=>$billet->getUser()->getId(),'position'=>4)));
  147.     }
  148.     return $this->render('Theme/Users/User/Billet/modificationbillet.html.twig',
  149.     array('formbillet'=>$formbillet->createView(),'billet'=>$billet));
  150.     }else{
  151.         echo 'Echec ! Une erreur a été rencontrée.';
  152.         exit;
  153.     }
  154. }
  155. public function updatereponse(GeneralServicetext $serviceRequest $request$id$position)
  156. {
  157.     $em $this->getDoctrine()->getManager();
  158.     if(isset($_GET['id']))
  159.     {
  160.         $id $_GET['id'];
  161.     }else{
  162.         $id $id;
  163.     }
  164.     
  165.     if(isset($_POST['reponse']))
  166.     {
  167.         $contenu $_POST['reponse'];
  168.     }else{
  169.         $contenu '';
  170.     }
  171.     $reponse $em->getRepository(Reponsebillet::class)
  172.                     ->find($id);
  173.     if($reponse != null)
  174.     {
  175.     $billet $reponse->getBillet();
  176.     if ($request->getMethod() == 'POST'){
  177.         if ($service->chaineValide($contenu21500)){
  178.             $reponse->setUser($this->getUser());
  179.             $reponse->setDescription($contenu);
  180.             $em->flush();
  181.             $this->get('session')->getFlashBag()->add('information','Modification effectuée avec succès');
  182.         }else{
  183.             $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée!');
  184.         }
  185.         
  186.         if($position == 1)
  187.         {
  188.             return $this->redirect($this->generateUrl('users_user_accueil_billet_user', array('id'=>$billet->getUser()->getId(),'position'=>4)));
  189.         }else if($position == and $billet->getPanier() != null)
  190.         {
  191.             return $this->redirect($this->generateUrl('produit_produit_afh_panier_bill', array('id'=>$billet->getPanier()->getId())));
  192.         }else{
  193.             return $this->redirect($this->generateUrl('produit_produit_afh_client_reviews'));
  194.         }
  195.     }
  196.     return $this->render('Theme/Users/User/Billet/updatereponse.html.twig',
  197.     array('reponse'=>$reponse'position' => $position));
  198.     }else{
  199.         echo 'Echec ! Une erreur a été rencontrée.';
  200.         exit;
  201.     }
  202. }
  203. public function aviscarousel()
  204. {
  205.     $em $this->getDoctrine()->getManager();
  206.     $liste_review $em->getRepository(Billet::class)
  207.                     ->myFindTopReview(1,15);
  208.     $repository $em->getRepository(Billet::class);                
  209.     $nbOneAvis $repository->getNbreAvisValeur(1);        
  210.     $nbTwoAvis $repository->getNbreAvisValeur(2);        
  211.     $nbThreeAvis $repository->getNbreAvisValeur(3);        
  212.     $nbFourAvis $repository->getNbreAvisValeur(4);    
  213.     $nbFiveAvis $repository->getNbreAvisValeur(5);    
  214.     $nbAvisTotal $repository->getTotalAvisUtilisateur();    
  215.     /*
  216.     $sommeOneAvis = $repository->getSommeAvisValeur(1);        
  217.     $sommeTwoAvis = $repository->getSommeAvisValeur(2);        
  218.     $sommeThreeAvis = $repository->getSommeAvisValeur(3);        
  219.     $sommeFourAvis = $repository->getSommeAvisValeur(4);    
  220.     $sommeFiveAvis = $repository->getSommeAvisValeur(5);*/
  221.     $sommeAvisTotal $repository->getSommeAvisValide();    
  222.                                     
  223.     return $this->render('Theme/Users/User/Billet/aviscarousel.html.twig',
  224.     array('liste_review'=>$liste_review'nbOneAvis'=>$nbOneAvis'nbTwoAvis'=>$nbTwoAvis'nbThreeAvis'=>$nbThreeAvis
  225.     'nbFourAvis'=>$nbFourAvis'nbFiveAvis'=>$nbFiveAvis,'nbAvisTotal'=>$nbAvisTotal,'sommeAvisTotal'=>$sommeAvisTotal,
  226.     /*'sommeOneAvis'=>$sommeOneAvis, 'sommeTwoAvis'=>$sommeTwoAvis, 'sommeThreeAvis'=>$sommeThreeAvis, 'sommeFourAvis'=>$sommeFourAvis,
  227.     'sommeFiveAvis'=>$sommeFiveAvis*/));
  228. }
  229. }