src/Controller/Produit/Service/ServiceController.php line 671

Open in your IDE?
  1. <?php
  2. /*(c) Noel Kenfack <noel.kenfack@yahoo.fr> Février 2016
  3. */
  4. namespace App\Controller\Produit\Service;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use App\Form\Produit\Service\ServiceType;
  8. use App\Form\Produit\Service\RessourcearticleType;
  9. use App\Entity\Produit\Service\Service;
  10. use App\Entity\Produit\Service\Ressourcearticle;
  11. use App\Entity\Produit\Service\Commentaireblog;
  12. use App\Form\Produit\Service\CommentaireblogType;
  13. use App\Form\Produit\Service\EvenementType;
  14. use App\Entity\Produit\Service\Typearticle;
  15. use App\Form\Produit\Service\TypearticleType;
  16. use App\Entity\Produit\Service\Evenement;
  17. use App\Entity\Produit\Service\Imgevenement;
  18. use General\TemplateBundle\Entites\Recherche;
  19. use Symfony\Component\HttpFoundation\Request;
  20. use App\Service\Servicetext\GeneralServicetext;
  21. use App\Entity\Produit\Service\Apropos;
  22. use App\Entity\Produit\Produit\Categorie;
  23. use App\Entity\Produit\Service\Recrutement;
  24. class ServiceController extends AbstractController
  25. {
  26. public function nouveauservice(GeneralServicetext $serviceRequest $request$add)
  27. {
  28.     $em $this->getDoctrine()->getManager();
  29.     $nosservice = new Service($service);
  30.     $form $this->createForm(ServiceType::class, $nosservice);
  31.     
  32.     $typearticle = new Typearticle($service);
  33.     $formtype $this->createForm(TypearticleType::class, $typearticle);
  34.     
  35.     $formsupp $this->createFormBuilder()->getForm();
  36.     if ($request->getMethod() == 'POST'){
  37.         $form->handleRequest($request);
  38.         $nosservice->setUser($this->getUser());
  39.         if($nosservice->getImgservice() !== null)
  40.         {
  41.             $nosservice->getImgservice()->setServicetext($service);
  42.         }
  43.         if(isset($_POST['typearticle']))
  44.         {
  45.             $nosservice->setTypearticle($_POST['typearticle']);
  46.             if($_POST['typearticle'] == 'aproposinstitut' and isset($_POST['articleapropos']))
  47.             {
  48.                 $type $em->getRepository(Typearticle::class)
  49.                            ->find($_POST['articleapropos']);
  50.                 if($type != null)
  51.                 {
  52.                     $nosservice->setType($type);
  53.                 }
  54.             }
  55.             if($_POST['typearticle'] == 'evenement' and isset($_POST['evenement']))
  56.             {
  57.                 $type $em->getRepository(Typearticle::class)
  58.                            ->find($_POST['evenement']);
  59.                 if($type != null)
  60.                 {
  61.                     $nosservice->setType($type);
  62.                 }
  63.                 if(isset($_POST['evenement_date']))
  64.                 {
  65.                     $nosservice->setDateEvent(new \Datetime($_POST['evenement_date']));
  66.                 }
  67.             }
  68.             if($_POST['typearticle'] == 'actualite' and isset($_POST['actualite']))
  69.             {
  70.                 $type $em->getRepository(Typearticle::class)
  71.                            ->find($_POST['actualite']);
  72.                 if($type != null)
  73.                 {
  74.                     $nosservice->setType($type);
  75.                 }
  76.             }
  77.             if($_POST['typearticle'] == 'demarcheaz' and isset($_POST['demarcheaz']))
  78.             {
  79.                 $type $em->getRepository(Typearticle::class)
  80.                            ->find($_POST['demarcheaz']);
  81.                 if($type != null)
  82.                 {
  83.                     $nosservice->setType($type);
  84.                 }
  85.             }
  86.             if($_POST['typearticle'] == 'temoignage' and isset($_POST['temoignage']))
  87.             {
  88.                 $type $em->getRepository(Typearticle::class)
  89.                            ->find($_POST['temoignage']);
  90.                 if($type != null)
  91.                 {
  92.                     $nosservice->setType($type);
  93.                 }
  94.             }
  95.             if($_POST['typearticle'] == 'mediatheque' and isset($_POST['mediatheque']))
  96.             {
  97.                 $type $em->getRepository(Typearticle::class)
  98.                            ->find($_POST['mediatheque']);
  99.                 if($type != null)
  100.                 {
  101.                     $nosservice->setType($type);
  102.                 }
  103.             }
  104.             if($_POST['typearticle'] == 'planingcours' and isset($_POST['planingcours']))
  105.             {
  106.                 $type $em->getRepository(Typearticle::class)
  107.                            ->find($_POST['planingcours']);
  108.                 if($type != null)
  109.                 {
  110.                     $nosservice->setType($type);
  111.                 }
  112.             }
  113.             if($_POST['typearticle'] == 'modepaiement' and isset($_POST['modepaiement']))
  114.             {
  115.                 $type $em->getRepository(Typearticle::class)
  116.                            ->find($_POST['modepaiement']);
  117.                 if($type != null)
  118.                 {
  119.                     $nosservice->setType($type);
  120.                 }
  121.             }
  122.             if($_POST['typearticle'] == 'aide' and isset($_POST['aide']))
  123.             {
  124.                 $type $em->getRepository(Typearticle::class)
  125.                            ->find($_POST['aide']);
  126.                 if($type != null)
  127.                 {
  128.                     $nosservice->setType($type);
  129.                 }
  130.             }
  131.             if($_POST['typearticle'] == 'galeriephoto' and isset($_POST['galeriephoto']))
  132.             {
  133.                 $type $em->getRepository(Typearticle::class)
  134.                            ->find($_POST['galeriephoto']);
  135.                 if($type != null)
  136.                 {
  137.                     $nosservice->setType($type);
  138.                 }
  139.             }
  140.         }
  141.         
  142.         if ($form->isValid()){
  143.             $em->persist($nosservice);
  144.             $em->flush();
  145.             $this->get('session')->getFlashBag()->add('information','Enregistrement effectué avec succès');
  146.         }else{
  147.             $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée, Choisissez un type et retransmettez le formulaire!');
  148.         }
  149.     }
  150.     $liste_service $em->getRepository(Service::class)
  151.                               ->myfindAll();
  152.                               
  153.     $type_article $em->getRepository(Typearticle::class)
  154.                         ->findAll();    
  155.     $type_apropos $em->getRepository(Typearticle::class)
  156.                               ->findBy(array('position'=>'aproposinstitut'));
  157.                               
  158.     $type_evenement $em->getRepository(Typearticle::class)
  159.                               ->findBy(array('position'=>'evenement'));
  160.                               
  161.     $type_actualite $em->getRepository(Typearticle::class)
  162.                               ->findBy(array('position'=>'actualite'));
  163.                               
  164.     $type_demarcheaz $em->getRepository(Typearticle::class)
  165.                           ->findBy(array('position'=>'demarcheaz'));
  166.     
  167.     $type_temoignage $em->getRepository(Typearticle::class)
  168.                           ->findBy(array('position'=>'temoignage'));
  169.                           
  170.     $type_mediatheque $em->getRepository(Typearticle::class)
  171.                           ->findBy(array('position'=>'mediatheque'));
  172.     
  173.     $type_planingcours $em->getRepository(Typearticle::class)
  174.                           ->findBy(array('position'=>'planingcours'));
  175.                           
  176.     $type_modepaiement $em->getRepository(Typearticle::class)
  177.                           ->findBy(array('position'=>'modepaiement'));
  178.     
  179.     $type_aide $em->getRepository(Typearticle::class)
  180.                           ->findBy(array('position'=>'aide'));
  181.     
  182.     $type_galeriephoto $em->getRepository(Typearticle::class)
  183.                           ->findBy(array('position'=>'galeriephoto'));
  184.                         
  185.     return $this->render('Theme/Users/Adminuser/Service/nouveauservice.html.twig',
  186.     array('form'=>$form->createView(),'formsupp'=>$formsupp->createView(),
  187.     'formtype'=>$formtype->createView(),'add'=>$add,'type_apropos'=>$type_apropos,'type_actualite'=>$type_actualite,
  188.     'type_temoignage'=>$type_temoignage,'type_article'=>$type_article,'liste_service'=>$liste_service,'type_evenement'=>$type_evenement,
  189.     'type_demarcheaz'=>$type_demarcheaz,'type_mediatheque'=>$type_mediatheque,'type_planingcours'=>$type_planingcours,
  190.     'type_modepaiement'=>$type_modepaiement,'type_aide'=>$type_aide,'type_galeriephoto'=>$type_galeriephoto));
  191. }
  192. public function articlespartype($idtype$page)
  193. {
  194.     $em $this->getDoctrine()->getManager();
  195.     
  196.     $typearticle $em->getRepository(Typearticle::class)
  197.                       ->find($idtype);
  198.     if($typearticle != null)
  199.     {
  200.         $liste_article $em->getRepository(Service::class)
  201.                             ->findArticleType($typearticle->getId(), $page30);
  202.     }else{
  203.         $liste_article $em->getRepository(Service::class)
  204.                             ->findAllArticle($page30);
  205.     }
  206.     $formsupp $this->createFormBuilder()->getForm();     
  207.     
  208.     return $this->render('Theme/Users/Adminuser/Service/articlespartype.html.twig',
  209.     array('liste_article'=>$liste_article,'typearticle'=>$typearticle,'formsupp'=>$formsupp->createView(),
  210.     'nombrepage' => ceil(count($liste_article)/30),'page'=>$page,'idtype'=>$idtype));
  211. }
  212. public function listeparties(Service $articleGeneralServicetext $service)
  213. {
  214.     $evenement = new Evenement($service);
  215.     $formeven $this->createForm(EvenementType::class, $evenement);
  216.     return $this->render('Theme/Users/Adminuser/Service/listeparties.html.twig',
  217.     array('article'=>$article'formeven'=>$formeven->createView()));
  218. }
  219. public function modifierservice($idGeneralServicetext $serviceRequest $request)
  220. {
  221.     $em $this->getDoctrine()->getManager();
  222.     if(isset($_GET['id']))
  223.     {
  224.         $id $_GET['id'];
  225.     }else{
  226.         $id $id;
  227.     }
  228.     $article $em->getRepository(Service::class)
  229.                     ->find($id);
  230.     if($article != null)
  231.     {
  232.     $form $this->createForm(ServiceType::class, $article);
  233.     if ($request->getMethod() == 'POST'){
  234.         $form->handleRequest($request);
  235.         $article->setServicetext($service);
  236.         if ($form->isValid()){
  237.             
  238.             $article->setUser($this->getUser());
  239.             if($article->getImgservice() !== null)
  240.             {
  241.                 $article->getImgservice()->setServicetext($service);
  242.             }
  243.             
  244.             if(isset($_POST['typearticle']))
  245.             {
  246.                 $article->setTypearticle($_POST['typearticle']);
  247.                 if($_POST['typearticle'] == 'aproposinstitut' and isset($_POST['articleapropos']))
  248.                 {
  249.                     $type $em->getRepository(Typearticle::class)
  250.                                ->find($_POST['articleapropos']);
  251.                     if($type != null)
  252.                     {
  253.                         $article->setType($type);
  254.                     }
  255.                 }
  256.                 if($_POST['typearticle'] == 'evenement' and isset($_POST['evenement']))
  257.                 {
  258.                     $type $em->getRepository(Typearticle::class)
  259.                                ->find($_POST['evenement']);
  260.                     if($type != null)
  261.                     {
  262.                         $article->setType($type);
  263.                     }
  264.                 }
  265.                 if($_POST['typearticle'] == 'actualite' and isset($_POST['actualite']))
  266.                 {
  267.                     $type $em->getRepository(Typearticle::class)
  268.                                ->find($_POST['actualite']);
  269.                     if($type != null)
  270.                     {
  271.                         $article->setType($type);
  272.                     }
  273.                 }
  274.                 
  275.                 if($_POST['typearticle'] == 'demarcheaz' and isset($_POST['demarcheaz']))
  276.                 {
  277.                     $type $em->getRepository(Typearticle::class)
  278.                                ->find($_POST['demarcheaz']);
  279.                     if($type != null)
  280.                     {
  281.                         $article->setType($type);
  282.                     }
  283.                 }
  284.                 if($_POST['typearticle'] == 'temoignage' and isset($_POST['temoignage']))
  285.                 {
  286.                     $type $em->getRepository(Typearticle::class)
  287.                                ->find($_POST['temoignage']);
  288.                     if($type != null)
  289.                     {
  290.                         $article->setType($type);
  291.                     }
  292.                 }
  293.                 if($_POST['typearticle'] == 'mediatheque' and isset($_POST['mediatheque']))
  294.                 {
  295.                     $type $em->getRepository(Typearticle::class)
  296.                                ->find($_POST['mediatheque']);
  297.                     if($type != null)
  298.                     {
  299.                         $article->setType($type);
  300.                     }
  301.                 }
  302.                 if($_POST['typearticle'] == 'planingcours' and isset($_POST['planingcours']))
  303.                 {
  304.                     $type $em->getRepository(Typearticle::class)
  305.                                ->find($_POST['planingcours']);
  306.                     if($type != null)
  307.                     {
  308.                         $article->setType($type);
  309.                     }
  310.                 }
  311.                 if($_POST['typearticle'] == 'modepaiement' and isset($_POST['modepaiement']))
  312.                 {
  313.                     $type $em->getRepository(Typearticle::class)
  314.                                ->find($_POST['modepaiement']);
  315.                     if($type != null)
  316.                     {
  317.                         $article->setType($type);
  318.                     }
  319.                 }
  320.                 if($_POST['typearticle'] == 'aide' and isset($_POST['aide']))
  321.                 {
  322.                     $type $em->getRepository(Typearticle::class)
  323.                                ->find($_POST['aide']);
  324.                     if($type != null)
  325.                     {
  326.                         $article->setType($type);
  327.                     }
  328.                 }
  329.                 if($_POST['typearticle'] == 'galeriephoto' and isset($_POST['galeriephoto']))
  330.                 {
  331.                     $type $em->getRepository(Typearticle::class)
  332.                                ->find($_POST['galeriephoto']);
  333.                     if($type != null)
  334.                     {
  335.                         $article->setType($type);
  336.                     }
  337.                 }
  338.             }
  339.         
  340.             $em->flush();
  341.             $this->get('session')->getFlashBag()->add('information','Modification effectuée avec succès');
  342.         }else{
  343.         $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée!');
  344.         }
  345.         
  346.         if($article->getType() != null)
  347.         {
  348.             return $this->redirect($this->generateUrl('users_adminuser_liste_article_type', array('idtype'=>$article->getType()->getId())));
  349.         }else{
  350.             return $this->redirect($this->generateUrl('users_adminuser_liste_article_type'));
  351.         }
  352.     }
  353.     
  354.                               
  355.     $type_article $em->getRepository(Typearticle::class)
  356.                         ->findAll();    
  357.     $type_apropos $em->getRepository(Typearticle::class)
  358.                               ->findBy(array('position'=>'aproposinstitut'));
  359.                               
  360.     $type_evenement $em->getRepository(Typearticle::class)
  361.                          ->findBy(array('position'=>'evenement'));
  362.                          
  363.     $type_actualite $em->getRepository(Typearticle::class)
  364.                          ->findBy(array('position'=>'actualite'));
  365.                          
  366.     $type_demarcheaz $em->getRepository(Typearticle::class)
  367.                          ->findBy(array('position'=>'demarcheaz'));
  368.                          
  369.     $type_temoignage $em->getRepository(Typearticle::class)
  370.                          ->findBy(array('position'=>'temoignage'));
  371.     
  372.     $type_mediatheque $em->getRepository(Typearticle::class)
  373.                          ->findBy(array('position'=>'mediatheque'));
  374.                          
  375.     $type_planingcours $em->getRepository(Typearticle::class)
  376.                          ->findBy(array('position'=>'planingcours'));
  377.     
  378.     $type_modepaiement $em->getRepository(Typearticle::class)
  379.                          ->findBy(array('position'=>'modepaiement'));
  380.     
  381.     $type_aide $em->getRepository(Typearticle::class)
  382.                          ->findBy(array('position'=>'aide'));
  383.                          
  384.     $type_galeriephoto $em->getRepository(Typearticle::class)
  385.                           ->findBy(array('position'=>'galeriephoto'));
  386.     return $this->render('Theme/Users/Adminuser/Service/modifierservice.html.twig',
  387.     array('form'=>$form->createView(),'article'=>$article,'type_actualite'=>$type_actualite,'type_temoignage'=>$type_temoignage,
  388.     'type_apropos'=>$type_apropos,'type_evenement'=>$type_evenement,'type_demarcheaz'=>$type_demarcheaz,'type_modepaiement'=>$type_modepaiement,
  389.     'type_mediatheque'=>$type_mediatheque,'type_planingcours'=>$type_planingcours,'type_aide'=>$type_aide,'type_galeriephoto'=>$type_galeriephoto));
  390.     }else{
  391.         echo 'Echec ! Une erreur a été rencontrée.';
  392.         exit;
  393.     }
  394. }
  395. public function addnewressource($id$nameGeneralServicetext $serviceRequest $request)
  396. {
  397.     $em $this->getDoctrine()->getManager();
  398.     if(isset($_GET['id']))
  399.     {
  400.         $id $_GET['id'];
  401.     }else{
  402.         $id $id;
  403.     }
  404.     if(isset($_GET['name']))
  405.     {
  406.         $name $_GET['name'];
  407.     }else{
  408.         $name $name;
  409.     }
  410.     $article $em->getRepository(Service::class)
  411.                     ->find($id);
  412.     if($article != null)
  413.     {
  414.         $request $this->get('request');
  415.         if ($request->getMethod() == 'POST'){
  416.             $tab = array();
  417.             if($_POST['recommandation'])
  418.             {
  419.                 $tab explode(','$_POST['recommandation']);
  420.             }
  421.             
  422.             
  423.             $liste_ressource $em->getRepository(Service::class)
  424.                                   ->findBy(array('id'=>$tab));
  425.             foreach($liste_ressource as $ressource)
  426.             {
  427.                 $oldarticle $em->getRepository(Ressourcearticle::class)
  428.                                   ->findOneBy(array('service'=>$article,'ressource'=>$ressource),array('date'=>'desc'),1);
  429.                 if($oldarticle == null)
  430.                 {
  431.                     $ressourcearticle = new Ressourcearticle();
  432.                     $ressourcearticle->setUser($this->getUser());
  433.                     $ressourcearticle->setService($article);
  434.                     $ressourcearticle->setRessource($ressource);
  435.                     $ressourcearticle->setType($name);
  436.                     $em->persist($ressourcearticle);
  437.                 }
  438.             }
  439.             $em->flush();
  440.             return $this->redirect($this->generateUrl('users_adminuser_liste_article_type', array('idtype'=>$article->getType()->getId())));
  441.         }
  442.         
  443.         if($name == 'photo')
  444.         {
  445.             $liste_article $em->getRepository(Service::class)
  446.                                 ->findPhotoArticle($article->getId());
  447.         }else{
  448.             $liste_article $em->getRepository(Service::class)
  449.                                 ->findVideoArticle($article->getId());
  450.         }
  451.             
  452.         return $this->render('Theme/Users/Adminuser/Service/addnewressource.html.twig',
  453.         array('article'=>$article,'liste_article'=>$liste_article,'name'=>$name));
  454.     }else{
  455.         echo 'Echec ! Une erreur a été rencontrée.';
  456.         exit;
  457.     }
  458. }
  459. public function menuleft()
  460. {
  461.     $em $this->getDoctrine()->getManager();
  462.     $liste_formation $em->getRepository(Categorie::class)
  463.                              ->myTypeFormation(2);
  464.     foreach($liste_formation as $formation)
  465.     {
  466.         $formation->setEm($em);
  467.         foreach($formation->getSouscategories() as $scat)
  468.         {
  469.             $scat->setEm($em);
  470.         }
  471.     }
  472.     return $this->render('Theme/Produit/Service/Apropos/menuleft.html.twig',
  473.     array('liste_formation'=>$liste_formation));
  474. }
  475. public function addevenement(Service $nosserviceGeneralServicetext $serviceRequest $request)
  476. {
  477.     $em $this->getDoctrine()->getManager();
  478.     $evenement = new Evenement($service);
  479.     $formeven $this->createForm(EvenementType::class, $evenement);
  480.     if ($request->getMethod() == 'POST'){
  481.         $formeven->handleRequest($request);
  482.         $evenement->setUser($this->getUser());
  483.         $evenement->setService($nosservice);
  484.         if($evenement->getImgevenement() !== null)
  485.         {
  486.             $evenement->getImgevenement()->setServicetext($service);
  487.         }
  488.         
  489.         if($formeven->isValid() and isset($_POST['typearticle'])){
  490.             $evenement->setTypearticle($_POST['typearticle']);
  491.             $em->persist($evenement);
  492.             $em->flush();
  493.             $this->get('session')->getFlashBag()->add('information','Enregistrement effectué avec succès');
  494.         }else{
  495.             $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée !');
  496.         }
  497.     }
  498.     if($nosservice->getType() != null)
  499.     {
  500.         return $this->redirect($this->generateUrl('users_adminuser_liste_article_type', array('idtype'=>$nosservice->getType()->getId())));
  501.     }else{
  502.         return $this->redirect($this->generateUrl('users_adminuser_liste_article_type'));
  503.     }
  504. }
  505. public function supprimevenement(Evenement $partieRequest $request )
  506. {
  507.     $em $this->getDoctrine()->getManager();
  508.     $formsupp $this->createFormBuilder()->getForm();
  509.     if ($request->getMethod() == 'POST'){
  510.         $formsupp->handleRequest($request);
  511.         if ($formsupp->isValid()){
  512.             $em->remove($partie);
  513.             $em->flush();
  514.             $this->get('session')->getFlashBag()->add('information','Suppression effectuée avec succès');
  515.         }
  516.     }else{
  517.         $this->get('session')->getFlashBag()->add('supprime_even',$partie->getId());
  518.         $this->get('session')->getFlashBag()->add('supprime_even',$partie->getNom());
  519.     }
  520.     
  521.     if($partie->getService()->getType() != null)
  522.     {
  523.         return $this->redirect($this->generateUrl('users_adminuser_liste_article_type'
  524.         array('id'=>$partie->getService()->getType()->getId())));
  525.     }else{
  526.         return $this->redirect($this->generateUrl('users_adminuser_liste_article_type'));
  527.     }
  528. }
  529. public function supprimerservice(Service $serviceRequest $request )
  530. {
  531.     $em $this->getDoctrine()->getManager();
  532.         $formsupp $this->createFormBuilder()->getForm();
  533.         if ($request->getMethod() == 'POST'){
  534.             $formsupp->handleRequest($request);
  535.             if($formsupp->isValid()){
  536.                 $liste_evenement $em->getRepository(Evenement::class)
  537.                                       ->findBy(array('service'=>$service));
  538.                 if(count($liste_evenement) == 0)
  539.                 {
  540.                     $em->remove($service);
  541.                     $em->flush();
  542.                     $this->get('session')->getFlashBag()->add('information','Suppression effectuée avec succès');
  543.                 }else{
  544.                     $this->get('session')->getFlashBag()->add('information','Action réfusée! cette evénement contient les action.');
  545.                 }
  546.             }
  547.         }else{
  548.             $this->get('session')->getFlashBag()->add('supprime_prod',$service->getId());
  549.             $this->get('session')->getFlashBag()->add('supprime_prod',$service->getNom());
  550.         }
  551.     if($service->getType() != null)
  552.     {
  553.         return $this->redirect($this->generateUrl('users_adminuser_liste_article_type', array('idtype'=>$service->getType()->getId())));
  554.     }else{
  555.         return $this->redirect($this->generateUrl('users_adminuser_liste_article_type'));
  556.     }
  557. }
  558. public function presentation(GeneralServicetext $ser$id 0)
  559. {
  560.     $em $this->getDoctrine()->getManager();
  561.     $liste_service $em->getRepository(Service::class)
  562.                         ->myfindAll();
  563.     if($id != 0)
  564.     {
  565.         $service $em->getRepository(Service::class)
  566.                       ->find($id);
  567.         $newliste = new \Doctrine\Common\Collections\ArrayCollection();
  568.         if($service != null)
  569.         {
  570.         $newliste[] = $service;
  571.         }
  572.         foreach($liste_service as $courantservice)
  573.         {
  574.             if($service != $courantservice)
  575.             {
  576.                 $newliste[] = $courantservice;
  577.             }
  578.         }
  579.         $liste_service $newliste;
  580.     }else{
  581.         $compt 0;
  582.         foreach($liste_service as $ser)
  583.         {
  584.             if($compt == 0)
  585.             {
  586.                 $service $ser;
  587.                 break;
  588.             }
  589.         }
  590.     }
  591.     if($service != null)
  592.     {
  593.         $repository $em->getRepository(Apropos::class);
  594.         $liste_team $repository->FindBy(array('particulier'=>true));
  595.         
  596.         $team_select $ser->selectEntities($liste_team3);
  597.         $liste_envent $em->getRepository(Evenement::class)
  598.                         ->findBy(array('service'=>$service),array('rang'=>'asc'));
  599.         return $this->render('Theme/Produit/Service/Service/presentation.html.twig'
  600.         array('liste_envent'=>$liste_envent,'service'=>$service,'liste_service'=>$liste_service,'team_select'=>$team_select));
  601.     }else{
  602.         return $this->redirect($this->generateUrl('users_user_acces_plateforme'));
  603.     }
  604. }
  605. public function notreblog($id$page)
  606. {
  607.     $em $this->getDoctrine()->getManager();
  608.     $typearticle $em->getRepository(Typearticle::class)
  609.                      ->find($id);
  610.     if($typearticle != null)
  611.     {
  612.         $liste_blog $em->getRepository(Service::class)
  613.                          ->myAllBlog($typearticle->getId(),$page,8,'specialeoffert');
  614.     }else{
  615.         $liste_blog $em->getRepository(Service::class)
  616.                          ->findBlog($page,8,'specialeoffert');
  617.     }        
  618.                      
  619.     return $this->render('Theme/Produit/Service/Service:notreblog.html.twig',
  620.     array('liste_blog'=>$liste_blog,'page'=>$page,'nombrepage' => ceil(count($liste_blog)/8)));
  621. }
  622. public function evenements($id$page)
  623. {
  624.     $em $this->getDoctrine()->getManager();
  625.     
  626.     $typearticle $em->getRepository(Typearticle::class)
  627.                      ->find($id);
  628.     if($typearticle != null)
  629.     {
  630.         $liste_blog $em->getRepository(Service::class)
  631.                          ->myAllBlog($typearticle->getId(),$page,8,'evenementautre');
  632.     }else{
  633.         $liste_blog $em->getRepository(Service::class)
  634.                          ->findBlog($page,8,'evenementautre');
  635.     }        
  636.     
  637.     $event_galerie $em->getRepository(Service::class)
  638.                          ->findBlog(1,12,'evenementgalerie');
  639.     $event_flash $em->getRepository(Service::class)
  640.                          ->findBlog($page,6,'evenementflash');
  641.                          
  642.     return $this->render('Theme/Produit/Service/Service/evenements.html.twig',
  643.     array('liste_blog'=>$liste_blog,'page'=>$page,'nombrepage' => ceil(count($liste_blog)/8),
  644.     'event_galerie'=>$event_galerie,'event_flash'=>$event_flash));
  645. }
  646. public function aproposdenous($position$idtype$idart$page)
  647. {
  648.     $em $this->getDoctrine()->getManager();
  649.     $article $em->getRepository(Service::class)
  650.                   ->find($idart);
  651.     
  652.     $typearticle $em->getRepository(Typearticle::class)
  653.                       ->find($idtype);
  654.     if($typearticle == null and $article != null)
  655.     {
  656.         $typearticle $article->getType();
  657.     }
  658.     if($typearticle == null)
  659.     {
  660.         $typearticle $em->getRepository(Typearticle::class)
  661.                            ->findOneBy(array('position'=>$position), array('rang'=>'desc'));
  662.     }
  663.     if($typearticle != null)
  664.     {
  665.         $liste_article $em->getRepository(Service::class)
  666.                             ->myAllBlog($typearticle->getId(),$page,8,$position);
  667.     }else{ 
  668.         $liste_article $em->getRepository(Service::class)
  669.                          ->findBlog($page,8,'evenement');
  670.     }
  671.      
  672.     $list_typearticle $em->getRepository(Typearticle::class)
  673.                            ->findBy(array('position'=>$position), array('rang'=>'desc'));
  674.     $liste_depliant $em->getRepository(Recrutement::class)
  675.                          ->findSupportByType('depliant');
  676.     $liste_planing $em->getRepository(Recrutement::class)
  677.                          ->findSupportByType('planing');
  678.     return $this->render('Theme/Produit/Service/Service/aproposdenous.html.twig',
  679.     array('article'=>$article,'position'=>$position,'liste_article'=>$liste_article,'page'=>$page,
  680.     'nombrepage' => ceil(count($liste_article)/8),'idtype'=>$idtype,'typearticle'=>$typearticle,
  681.     'list_typearticle'=>$list_typearticle'liste_depliant'=>$liste_depliant,'liste_planing'=>$liste_planing));
  682. }
  683. public function detailarticlesupport($position)
  684. {
  685.     $em $this->getDoctrine()->getManager();
  686.     if($position == 'article')
  687.     {
  688.         
  689.         if(isset($_POST['id']))
  690.         {
  691.             $id $_POST['id'];
  692.         }else{
  693.             $id 0;
  694.         }
  695.         
  696.         $article $em->getRepository(Service::class)
  697.                       ->find($id);
  698.         if($article != null)
  699.         {
  700.             $article->setEm($em);
  701.             
  702.         }else{
  703.             echo 0;
  704.             exit;
  705.         }
  706.         
  707.     }else{
  708.         $article null;
  709.         if(isset($_POST['type']))
  710.         {
  711.             $type $em->getRepository(Typearticle::class)
  712.                        ->findOneBy(array('position'=>$_POST['type']));
  713.                       
  714.             if($type != null)
  715.             {
  716.                 $article $em->getRepository(Service::class)
  717.                               ->findOneBy(array('type'=>$type), array('rang'=>'asc'));
  718.             }
  719.         }
  720.         if($article != null)
  721.         {
  722.             $article->setEm($em);
  723.         }else{
  724.             echo 0;
  725.             exit;
  726.         }
  727.     }
  728.     
  729.     return $this->render('Theme/Produit/Service/Service/detailarticlesupport.html.twig',
  730.     array('article'=>$article));
  731. }
  732. public function affichearticle(Service $service)
  733. {
  734.     if($service->getBlog() == false)
  735.     {
  736.         return $this->redirect($this->generateUrl('users_user_acces_plateforme'));
  737.     }else{
  738.     $em $this->getDoctrine()->getManager();
  739.     $recherche = new Recherche();
  740.     $formBuilder $this->createFormBuilder($recherche);
  741.     $formBuilder
  742.               ->add('donnee''text',array('attr'=>array('class'=>'textbox','placeholder'=>'Lancer une recherche','type'=>'search')));
  743.     $formrecher $formBuilder->getForm();
  744.     $liste_even $em->getRepository(Evenement::class)
  745.                      ->findBy(array('service'=>$service),array('rang'=>'desc'));
  746.     $liste_com $em->getRepository(Commentaireblog::class)
  747.                      ->findBy(array('service'=>$service),array('date'=>'desc'));
  748.     $all_blog $em->getRepository(Service::class)
  749.                      ->myAllBlog();
  750.     $comment = new Commentaireblog();
  751.     $form $this->createForm(new CommentaireblogType$comment);
  752.     return $this->render('Theme/Produit/Service/Service/affichearticle.html.twig',
  753.     array('article'=>$service,'form'=>$form->createView(),'formrecher'=>$formrecher->createView(),'all_blog'=>$all_blog,
  754.     'liste_even'=>$liste_even,'liste_com'=>$liste_com));
  755.     }
  756. }
  757. public function ajoutercommentaire(Service $serviceRequest $request)
  758. {
  759.     $em $this->getDoctrine()->getManager();
  760.     $comment = new Commentaireblog();
  761.     $form $this->createForm(CommentaireblogType::class, $comment);
  762.     if ($request->getMethod() == 'POST'){
  763.     $form->handleRequest($request);
  764.     if($this->getUser() != null)
  765.     {
  766.         $comment->setUser($this->getUser());
  767.     }
  768.     $comment->setService($service);
  769.     if ($form->isValid()){
  770.         $em->persist($comment);
  771.         $em->flush();
  772.         $this->get('session')->getFlashBag()->add('information','Enregistrement effectué avec succès');
  773.     }else{
  774.         $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée !');
  775.     }
  776.     }
  777.     return $this->redirect($this->generateUrl('produit_service_affiche_contenu_detaille_article_blog',array('id'=>$service->getId())));
  778. }
  779. public function supprimercommentaire(Commentaireblog $com)
  780. {
  781.     $service $com->getService();
  782.     $em $this->getDoctrine()->getManager();
  783.     if($this->isGranted('ROLE_GESTION')){
  784.         $em->remove($com);
  785.         $em->flush();
  786.     }
  787.     return $this->redirect($this->generateUrl('produit_service_affiche_contenu_detaille_article_blog',array('id'=>$service->getId())));
  788. }
  789. public function ajouterimgservice(Service $serviceRequest $requestGeneralServicetext $servicetext)
  790. {
  791.     $em $this->getDoctrine()->getManager();
  792.     $imgservice = new Imgevenement();
  793.     $form $this->createForm(ImgevenementType::class, $imgservice);
  794.     $formsupp $this->createFormBuilder()->getForm();
  795.     if($request->getMethod() == 'POST')
  796.     {
  797.         $form->handleRequest($request);
  798.         $imgservice->setUser($this->getUser());
  799.         $imgservice->setService($service);
  800.         $imgservice->setServicetext($servicetext);
  801.         if($form->isValid()){
  802.             $em->persist($imgservice);
  803.             $em->flush();
  804.             $this->get('session')->getFlashBag()->add('information','Publication enregistrée avec succès.');
  805.         }else{
  806.             $this->get('session')->getFlashBag()->add('information','Une erreur a été rencontrée. Vérifiez la taille du fichié');
  807.         }
  808.     }
  809.     $allimage $em->getRepository(Imgevenement::class)
  810.                           ->findBy(array('service'=>$service));
  811.     return $this->render('Theme/Users/Adminuser/Service/ajouterimgservice.html.twig',
  812.     array('form'=>$form->createView(),'allimage'=>$allimage,'formsupp'=>$formsupp->createView(),'service'=>$service));
  813. }
  814. public function supprimerimgservice(Imgevenement $imageRequest $request)
  815. {
  816.     $em $this->getDoctrine()->getManager();
  817.     $formsupp $this->createFormBuilder()->getForm(); 
  818.     $service $image->getService();
  819.     if ($request->getMethod() == 'POST') {
  820.         $formsupp->handleRequest($request);
  821.         if ($formsupp->isValid()){
  822.             $em->remove($image);
  823.             $em->flush();
  824.             $this->get('session')->getFlashBag()->add('information','Suppression effectuée avec succès');
  825.             return $this->redirect($this->generateUrl('users_adminuser_ajouter_image_service_courant',array('id'=>$service->getId())));
  826.         }
  827.     }
  828.     $this->get('session')->getFlashBag()->add('supprime_apropos',$image->getId());
  829.     $this->get('session')->getFlashBag()->add('supprime_apropos',$image->getService()->getNom());
  830.     return $this->redirect($this->generateUrl('users_adminuser_ajouter_image_service_courant',array('id'=>$service->getId())));
  831. }
  832. public function modifierevenement(GeneralServicetext $serviceRequest $request$id)
  833. {
  834.     $em $this->getDoctrine()->getManager();
  835.     if(isset($_GET['id']))
  836.     {
  837.         $id $_GET['id'];
  838.     }else{
  839.         $id $id;
  840.     }
  841.     
  842.     $partie $em->getRepository(Evenement::class)
  843.                     ->find($id);
  844.     if($partie != null)
  845.     {
  846.     $formeven $this->createForm(EvenementType::class, $partie);
  847.     if ($request->getMethod() == 'POST'){
  848.         $formeven->handleRequest($request);
  849.         $partie->setServicetext($service);
  850.         if ($formeven->isValid() and isset($_POST['typearticle'])){
  851.             $partie->setTypearticle($_POST['typearticle']);
  852.             $partie->setUser($this->getUser());
  853.             if($partie->getImgevenement() !== null)
  854.             {
  855.                 $partie->getImgevenement()->setServicetext($service);
  856.             }
  857.         
  858.             $em->flush();
  859.             $this->get('session')->getFlashBag()->add('information','Modification effectuée avec succès');
  860.         }else{
  861.             $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée!');
  862.         }
  863.         if($partie->getService()->getType() != null)
  864.         {
  865.             return $this->redirect($this->generateUrl('users_adminuser_liste_article_type', array('idtype'=>$partie->getService()->getType()->getId())));
  866.         }else{
  867.             return $this->redirect($this->generateUrl('users_adminuser_liste_article_type'));
  868.         }
  869.     }
  870.     return $this->render('Theme/Users/Adminuser/Service/modifierevenement.html.twig',
  871.     array('formeven'=>$formeven->createView(),'partie'=>$partie));
  872.     }else{
  873.         echo 'Echec ! Une erreur a été rencontrée.';
  874.         exit;
  875.     }
  876. }
  877. public function addtypearticle(GeneralServicetext $serviceRequest $request)
  878. {
  879.     $em $this->getDoctrine()->getManager();
  880.     
  881.     $typearticle = new Typearticle($service);
  882.     $formtype $this->createForm(TypearticleType::class, $typearticle);
  883.     if ($request->getMethod() == 'POST' and isset($_POST['typeservice'])){
  884.     $formtype->handleRequest($request);
  885.     $typearticle->setUser($this->getUser());
  886.     if ($formtype->isValid()){
  887.         $typearticle->setPosition($_POST['typeservice']);
  888.         $em->persist($typearticle);
  889.         $em->flush();
  890.         $this->get('session')->getFlashBag()->add('information','Enregistrement effectué avec succès');
  891.     }else{
  892.         $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée, Choisissez un type et retransmettez le formulaire!');
  893.     }
  894.     }
  895.     return $this->redirect($this->generateUrl('users_adminuser_ajouter_nouveau_service'));
  896. }
  897. public function supprimertypearticle(Typearticle $typearticle)
  898. {
  899.     $em $this->getDoctrine()->getManager();
  900.     if(count($typearticle->getServices()) == 0)
  901.     {
  902.         $em->remove($typearticle);
  903.         $em->flush();
  904.         $this->get('session')->getFlashBag()->add('information','Suppression effectuée avec succès');
  905.     }else{
  906.         $this->get('session')->getFlashBag()->add('information','Echec ! Cette catégorie contient les articles, Supprimez lès en premier.');
  907.     }
  908.     return $this->redirect($this->generateUrl('users_adminuser_ajouter_nouveau_service'));
  909. }
  910. public function updatetypearticle(GeneralServicetext $serviceRequest $request$id)
  911. {
  912.     $em $this->getDoctrine()->getManager();
  913.     if(isset($_GET['id']))
  914.     {
  915.         $id $_GET['id'];
  916.     }else{
  917.         $id $id;
  918.     }
  919.     $typearticle $em->getRepository(Typearticle::class)
  920.                     ->find($id);
  921.     if($typearticle != null)
  922.     {
  923.     $formtype $this->createForm(TypearticleType::class, $typearticle);
  924.     if ($request->getMethod() == 'POST'){
  925.         $formtype->handleRequest($request);
  926.         $typearticle->setServicetext($service);
  927.         if ($formtype->isValid() and isset($_POST['typeservice'])){
  928.             $typearticle->setPosition($_POST['typeservice']);
  929.             $em->flush();
  930.             $this->get('session')->getFlashBag()->add('information','Modification effectuée avec succès');
  931.         }else{
  932.         $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée!');
  933.         }
  934.         return $this->redirect($this->generateUrl('users_adminuser_ajouter_nouveau_service'));
  935.     }
  936.     return $this->render('Theme/Users/Adminuser/Service/updatetypearticle.html.twig',
  937.     array('formtype'=>$formtype->createView(),'typearticle'=>$typearticle));
  938.     }else{
  939.         echo 'Echec ! Une erreur a été rencontrée.';
  940.         exit;
  941.     }
  942. }
  943. public function detailactualite(Service $articleGeneralServicetext $service)
  944. {
  945.     $em $this->getDoctrine()->getManager();
  946.     
  947.     return $this->render('Theme/Produit/Service/Service/detailactualite.html.twig',
  948.     array('article'=>$article));
  949. }
  950. public function livresformartion(GeneralServicetext $service)
  951. {
  952.     $em $this->getDoctrine()->getManager();
  953.     return $this->render('Theme/Produit/Service/Service/livresformartion.html.twig');
  954. }
  955. }