src/Controller/Produit/Produit/ProduitController.php line 116

Open in your IDE?
  1. <?php
  2. /*
  3. (c) Noel Kenfack <noel.kenfack@yahoo.fr> Février 2015
  4. */
  5. namespace App\Controller\Produit\Produit;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use App\Entity\Produit\Produit\Produit;
  9. use App\Entity\Produit\Produit\Coutlivraison;
  10. use App\Entity\Produit\Produit\Panier;
  11. use App\Entity\Users\User\User;
  12. use App\Entity\Produit\Produit\Produitpanier;
  13. use App\Entity\Produit\Produit\Imgproduit;
  14. use App\Entity\Produit\ProduitBundle\Form\ProduitType;
  15. use App\Entity\Produit\ProduitBundle\Form\CoutlivraisonType;
  16. use App\Entity\Produit\Produit\Souscategorie;
  17. use General\TemplateBundle\Entites\Recherche;
  18. use SoapClient;
  19. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  20. use App\Service\Email\Singleemail;
  21. use App\Service\Servicetext\GeneralServicetext;
  22. use Symfony\Component\HttpFoundation\Request;
  23. use App\Entity\Produit\Service\Typearticle;
  24. use App\Entity\Produit\Service\Service;
  25. use App\Entity\Users\User\Billet;
  26. use App\Entity\Tresorerie\Investisseur\Categorieinvestisseur;
  27. use App\Entity\Produit\Produit\Cataloguechantier;
  28. use App\Entity\Users\User\Contacts;
  29. use App\Entity\Produit\Service\Pays;
  30. use App\Entity\Produit\Produit\Caracteristiqueproduit;
  31. class ProduitController extends AbstractController
  32. {
  33. private $params;
  34. private $_servicemail;
  35. public function __construct(ParameterBagInterface $paramsSingleemail $servicemail)
  36. {
  37.     $this->params $params;
  38.     $this->_servicemail $servicemail;
  39. }
  40. public function modifierproduit(GeneralServicetext $serviceRequest $request$id)
  41. {
  42.     $em $this->getDoctrine()->getManager();
  43.     if(isset($_GET['id']))
  44.     {
  45.         $id $_GET['id'];
  46.     }else{
  47.         $id $id;
  48.     }
  49.     $produit $em->getRepository(Produit::class)
  50.                     ->find($id);
  51.     if($produit != null)
  52.     {
  53.     $formpro $this->createForm(ProduitType::class, $produit, array('cat'=>$produit->getsouscategorie()->getCategorie()));
  54.     if ($request->getMethod() == 'POST'){
  55.         $formpro->handleRequest($request);
  56.         $produit->setServicetext($service);
  57.         if($produit->getImgproduit() != null)
  58.         {
  59.             $produit->getImgproduit()->setServicetext($service);
  60.         }
  61.         if ($formpro->isValid()){
  62.             if(isset($_POST['prixrenew']))
  63.             {
  64.                 $produit->setPrixrenew($_POST['prixrenew']);
  65.             }
  66.             if(isset($_POST['prixtransfert']))
  67.             {
  68.                 $produit->setPrixtransfert($_POST['prixtransfert']);
  69.             }
  70.         $em->flush();
  71.         $this->get('session')->getFlashBag()->add('information','Modification effectuée avec succès');
  72.         }else{
  73.         $this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée!');
  74.         }
  75.         return $this->redirect($this->generateUrl('users_adminuser_liste_produit_souscategorie', array('id'=>$produit->getSouscategorie()->getId())));
  76.     }
  77.     $type_domaine $em->getRepository(Typearticle::class)
  78.                        ->findBy(array('position'=>'domaine'));
  79.                        
  80.     return $this->render('Theme/Users/Adminuser/Produit/modifierproduit.html.twig',
  81.     array('produit'=>$produit,'formpro'=>$formpro->createView(),'type_domaine'=>$type_domaine));
  82.     }else{
  83.         echo 'Echec ! Une erreur a été rencontrée.';
  84.         exit;
  85.     }
  86. }
  87. public function supprimerimage(Imgproduit $imgproduitRequest $request)
  88. {
  89.     $em $this->getDoctrine()->getManager();
  90.     $formsupp $this->createFormBuilder()->getForm(); 
  91.     $produit $imgproduit->getProduit();
  92.     if ($request->getMethod() == 'POST') {
  93.     $formsupp->handleRequest($request);
  94.     if ($formsupp->isValid()){
  95.     if(count($produit->getImgproduits()) > 1)
  96.     {
  97.     $em->remove($imgproduit);
  98.     $em->flush();
  99.     $this->get('session')->getFlashBag()->add('informationsupp','Suppression effectuée avec succés');
  100.     }else{
  101.     $this->get('session')->getFlashBag()->add('informationsupp','Un produit doit avoir au mions une images');
  102.     }
  103.     return $this->redirect($this->generateUrl('users_adminuser_update_courant_produit',array('id'=>$produit->getId())));
  104.     }
  105.     }
  106.     $this->get('session')->getFlashBag()->add('supprime_image',$imgproduit->getId());
  107.     $this->get('session')->getFlashBag()->add('supprime_image',$imgproduit->getProduit()->getNom());
  108.     return $this->redirect($this->generateUrl('users_adminuser_update_courant_produit',array('id'=>$produit->getId())));
  109. }
  110. public function listeproduituser(Souscategorie $souscategorie)
  111. {
  112.     $em $this->getDoctrine()->getManager();
  113.     if($souscategorie->getTypebusiness() == 'programme')
  114.     {
  115.         return $this->render('Theme/Produit/Produit/Produit/programmefinnacement.html.twig'
  116.         array('souscategorie'=>$souscategorie));
  117.     }else{
  118.         return $this->render('Theme/Produit/Produit/Produit/businessretenu.html.twig'
  119.         array('souscategorie'=>$souscategorie));
  120.     }
  121. }
  122. public function detailproduit(Produit $produit$type$page$page2)
  123. {
  124.     $em $this->getDoctrine()->getManager();
  125.     $liste_produit $em->getRepository(Produit::class)
  126.                           ->findBestProduit(20);
  127.     
  128.     $presentation_produit $em->getRepository(Service::class)
  129.                           ->findArticleProduit($produit->getId(), $page6'presentation');
  130.     
  131.     $faq_produit $em->getRepository(Service::class)
  132.                           ->findArticleProduit($produit->getId(), $page26'faq');
  133.     
  134.     $liste_billet $em->getRepository(Billet::class)
  135.                            ->myFindReview(1,8);
  136.                            
  137.     return $this->render('Theme/Produit/Produit/Produit/detailproduit.html.twig'
  138.     array('produit'=>$produit'page'=>$page'page2'=>$page2'type'=>$type'liste_produit'=>$liste_produit
  139.     'presentation_produit'=>$presentation_produit'faq_produit'=>$faq_produit'liste_billet'=>$liste_billet'nombrepage' => ceil(count($presentation_produit)/6), 
  140.     'nombrepage2' => ceil(count($faq_produit)/6)));
  141. }
  142. public function documentationproduit(Produit $produit$page)
  143. {
  144.     $em $this->getDoctrine()->getManager();
  145.     $liste_scat $em->getRepository(Souscategorie::class)
  146.                           ->souscategorieDocument(10);
  147.     
  148.     $documentation_produit $em->getRepository(Service::class)
  149.                           ->findArticleProduit($produit->getId(), $page6'documentation');
  150.                   
  151.     return $this->render('Theme/Produit/Produit/Produit/documentationproduit.html.twig'
  152.     array('produit'=>$produit'page'=>$page'liste_scat'=>$liste_scat'documentation_produit'=>$documentation_produit
  153.     'nombrepage' => ceil(count($documentation_produit)/6)));
  154. }
  155. public function souscriptionprojet()
  156. {
  157.     $em $this->getDoctrine()->getManager();
  158.     $liste_business $em->getRepository(Souscategorie::class)
  159.                          ->findBy(array('typebusiness'=>'business'), array('rang'=>'asc'));
  160.     
  161.     $type_investisseur $em->getRepository(Categorieinvestisseur::class)
  162.                          ->findBy(array('typeoperation'=>'actionnariat'), array('rang'=>'asc'));
  163.                          
  164.     return $this->render('Theme/Produit/Produit/Produit/souscriptionprojet.html.twig'
  165.     array('liste_business'=>$liste_business'type_investisseur'=>$type_investisseur));
  166. }
  167. public function souscriptionamorcage()
  168. {
  169.     $em $this->getDoctrine()->getManager();
  170.     $liste_business $em->getRepository(Souscategorie::class)
  171.                          ->findBy(array('typebusiness'=>'programme'), array('rang'=>'asc'));
  172.     
  173.     $type_investisseur $em->getRepository(Categorieinvestisseur::class)
  174.                          ->findBy(array('typeoperation'=>'amorcage'), array('rang'=>'asc'));
  175.                          
  176.     return $this->render('Theme/Produit/Produit/Produit/souscriptionamorcage.html.twig'
  177.     array('liste_business'=>$liste_business'type_investisseur'=>$type_investisseur));
  178. }
  179. public function souscriptiondonation()
  180. {
  181.     $em $this->getDoctrine()->getManager();
  182.     $liste_business $em->getRepository(Souscategorie::class)
  183.                          ->findProgrammeAndBusiness();
  184.     
  185.     $type_investisseur $em->getRepository(Categorieinvestisseur::class)
  186.                          ->findBy(array('typeoperation'=>'donnation'), array('rang'=>'asc'));
  187.                          
  188.     return $this->render('Theme/Produit/Produit/Produit/souscriptiondonation.html.twig'
  189.     array('liste_business'=>$liste_business'type_investisseur'=>$type_investisseur));
  190. }
  191. public function ajouterpanier($id$position)
  192. {
  193.     $em $this->getDoctrine()->getManager();
  194.     $session $this->get('session');
  195.     if(isset($_POST['typeprojet']) and isset($_POST['typeinvest']) and $position == 'product')
  196.     {
  197.         $typeprojet $em->getRepository(Souscategorie::class)
  198.                          ->find($_POST['typeprojet']);
  199.         $typeinvest $em->getRepository(Categorieinvestisseur::class)
  200.                          ->find($_POST['typeinvest']);
  201.         if($typeprojet != null and $typeinvest != null)
  202.         {
  203.             $liste_catalogue $em->getRepository(Cataloguechantier::class)
  204.                                   ->myfindAll();
  205.             foreach($liste_catalogue as $catalogue)
  206.             {
  207.                 $catalogue->setEm($em);
  208.             }
  209.             
  210.             return $this->render('Theme/Produit/Produit/Produit/ajouterpanier.html.twig'
  211.             array('position'=>$position'liste_catalogue'=>$liste_catalogue'typeprojet'=>$typeprojet'typeinvest'=>$typeinvest));
  212.         }else{
  213.             echo 2;
  214.             exit;
  215.         }            
  216.         
  217.     }else if($position == 'amountinvest'){
  218.         $typeinvest $em->getRepository(Categorieinvestisseur::class)
  219.                          ->find($id);
  220.         if(isset($_POST['amountint']) and isset($_POST['projetselect']) and $typeinvest != null and isset($_POST['username']))
  221.         {
  222.             $projetselect $em->getRepository(Produit::class)
  223.                                ->find($_POST['projetselect']);
  224.             $amountint $_POST['amountint'];
  225.             $username $_POST['username'];
  226.             if($projetselect != null and $typeinvest->getMinimum() <= $amountint and $amountint <= $typeinvest->getMaximum())
  227.             {
  228.                 $idcard 0;
  229.                 if(isset($_COOKIE["PIDCARD"]) and $_COOKIE["PIDCARD"] != 'empty')
  230.                 {
  231.                     $idcard $_COOKIE["PIDCARD"];
  232.                 }
  233.                 
  234.                 $oldpanier $em->getRepository(Panier::class)
  235.                                  ->findOneBy(array('id'=>$idcard,'sousmis'=>0));
  236.                 if($oldpanier == null and $this->getUser() != null)
  237.                 {
  238.                     $oldpanier $em->getRepository(Panier::class)
  239.                                     ->findOneBy(array('user'=>$this->getUser(),'sousmis'=>0));
  240.                 }
  241.                 
  242.                 if($oldpanier == null)
  243.                 {
  244.                     $panier = new Panier();
  245.                     $panier->setUser($this->getUser());
  246.                     $panier->setMontantttc($amountint);
  247.                     $panier->setTel($username);
  248.                     $em->persist($panier);
  249.                     
  250.                     $produitpanier = new Produitpanier();
  251.                     $produitpanier->setPanier($panier);
  252.                     $produitpanier->setProduit($projetselect);
  253.                     $produitpanier->setCategorieinvestisseur($typeinvest);
  254.                     $produitpanier->setTypeOperation($typeinvest->getTypeoperation());
  255.                     $em->persist($produitpanier);
  256.                     $em->flush();
  257.                     
  258.                     // Stock les infos du cookie
  259.                     $cookie_info = array(
  260.                         'name'  => 'PIDCARD',
  261.                         'value' => $panier->getId(),
  262.                         'time'  => time() + (3600 24 360)
  263.                     );
  264.                     
  265.                     // Cree le cookie
  266.                     setCookie($cookie_info['name'], $cookie_info['value'], $cookie_info['time'],'/');
  267.                     setCookie('PIDCARDDUR',$cookie_info['time'], $cookie_info['time'],'/');
  268.                 }else{
  269.                     $oldpanier->setUser($this->getUser());
  270.                     $oldpanier->setMontantttc($amountint);
  271.                     $oldpanier->setTel($username);
  272.                     foreach($oldpanier->getProduitpaniers() as $prodpan)
  273.                     {
  274.                         $prodpan->setProduit($projetselect);
  275.                         $prodpan->setCategorieinvestisseur($typeinvest);
  276.                         break;
  277.                     }
  278.                     $em->flush();
  279.                     $panier $oldpanier;
  280.                 }
  281.                 $session->set('reset_commande_user'$panier->getId());
  282.         
  283.                 $liste_contact = new \Doctrine\Common\Collections\ArrayCollection();
  284.                 if($this->getUser() != null)
  285.                 {
  286.                     $liste_contact $em->getRepository(Contacts::class)
  287.                                         ->findBy(array('user'=>$this->getUser()));
  288.                 }else if($panier->getUser() != null)
  289.                 {
  290.                     $liste_contact $em->getRepository(Contacts::class)
  291.                                         ->findBy(array('user'=>$panier->getUser()));
  292.                 }
  293.                 $liste_pays $em->getRepository(Pays::class)
  294.                                  ->myfindAll();
  295.                 
  296.                 $liste_investment $em->getRepository(Typearticle::class)
  297.                                        ->myFindAllType('modepaiement');
  298.                 foreach($liste_investment as $type)
  299.                 {
  300.                     $type->setEm($em);
  301.                 }
  302.                 return $this->render('Theme/Produit/Produit/Produit/ajouterpanier.html.twig'
  303.                 array('position'=>$position'panier'=>$panier'projetselect'=>$projetselect'typeinvest'=>$typeinvest
  304.                 'liste_contact'=>$liste_contact'liste_pays'=>$liste_pays'liste_investment'=>$liste_investment));
  305.             }else{
  306.                 echo 3;
  307.                 exit;
  308.             }
  309.         }else{
  310.             echo 2;
  311.             exit;
  312.         }            
  313.         
  314.     }else{
  315.         echo 0;
  316.         exit;
  317.     }
  318. }
  319. public function reglementcommande(Panier $panier)
  320. {
  321.     $em $this->getDoctrine()->getManager();
  322.     $nbprod 0;
  323.     $produitpanier null;
  324.     
  325.     $produitpanier $panier->getProduitpaniers();
  326.     foreach($produitpanier as $prodpan)
  327.     {
  328.         $nbprod $nbprod $prodpan->getQuantite();
  329.         $prodpan->getProduit()->setEm($em);
  330.     }
  331.     $liste_article $em->getRepository(Service::class)
  332.                         ->myFindType('modepaiement');
  333.               
  334.     if(count($produitpanier) > and $panier->getSousmis() == false)
  335.     {
  336.         return $this->render('Theme/Produit/Produit/Produit/reglementcommande.html.twig'
  337.         array('panier'=>$panier,'produitpanier'=>$produitpanier,'nbprod'=>$nbprod,'liste_article'=>$liste_article));
  338.     }else{
  339.         $this->get('session')->getFlashBag()->add('information','Le panier que vous assayez de payer est vide ou a déjà été payé !');    
  340.         return $this->redirect($this->generateUrl('users_user_acces_plateforme'));
  341.     }
  342. }
  343. public function editcommande()
  344. {
  345.     if(isset($_GET['id']))
  346.     {
  347.         $id $_GET['id'];
  348.     }else{
  349.         $id 0;
  350.     }
  351.     
  352.     if(isset($_GET['quantite']))
  353.     {
  354.         $quantite $_GET['quantite'];
  355.     }else{
  356.         $quantite 0;
  357.     }
  358.     
  359.     $em $this->getDoctrine()->getManager();
  360.     $prodpan $em->getRepository(Produitpanier::class)
  361.                      ->find($id);
  362.     if($prodpan != null)
  363.     {
  364.         $prodpan->setQuantite($quantite);
  365.         $em->flush();
  366.         echo 1;
  367.         exit;
  368.     }else{
  369.         echo 0;
  370.         exit;
  371.     }
  372. }
  373. public function eleveproduit()
  374. {
  375.     $em $this->getDoctrine()->getManager();
  376.     if(isset($_GET['id']))
  377.     {
  378.         $id $_GET['id'];
  379.     }else{
  380.         $id 0;
  381.     }
  382.     $prodpan $em->getRepository(Produitpanier::class)
  383.                      ->find($id);
  384.     
  385.     $idcard 0;
  386.     if(isset($_COOKIE["PIDCARD"]) and $_COOKIE["PIDCARD"] != 'empty')
  387.     {
  388.         $idcard $_COOKIE["PIDCARD"];
  389.     }
  390.         
  391.     if($prodpan != null and (($this->getUser() == $prodpan->getpanier()->getUser()) or $prodpan->getPanier()->getId() == $idcard))
  392.     {
  393.         $panier $prodpan->getPanier();
  394.         $em $this->getDoctrine()->getManager();
  395.         $em->remove($prodpan);
  396.         $em->flush();
  397.         
  398.         echo 1;
  399.         exit;
  400.     }
  401.     echo 0;
  402.     exit;
  403. }
  404. public function supprimerproduit(Produit $produitRequest $request)
  405. {
  406.     $em $this->getDoctrine()->getManager();
  407.     $prodpan $em->getRepository(Produitpanier::class)
  408.                      ->findBy(array('produit'=>$produit));
  409.     $categorie $produit->getSouscategorie();
  410.         $formsupp $this->createFormBuilder()->getForm(); 
  411.         if ($request->getMethod() == 'POST') {
  412.         $formsupp->handleRequest($request);
  413.         if ($formsupp->isValid()){
  414.             $caract $em->getRepository(Caracteristiqueproduit::class)
  415.                      ->findBy(array('produit'=>$produit));
  416.                      
  417.             if(count($prodpan) == and count($caract) == 0){
  418.                 $em->remove($produit);
  419.                 $em->flush();
  420.                 $this->get('session')->getFlashBag()->add('information','Suppression effectuée avec succès');
  421.             }else{
  422.                 $this->get('session')->getFlashBag()->add('information','Action réfusée ! ce produit est déjà reservé par un utilisateur.');
  423.             }
  424.         }
  425.         }else{
  426.             $this->get('session')->getFlashBag()->add('supprime_prod',$produit->getId());
  427.             $this->get('session')->getFlashBag()->add('supprime_prod',$produit->getNom());
  428.         }
  429.     return $this->redirect($this->generateUrl('users_adminuser_liste_produit_souscategorie',array('id'=>$categorie->getId())));
  430. }
  431. public function rechercheproduit(Request $request)
  432. {
  433.     $em $this->getDoctrine()->getManager();
  434.     $recherche = new Recherche();
  435.     $formBuilder $this->createFormBuilder($recherche);
  436.     $formBuilder
  437.               ->add('donnee''text',array('attr'=>array('class'=>'form-control police2','placeholder'=>'Retrouver un produit','type'=>'search')));
  438.     $formrecher $formBuilder->getForm();
  439.     $liste_produit null;
  440.     if ($request->getMethod() == 'POST') {
  441.         $formrecher->handleRequest($request);
  442.         if ($formrecher->isValid()){
  443.          $liste_produit $em->getRepository(Produit::class)
  444.                              ->findProduit($recherche->getDonnee());
  445.         }
  446.     }
  447.     return $this->render('Theme/Produit/Produit/Produit/recherche.html.twig', array('liste_produit'=>$liste_produit,'donnee'=>$recherche->getDonnee()));
  448. }
  449. public function addcoutlivraison(Produit $produitRequest $request$service)
  450. {
  451.     $em $this->getDoctrine()->getManager();
  452.     $coutlivraison = new Coutlivraison($service);
  453.     $formlivraison $this->createForm(CoutlivraisonType::class, $coutlivraison);
  454.     if ($request->getMethod() == 'POST'){
  455.     $formlivraison->handleRequest($request);
  456.     $coutlivraison->setUser($this->getUser());
  457.     $coutlivraison->setProduit($produit);
  458.     $oldcout $em->getRepository(Coutlivraison::class)
  459.                              ->findOneBy(array('ville'=>$coutlivraison->getVille(),'produit'=>$produit));
  460.     if ($formlivraison->isValid() and $oldcout == null){
  461.         $em->persist($coutlivraison);
  462.         $em->flush();
  463.         $this->get('session')->getFlashBag()->add('informationsupp','Enregistrement effectué avec succès');
  464.     }
  465.     }
  466.     return $this->redirect($this->generateUrl('users_adminuser_update_courant_produit',array('id'=>$produit->getId())));
  467. }
  468. public function modifcoutlivraison(Coutlivraison $coutlivraison)
  469. {
  470.     $em $this->getDoctrine()->getManager();
  471.     if (isset($_POST['coutlivraison']) and is_numeric($_POST['coutlivraison'])){
  472.         $coutlivraison->setMontant(htmlspecialchars($_POST['coutlivraison']));
  473.         $em->flush();
  474.         $this->get('session')->getFlashBag()->add('informationsupp','Enregistrement effectué avec succès');
  475.     }
  476.     return $this->redirect($this->generateUrl('users_adminuser_update_courant_produit',array('id'=>$coutlivraison->getProduit()->getId())));
  477. }
  478. public function supprimercoutlivraison(Coutlivraison $coutlivraison)
  479. {
  480.     $produit $coutlivraison->getProduit();
  481.     $em $this->getDoctrine()->getManager();
  482.     $em->remove($coutlivraison);
  483.     $em->flush();
  484.     return $this->redirect($this->generateUrl('users_adminuser_update_courant_produit',array('id'=>$produit->getId())));
  485. }
  486. public function recherchedomaine(GeneralServicetext $service$id$domaine$chaine)
  487. {
  488.     $em $this->getDoctrine()->getManager();
  489.     if(isset($_POST['domainesubmit']) and isset($_POST['liste_extension']))
  490.     {
  491.         $chaine $_POST['liste_extension'];
  492.         $domaine $_POST['domainesubmit'];
  493.     }
  494.     
  495.     $typedomaine $em->getRepository(Typearticle::class)
  496.                        ->find($id);
  497.     if($typedomaine != null)
  498.     {
  499.         $extensions = array();
  500.         $compt 0;
  501.         $typedomaine->setEm($em);
  502.         $liste_prod $typedomaine->getProduitFilter();
  503.         foreach($liste_prod as $prod)
  504.         {
  505.             array_push($extensions$prod->getId());
  506.             if($compt 4)
  507.             {
  508.                 break;
  509.             }
  510.             $compt++;
  511.         }
  512.     }else{        
  513.         $extensions explode('-',$chaine);
  514.     }
  515.     $tabdomaine explode('.',$domaine);
  516.     $bestextension '';
  517.     if(count($tabdomaine) > 1)
  518.     {
  519.         $bestextension $tabdomaine[count($tabdomaine) - 1];
  520.         $bestdomaine $tabdomaine[count($tabdomaine) - 2];
  521.     }else{
  522.         $bestdomaine $domaine;
  523.     }
  524.     
  525.     $liste_extension $em->getRepository(Produit::class)
  526.                           ->findBy(array('id'=>$extensions));
  527.     $directextend $em->getRepository(Produit::class)
  528.                           ->findOneBy(array('nom'=>$bestextension));
  529.     if($directextend != null)
  530.     {
  531.         $liste_extension[] = $directextend;
  532.         $chaine $chaine.'-'.$directextend->getId();
  533.     }
  534.     
  535.     $selection_extension $em->getRepository(Produit::class)
  536.                             ->findDomainesRang(1004,6);
  537.                           
  538.     $domainetocheck strtolower(trim($service->parseDomaine($bestdomaine)));
  539.     
  540.     $type_domaine $em->getRepository(Typearticle::class)
  541.                        ->findBy(array('position'=>'domaine'));
  542.     
  543.     $liste_outils $em->getRepository(Service::class)
  544.                         ->myFindCatType('1','nosoutils');
  545.                         
  546.     return $this->render('Theme/Produit/Produit/Produit/recherchedomaine.html.twig',
  547.     array('domainetocheck'=>$domainetocheck,'chaine'=>$chaine,'liste_extension'=>$liste_extension,
  548.     'selection_extension'=>$selection_extension,'type_domaine'=>$type_domaine'idtype'=>$id,'liste_outils'=>$liste_outils));
  549. }
  550. public function getstatutdomaine(GeneralServicetext $service)
  551. {
  552.     $em $this->getDoctrine()->getManager();
  553.     $domainename "";
  554.     $id 0;
  555.     $domaine '';
  556.     if(isset($_POST['id']) and isset($_POST['chaine']))
  557.     {
  558.         $id $_POST['id'];
  559.         $domaine $_POST['chaine'];
  560.         $extension $em->getRepository(Produit::class)
  561.                             ->find($id);
  562.     
  563.         if($extension != null)
  564.         {
  565.             $domainename $domaine.'.'.strtolower($extension->getNom());
  566.         }
  567.     }
  568.     
  569.     $domaineresp $domainename;
  570.     $result "NOT CHECK";
  571.     $reason "";
  572.     /*
  573.     if($domainename != "")
  574.     {
  575.         $clientSOAP = new SoapClient("http://api.francedns.com/2.0/api.wsdl");
  576.      
  577.         try 
  578.         { 
  579.           $idSession = $clientSOAP->sessionOpen("NN104", "25Dec1988", "EN"); 
  580.           $StructDomainCheckResponse = $clientSOAP->domainCheck($idSession, $domainename); 
  581.           foreach($StructDomainCheckResponse as $response){
  582.             $domaineresp = $response->domain;    
  583.             $result = $response->result;    
  584.             $reason = $response->reason;    
  585.           }
  586.         } 
  587.         catch(SoapFault $fault) 
  588.         { 
  589.               //Code d'erreur. 
  590.         } 
  591.          
  592.         if(isset($idSession)) 
  593.         { 
  594.               $clientSOAP->sessionClose($idSession); 
  595.         } 
  596.     }*/
  597.     
  598.     if($result == 'AVAILABLE')
  599.     {
  600.         $result 1;
  601.     }else if($result == 'NOT AVAILABLE')
  602.     {
  603.         $result 2;
  604.     }else if($result == 'NOT CHECK'){
  605.         $result 3;//La requete vers l'API n'a pas abouti.
  606.     }else{
  607.         $result 4;//Au cas ou le résulat n'ast pas connu.
  608.     }
  609.     $tab = array();
  610.     $tab['id'] = $id;
  611.     $tab['domaineresp'] = $domaineresp;
  612.     $tab['result'] = $result;
  613.     $tab['reason'] = $reason;
  614.     return new Response(json_encode($tab));
  615. }
  616. public function listeProduitType($type)
  617. {
  618.     $em $this->getDoctrine()->getManager();
  619.     $liste_souscategorie $em->getRepository(Souscategorie::class)
  620.                               ->myFindAllByType($type);
  621.     return $this->render('Theme/Produit/Produit/Produit/listeProduitType.html.twig'
  622.     array('type'=>$type'liste_souscategorie'=>$liste_souscategorie));
  623. }
  624. }