src/Controller/ApiController.php line 343

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  4. use Symfony\Component\HttpFoundation\JsonResponse;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use FOS\RestBundle\Controller\Annotations\Get;
  8. use FOS\RestBundle\Controller\Annotations\Post;
  9. use FOS\RestBundle\Controller\AbstractFOSRestController;
  10. use FOS\RestBundle\Controller\Annotations as Rest;
  11. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  12. use Symfony\Component\Security\Core\Encoder\EncoderFactory;
  13. use Doctrine\ORM\EntityManagerInterface;
  14. use Symfony\Contracts\HttpClient\HttpClientInterface;
  15. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  16. use \Liip\ImagineBundle\Imagine\Cache\CacheManager;
  17. use App\Entity\User;
  18. use App\Entity\Annonce;
  19. use App\Entity\Photo;
  20. use App\Entity\Message;
  21. class ApiController extends AbstractFOSRestController {
  22.     private $formFactory;
  23.     private $client;
  24.     private $filterService;
  25.     public function __construct(EncoderFactory $formFactoryHttpClientInterface $client) {
  26.         $this->formFactory $formFactory;
  27.         $this->client $client;
  28.     }
  29.     private function generateUniqueFileName() {
  30.         return md5(uniqid());
  31.     }
  32. ##########################################################Liste des catégories#############################################
  33.     /**
  34.      * @Get("/api/categories")
  35.      */
  36.     public function getcategories(Request $request,CacheManager $imagineCacheManager) {
  37.         try {
  38.             $em $this->getDoctrine()->getManager();
  39.             $categories $em->getRepository('App\Entity\Categorie')->findAll();
  40.             $formatted = [];
  41.             foreach ($categories as $categorie) {
  42.                 $photo $categorie->getPhoto();
  43.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  44.                 $photo $baseurl '/uploads/categories/' $categorie->getPhoto();
  45.                 $annonces $em->getRepository('App\Entity\Annonce')->apipubliecategorie($categorie);
  46.                 $nombre_annonce count($annonces);
  47.                 $formatted[] = [
  48.                     'id' => trim($categorie->getId()),
  49.                     'nom' => $categorie->getNom(),
  50.                     'slug' => $categorie->getSlug(),
  51.                     'photo' => $photo,
  52.                     'nb_annonces' => $nombre_annonce
  53.                 ];
  54.             }
  55.         } catch (\Exception $e) {
  56.             $formatted = [
  57.                 'code' => trim(0),
  58.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  59.             ];
  60.             return new JsonResponse($formatted);
  61.         }
  62.         return new JsonResponse($formatted);
  63.     }
  64. ##########################################################Liste des catégories et leurs sours catégories#############################################
  65.     /**
  66.      * @Get("/api/categories-sous-categories")
  67.      */
  68.     public function getcategoriesetsouscategories(Request $request) {
  69.         try {
  70.             $em $this->getDoctrine()->getManager();
  71.             $categories $em->getRepository('App\Entity\Categorie')->findAll();
  72.             $formatted = [];
  73.             foreach ($categories as $categorie) {
  74.                 $tableau = array();
  75.                 $photo $categorie->getPhoto();
  76.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  77.                 $photo $baseurl '/uploads/categories/' $categorie->getPhoto();
  78.                 $sous_categories $categorie->getSouscategories();
  79.                 $array = [];
  80.                 foreach ($sous_categories as $sous) {
  81.                     $array[] = [
  82.                         'nom' => $sous->getNom(),
  83.                         'slug' => $sous->getSlug(),
  84.                     ];
  85.                 }
  86.                 $formatted[] = [
  87.                     'id' => trim($categorie->getId()),
  88.                     'nom' => $categorie->getNom(),
  89.                     'slug' => $categorie->getSlug(),
  90.                     'photo' => $photo,
  91.                     'souscategorie' => $array
  92.                 ];
  93.             }
  94.         } catch (\Exception $e) {
  95.             $formatted = [
  96.                 'code' => trim(0),
  97.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  98.             ];
  99.             return new JsonResponse($formatted);
  100.         }
  101.         return new JsonResponse($formatted);
  102.     }
  103. ##########################################################Liste des sous catégories/ par catégorie#############################################
  104.     /**
  105.      * @Get("/api/sous-categories/{slug}")
  106.      */
  107.     public function getsouscategories(Request $request) {
  108.         try {
  109.             $slug $request->get('slug');
  110.             $em $this->getDoctrine()->getManager();
  111.             $categorie $em->getRepository('App\Entity\Categorie')->findOneBySlug($slug);
  112.             $souscategories $em->getRepository('App\Entity\SousCategorie')->findByCategorie($categorie);
  113.             $formatted = [];
  114.             foreach ($souscategories as $sous) {
  115.                 $formatted[] = [
  116.                     'id' => trim($sous->getId()),
  117.                     'nom' => $sous->getNom(),
  118.                     'slug' => $sous->getSlug()
  119.                 ];
  120.             }
  121.         } catch (\Exception $e) {
  122.             $formatted = [
  123.                 'code' => trim(0),
  124.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  125.             ];
  126.             return new JsonResponse($formatted);
  127.         }
  128.         return new JsonResponse($formatted);
  129.     }
  130.     ##########################################################Liste des sous catégories#############################################
  131.     /**
  132.      * @Get("/api/sous-categories")
  133.      */
  134.     public function souscategories(Request $request) {
  135.         try {
  136.             $em $this->getDoctrine()->getManager();
  137.             $souscategories $em->getRepository('App\Entity\SousCategorie')->findAll();
  138.             $formatted = [];
  139.             foreach ($souscategories as $sous) {
  140.                 $photo $sous->getPhoto();
  141.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  142.                 $photo $baseurl '/uploads/souscategories/' $sous->getPhoto();
  143.                 $annonces $em->getRepository('App\Entity\Annonce')->apipubliesouscategorie($sous);
  144.                 $nombre_annonces count($annonces);
  145.                 $catgeorie $sous->getCategorie()->getSlug();
  146.                 $formatted[] = [
  147.                     'id' => trim($sous->getId()),
  148.                     'nom' => $sous->getNom(),
  149.                     'slug' => $sous->getSlug(),
  150.                     'photo' => $photo,
  151.                     'annonces' => $nombre_annonces,
  152.                     'categorie' => $catgeorie
  153.                 ];
  154.             }
  155.         } catch (\Exception $e) {
  156.             $formatted = [
  157.                 'code' => trim(0),
  158.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  159.             ];
  160.             return new JsonResponse($formatted);
  161.         }
  162.         return new JsonResponse($formatted);
  163.     }
  164. ##########################################################Liste des villes#############################################
  165.     /**
  166.      * @Get("/api/villes")
  167.      */
  168.     public function getvilles() {
  169.         try {
  170.             $em $this->getDoctrine()->getManager();
  171.             $villes $em->getRepository('App\Entity\Ville')->findAll();
  172.             $formatted = [];
  173.             foreach ($villes as $ville) {
  174.                 $formatted[] = [
  175.                     'id' => trim($ville->getId()),
  176.                     'nom' => $ville->getNom(),
  177.                     'slug' => $ville->getSlug()
  178.                 ];
  179.             }
  180.         } catch (\Exception $e) {
  181.             $formatted = [
  182.                 'code' => trim(0),
  183.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  184.             ];
  185.             return new JsonResponse($formatted);
  186.         }
  187.         return new JsonResponse($formatted);
  188.     }
  189. ##########################################################Liste des villes et leurs délégations#############################################
  190.     /**
  191.      * @Get("/api/villes-delegations")
  192.      */
  193.     public function getvillesdelegations() {
  194.         try {
  195.             $em $this->getDoctrine()->getManager();
  196.             $villes $em->getRepository('App\Entity\Ville')->findAll();
  197.             $formatted = [];
  198.             foreach ($villes as $ville) {
  199.                 $delegations $ville->getDelegations();
  200.                 foreach ($delegations as $delegation) {
  201.                     $formatted_delegations[] = [
  202.                         'id' => trim($delegation->getId()),
  203.                         'nom' => $delegation->getNom()];
  204.                 }
  205.                 $formatted[] = [
  206.                     'id' => trim($ville->getId()),
  207.                     'nom' => $ville->getNom(),
  208.                     'slug' => $ville->getSlug(),
  209.                     'delegations' => $formatted_delegations
  210.                 ];
  211.             }
  212.         } catch (\Exception $e) {
  213.             $formatted = [
  214.                 'code' => trim(0),
  215.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  216.             ];
  217.             return new JsonResponse($formatted);
  218.         }
  219.         return new JsonResponse($formatted);
  220.     }
  221. ##########################################################Liste des délégations par ville#############################################
  222.     /**
  223.      * @Get("/api/delegations/{slug}")
  224.      */
  225.     public function getdelegations(Request $request) {
  226.         try {
  227.             $slug $request->get('slug');
  228.             $em $this->getDoctrine()->getManager();
  229.             $ville $em->getRepository('App\Entity\Ville')->findOneBySlug($slug);
  230.             $delegations $em->getRepository('App\Entity\Delegation')->findByVille($ville);
  231.             $formatted = [];
  232.             foreach ($delegations as $delegation) {
  233.                 $formatted[] = [
  234.                     'id' => trim($delegation->getId()),
  235.                     'nom' => $delegation->getNom(),
  236.                     'slug' => $delegation->getSlug()
  237.                 ];
  238.             }
  239.         } catch (\Exception $e) {
  240.             $formatted = [
  241.                 'code' => trim(0),
  242.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  243.             ];
  244.             return new JsonResponse($formatted);
  245.         }
  246.         return new JsonResponse($formatted);
  247.     }
  248.     /**
  249.      * @Get("/api/delegations")
  250.      */
  251.     public function delegations(Request $request) {
  252.         try {
  253.             $slug $request->get('slug');
  254.             $em $this->getDoctrine()->getManager();
  255.             $delegations $em->getRepository('App\Entity\Delegation')->findAll();
  256.             $formatted = [];
  257.             foreach ($delegations as $delegation) {
  258.                 $formatted[] = [
  259.                     'id' => trim($delegation->getId()),
  260.                     'nom' => $delegation->getNom(),
  261.                     'slug' => $delegation->getSlug()
  262.                 ];
  263.             }
  264.         } catch (\Exception $e) {
  265.             $formatted = [
  266.                 'code' => trim(0),
  267.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  268.             ];
  269.             return new JsonResponse($formatted);
  270.         }
  271.         return new JsonResponse($formatted);
  272.     }
  273. ##########################################################Paramètres du site par référence#############################################
  274.     /**
  275.      * @Get("/api/site/{reference}")
  276.      */
  277.     public function site(Request $request) {
  278.         try {
  279.             $reference $request->get('reference');
  280.             $em $this->getDoctrine()->getManager();
  281.             $site $em->getRepository('App\Entity\Site')->findOneByReference($reference);
  282.             $logo $site->getLogo();
  283.             $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  284.             $logo $baseurl '/uploads/sites/' $site->getLogo();
  285.              $logoblanc $site->getLogo();
  286.             $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  287.             $logoblanc $baseurl '/uploads/sites/' $site->getLogoblanc();
  288.             $marker $site->getMarker();
  289.             $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  290.             $marker $baseurl '/uploads/markers/' $site->getMarker();
  291.             $favicon $site->getFavicon();
  292.             $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  293.             $favicon $baseurl '/uploads/favicons/' $site->getFavicon();
  294.             $formatted = [];
  295.             $formatted[] = [
  296.                 'id' => trim($site->getId()),
  297.                 'nom' => $site->getNom(),
  298.                 'reference' => $site->getReference(),
  299.                 'couleur_principale' => $site->getCouleurprincipale(),
  300.                 'couleur_secondaire' => $site->getCouleursecondaire(),
  301.                 'logo' => $logo,
  302.                 'logoblanc' => $logoblanc,
  303.                 'facebook' => $site->getFacebook(),
  304.                 'instagram' => $site->getInstagram(),
  305.                 'lien' => $site->getLien(),
  306.                 'adresse' => $site->getAdresse(),
  307.                 'email' => $site->getEmail(),
  308.                 'telephone' => $site->getTelephone(),
  309.                 'marker' => $marker,
  310.                 'favicon' => $favicon,
  311.                 'oldcolor' => $site->getOld_color(),
  312.             ];
  313.         } catch (\Exception $e) {
  314.             $formatted = [
  315.                 'code' => trim(0),
  316.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  317.             ];
  318.             return new JsonResponse($formatted);
  319.         }
  320.         return new JsonResponse($formatted);
  321.     }
  322.     /**
  323.      * @Route("/api/annonces", name="annonces")
  324.      */
  325.     public function annonces(Request $request) {
  326.         $em $this->getDoctrine()->getManager();
  327.        /* try {*/
  328.             $annonces $em->getRepository("App\Entity\Annonce")->api();
  329.             $formatted = [];
  330.             $gallerie = array();
  331.             foreach ($annonces as $annonce) {
  332.                 $couverture $annonce->getCouverture();
  333.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  334.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  335.                 $photos $annonce->getPhotos();
  336.                 if ($photos != null) {
  337.                     foreach ($photos as $photo) {
  338.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  339.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  340.                         array_push($gallerie$image);
  341.                     }
  342.                 }
  343.                 $user $annonce->getUser();
  344.                 if ($user->getRaison() != null) {
  345.                     $username $user->getRaison();
  346.                 }
  347.                 if ($user->getRaison() == null) {
  348.                     $username $user->getUsername();
  349.                 }
  350.                 $formatted[] = [
  351.                     'id' => trim($annonce->getId()),
  352.                     'libelle' => $annonce->getLibelle(),
  353.                     'reference' => $annonce->getReference(),
  354.                     'description' => $annonce->getDescription(),
  355.                     'prix' => $annonce->getPrix(),
  356.                     'categorie' => $annonce->getCategorie()->getNom(),
  357.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  358.                     'ville' => $annonce->getVille()->getNom(),
  359.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  360.                     'gallerie' => $gallerie,
  361.                     'couverture' => $couverture,
  362.                     'slug' => $annonce->getSlug(),
  363.                     'user' => $username,
  364.                     'vus' => $annonce->getVue()
  365.                 ];
  366.             }
  367.      /*   } catch (\Exception $e) {
  368.             $formatted = [
  369.                 'code' => trim(0),
  370.                 'id' => "",
  371.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  372.             ];
  373.             return new JsonResponse($formatted);
  374.         }*/
  375.         return new JsonResponse($formatted);
  376.     }
  377.     /**
  378.      * @Get("/api/sliders-home")
  379.      */
  380.     public function getslidershome(Request $request) {
  381.         try {
  382.             $em $this->getDoctrine()->getManager();
  383.             $slider $em->getRepository('App\Entity\Slider')->find(1);
  384.             /*             * ***********************Slider home 1********** */
  385.             $slider1 $slider->getSliderhome1();
  386.             $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  387.             $slider1 $baseurl '/uploads/sliders/' $slider1;
  388.             $formatted = [];
  389.             $formatted[] = [
  390.                 'id' => trim($slider->getId()),
  391.                 'slider_home_1' => $slider1,
  392.             ];
  393.         } catch (\Exception $e) {
  394.             $formatted = [
  395.                 'code' => trim(0),
  396.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  397.             ];
  398.             return new JsonResponse($formatted);
  399.         }
  400.         return new JsonResponse($formatted);
  401.     }
  402.     /*     * *************************************************************Liste des annonces premium***************************************** */
  403.     /**
  404.      * @Route("/api/annonces-premium", name="annonces-premium")
  405.      */
  406.     public function annoncespremium(Request $request) {
  407.         $em $this->getDoctrine()->getManager();
  408.         try {
  409.             $annonces $em->getRepository("App\Entity\Annonce")->apipremium();
  410.             $formatted = [];
  411.             $gallerie = array();
  412.             foreach ($annonces as $annonce) {
  413.                 $couverture $annonce->getCouverture();
  414.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  415.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  416.                 $photos $annonce->getPhotos();
  417.                 if ($photos != null) {
  418.                     foreach ($photos as $photo) {
  419.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  420.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  421.                         array_push($gallerie$image);
  422.                     }
  423.                 }
  424.                 $formatted[] = [
  425.                     'id' => trim($annonce->getId()),
  426.                     'libelle' => $annonce->getLibelle(),
  427.                     'reference' => $annonce->getReference(),
  428.                     'description' => $annonce->getDescription(),
  429.                     'prix' => $annonce->getPrix(),
  430.                     'categorie' => $annonce->getCategorie()->getNom(),
  431.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  432.                     'ville' => $annonce->getVille()->getNom(),
  433.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  434.                     'gallerie' => $gallerie,
  435.                     'couverture' => $couverture,
  436.                     'slug' => $annonce->getSlug(),
  437.                     'vue' => $annonce->getVue()
  438.                 ];
  439.             }
  440.         } catch (\Exception $e) {
  441.             $formatted = [
  442.                 'code' => trim(0),
  443.                 'id' => "",
  444.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  445.             ];
  446.             return new JsonResponse($formatted);
  447.         }
  448.         return new JsonResponse($formatted);
  449.     }
  450.     /*     * *********************************************Les partenaires************************************************* */
  451.     /**
  452.      * @Route("/api/partenaires", name="partenaires")
  453.      */
  454.     public function partenaires(Request $request) {
  455.         $em $this->getDoctrine()->getManager();
  456.         try {
  457.             $partenaires $em->getRepository("App\Entity\User")->partenairesapi();
  458.             $formatted = [];
  459.             foreach ($partenaires as $partenaire) {
  460.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  461.                 $logo $baseurl '/uploads/partenaires/' $partenaire->getLogo();
  462.                 $formatted[] = [
  463.                     'id' => trim($partenaire->getId()),
  464.                     'matricule' => $partenaire->getMatricule(),
  465.                     'raison' => $partenaire->getRaison(),
  466.                     'prenom_gerant' => $partenaire->getPrenom(),
  467.                     'nom_gerant' => $partenaire->getNom(),
  468.                     'logo' => $logo,
  469.                     'adresse' => $partenaire->getAdresse(),
  470.                     'latitude' => $partenaire->getLatitude(),
  471.                     'longitude' => $partenaire->getLongitude(),
  472.                     'telephone' => $partenaire->getTelephone(),
  473.                     'site' => $partenaire->getSite(),
  474.                     'facebook' => $partenaire->getFacebook(),
  475.                     'instagram' => $partenaire->getInstagram(),
  476.                     'username' => $partenaire->getUsername(),
  477.                     'email' => $partenaire->getEmail()
  478.                 ];
  479.             }
  480.         } catch (\Exception $e) {
  481.             $formatted = [
  482.                 'code' => trim(0),
  483.                 'id' => "",
  484.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  485.             ];
  486.             return new JsonResponse($formatted);
  487.         }
  488.         return new JsonResponse($formatted);
  489.     }
  490.     /*     * *********************************************Les partenaires premium************************************************* */
  491.     /**
  492.      * @Route("/api/partenaires-premium", name="partenaires-premium")
  493.      */
  494.     public function partenairespremium(Request $request) {
  495.         $em $this->getDoctrine()->getManager();
  496.         try {
  497.             $partenaires $em->getRepository("App\Entity\User")->partenairespremiumapi();
  498.             $formatted = [];
  499.             foreach ($partenaires as $partenaire) {
  500.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  501.                 $logo $baseurl '/uploads/partenaires/' $partenaire->getLogo();
  502.                 $formatted[] = [
  503.                     'id' => trim($partenaire->getId()),
  504.                     'matricule' => $partenaire->getMatricule(),
  505.                     'raison' => $partenaire->getRaison(),
  506.                     'prenom_gerant' => $partenaire->getPrenom(),
  507.                     'nom_gerant' => $partenaire->getNom(),
  508.                     'logo' => $logo,
  509.                     'adresse' => $partenaire->getAdresse(),
  510.                     'latitude' => $partenaire->getLatitude(),
  511.                     'longitude' => $partenaire->getLongitude(),
  512.                     'telephone' => $partenaire->getTelephone(),
  513.                     'site' => $partenaire->getSite(),
  514.                     'facebook' => $partenaire->getFacebook(),
  515.                     'instagram' => $partenaire->getInstagram(),
  516.                     'username' => $partenaire->getUsername(),
  517.                     'email' => $partenaire->getEmail(),
  518.                     'annonces' => count($partenaire->getAnnonces())
  519.                 ];
  520.             }
  521.         } catch (\Exception $e) {
  522.             $formatted = [
  523.                 'code' => trim(0),
  524.                 'id' => "",
  525.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  526.             ];
  527.             return new JsonResponse($formatted);
  528.         }
  529.         return new JsonResponse($formatted);
  530.     }
  531.     /*     * **************************************************************Les 12  annonces de la page home************************************* */
  532.     /**
  533.      * @Route("/api/annonces-home", name="annonces-home")
  534.      */
  535.     public function annonceshome(Request $request) {
  536.         $em $this->getDoctrine()->getManager();
  537.        try {
  538.             $annonces $em->getRepository("App\Entity\Annonce")->apihome();
  539.             $formatted = [];
  540.             $gallerie = array();
  541.             foreach ($annonces as $annonce) {
  542.                 $couverture $annonce->getCouverture();
  543.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  544.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  545.                 $photos $annonce->getPhotos();
  546.                 if ($photos != null) {
  547.                     foreach ($photos as $photo) {
  548.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  549.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  550.                         array_push($gallerie$image);
  551.                     }
  552.                 }
  553.                 $user $annonce->getUser();
  554.                 if ($user->getRaison() != null) {
  555.                     $username $user->getRaison();
  556.                 }
  557.                 if ($user->getRaison() == null) {
  558.                     $username $user->getUsername();
  559.                 }
  560.                 $formatted[] = [
  561.                     'id' => trim($annonce->getId()),
  562.                     'libelle' => $annonce->getLibelle(),
  563.                     'reference' => $annonce->getReference(),
  564.                     'description' => $annonce->getDescription(),
  565.                     'prix' => $annonce->getPrix(),
  566.                     'categorie' => $annonce->getCategorie()->getNom(),
  567.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  568.                     'ville' => $annonce->getVille()->getNom(),
  569.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  570.                     'gallerie' => $gallerie,
  571.                     'couverture' => $couverture,
  572.                     'slug' => $annonce->getSlug(),
  573.                     'vue' => $annonce->getVue(),
  574.                     'user' => $username
  575.                 ];
  576.             }
  577.        } catch (\Exception $e) {
  578.             $formatted = [
  579.                 'code' => trim(0),
  580.                 'id' => "",
  581.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  582.             ];
  583.             return new JsonResponse($formatted);
  584.         }
  585.         return new JsonResponse($formatted);
  586.     }
  587.     ##########################################################Paramètres du site par référence#############################################
  588.     /**
  589.      * @Get("/api/sites")
  590.      */
  591.     public function getsite(Request $request) {
  592.         try {
  593.             $reference $request->get('reference');
  594.             $em $this->getDoctrine()->getManager();
  595.             $sites $em->getRepository('App\Entity\Site')->findAll();
  596.             $formatted = [];
  597.             foreach ($sites as $site) {
  598.                 $logo $site->getLogo();
  599.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  600.                 $logo $baseurl '/uploads/sites/' $site->getLogo();
  601.                  $block $site->getBlock();
  602.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  603.                 $block $baseurl '/uploads/sites/' $site->getBlock();
  604.                 $marker $site->getMarker();
  605.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  606.                 $marker $baseurl '/uploads/markers/' $site->getMarker();
  607.                 $favicon $site->getFavicon();
  608.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  609.                 $favicon $baseurl '/uploads/favicons/' $site->getFavicon();
  610.                 $formatted[] = [
  611.                     'id' => trim($site->getId()),
  612.                     'nom' => $site->getNom(),
  613.                     'reference' => $site->getReference(),
  614.                     'couleur_principale' => $site->getCouleurprincipale(),
  615.                     'couleur_secondaire' => $site->getCouleursecondaire(),
  616.                     'logo' => $logo,
  617.                     'block'=>$block,
  618.                     'facebook' => $site->getFacebook(),
  619.                     'instagram' => $site->getInstagram(),
  620.                     'lien' => $site->getLien(),
  621.                     'adresse' => $site->getAdresse(),
  622.                     'email' => $site->getEmail(),
  623.                     'telephone' => $site->getTelephone(),
  624.                     'marker' => $marker,
  625.                     'favicon' => $favicon
  626.                 ];
  627.             }
  628.         } catch (\Exception $e) {
  629.             $formatted = [
  630.                 'code' => trim(0),
  631.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  632.             ];
  633.             return new JsonResponse($formatted);
  634.         }
  635.         return new JsonResponse($formatted);
  636.     }
  637.     /*     * ************************************Liste des business PLUS******************************** */
  638.     /**
  639.      * @Get("/api/business")
  640.      */
  641.     public function getbusiness(Request $request) {
  642.         try {
  643.             $em $this->getDoctrine()->getManager();
  644.             $business $em->getRepository('App\Entity\Business')->findAll();
  645.             $formatted = [];
  646.             foreach ($business as $bus) {
  647.                 $logo $bus->getLogo();
  648.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  649.                 $logo $baseurl '/uploads/business/' $logo;
  650.                 $formatted[] = [
  651.                     'id' => trim($bus->getId()),
  652.                     'nom' => $bus->getNom(),
  653.                     'lien' => $bus->getLien(),
  654.                     'logo' => $logo,
  655.                     'slug' => $bus->getSlug(),
  656.                     'description' => $bus->getDescription()
  657.                 ];
  658.             }
  659.         } catch (\Exception $e) {
  660.             $formatted = [
  661.                 'code' => trim(0),
  662.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  663.             ];
  664.             return new JsonResponse($formatted);
  665.         }
  666.         return new JsonResponse($formatted);
  667.     }
  668.     ##########################################################Liste des sous catégories#############################################
  669.     /**
  670.      * @Get("/api/bannieres")
  671.      */
  672.     public function bannieres(Request $request) {
  673.         try {
  674.             $slug $request->get('slug');
  675.             $em $this->getDoctrine()->getManager();
  676.             $bannieres $em->getRepository('App\Entity\Banniere')->findByActive(true);
  677.             $formatted = [];
  678.             foreach ($bannieres as $banniere) {
  679.                 $gallerie = array();
  680.                 $photos $banniere->getPhotos();
  681.                 if ($photos != null) {
  682.                     foreach ($photos as $photo) {
  683.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  684.                         $image $baseurl '/uploads/bannieres/' $photo->getUrl();
  685.                       $gallerie[] = [
  686.                 'id' => trim($photo->getId()),
  687.                 'url' =>$image,
  688.                        ];
  689.                     }
  690.                 }
  691.                 $formatted[] = [
  692.                     'id' => trim($banniere->getId()),
  693.                     'nom' => $banniere->getNom(),
  694.                     'slug' => $banniere->getSlug(),
  695.                     'gallerie' => $gallerie
  696.                 ];
  697.             }
  698.         } catch (\Exception $e) {
  699.             $formatted = [
  700.                 'code' => trim(0),
  701.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  702.             ];
  703.             return new JsonResponse($formatted);
  704.         }
  705.         return new JsonResponse($formatted);
  706.     }
  707.     /*     * *********************************************Les partenaires************************************************* */
  708.     /**
  709.      * @Route("/api/showrooms", name="showrooms")
  710.      */
  711.     public function showrooms(Request $request) {
  712.         $em $this->getDoctrine()->getManager();
  713.         try {
  714.             $partenaires $em->getRepository("App\Entity\User")->partenairesapi();
  715.             $formatted = [];
  716.             foreach ($partenaires as $partenaire) {
  717.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  718.                 $logo $baseurl '/uploads/partenaires/' $partenaire->getLogo();
  719.                 /*                 * ***************************Récupérer les annonces par partenaire******************************* */
  720.                 $annonces $em->getRepository("App\Entity\Annonce")->annoncesbypartenaire($partenaire);
  721.                 $nombre_annonces count($annonces);
  722.                 /*                 * ************************** Récupérer les annonces par catégorie et partenaire*********************** */
  723.                 $categories $em->getRepository("App\Entity\Categorie")->findAll();
  724.                 $array = [];
  725.                 foreach ($categories as $categorie) {
  726.                     $annonces $em->getRepository("App\Entity\Annonce")->annoncesbypartenaireandcategorie($partenaire$categorie);
  727.                     $nb count($annonces);
  728.                     $array[] = [
  729.                         'nom' => $categorie->getNom(),
  730.                         'nb_annonces' => $nb,
  731.                     ];
  732.                 }
  733.                 $formatted[] = [
  734.                     'id' => trim($partenaire->getId()),
  735.                     'raison' => $partenaire->getRaison(),
  736.                     'logo' => $logo,
  737.                     'nombre_annonces' => $nombre_annonces,
  738.                     'categories' => $array,
  739.                 ];
  740.             }
  741.         } catch (\Exception $e) {
  742.             $formatted = [
  743.                 'code' => trim(0),
  744.                 'id' => "",
  745.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  746.             ];
  747.             return new JsonResponse($formatted);
  748.         }
  749.         return new JsonResponse($formatted);
  750.     }
  751.     /*     * ********************************************Liste des annonces par sous catégorie************************************* */
  752.     /**
  753.      * @Route("/api/annonces/categorie/{slug}", name="annonces-par-categorie")
  754.      */
  755.     public function annoncesparcategorie(Request $request$slug) {
  756.         $em $this->getDoctrine()->getManager();
  757.         try {
  758.             $souscategorie $em->getRepository("App\Entity\SousCategorie")->findOneBySlug($slug);
  759.             $annonces $em->getRepository("App\Entity\Annonce")->apipubliesouscategorie($souscategorie);
  760.             $formatted = [];
  761.             $gallerie = array();
  762.             foreach ($annonces as $annonce) {
  763.                 $couverture $annonce->getCouverture();
  764.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  765.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  766.                 $photos $annonce->getPhotos();
  767.                 if ($photos != null) {
  768.                     foreach ($photos as $photo) {
  769.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  770.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  771.                         array_push($gallerie$image);
  772.                     }
  773.                 }
  774.                 $user $annonce->getUser();
  775.                 if ($user->getRaison() != null) {
  776.                     $username $user->getRaison();
  777.                 }
  778.                 if ($user->getRaison() == null) {
  779.                     $username $user->getUsername();
  780.                 }
  781.                 $formatted[] = [
  782.                     'id' => trim($annonce->getId()),
  783.                     'libelle' => $annonce->getLibelle(),
  784.                     'reference' => $annonce->getReference(),
  785.                     'description' => $annonce->getDescription(),
  786.                     'prix' => $annonce->getPrix(),
  787.                     'categorie' => $annonce->getCategorie()->getNom(),
  788.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  789.                     'ville' => $annonce->getVille()->getNom(),
  790.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  791.                     'gallerie' => $gallerie,
  792.                     'couverture' => $couverture,
  793.                     'slug' => $annonce->getSlug(),
  794.                     'user' => $username,
  795.                     'vus' => $annonce->getVue()
  796.                 ];
  797.             }
  798.         } catch (\Exception $e) {
  799.             $formatted = [
  800.                 'code' => trim(0),
  801.                 'id' => "",
  802.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  803.             ];
  804.         }
  805.         return new JsonResponse($formatted);
  806.     }
  807.     /*     * *********************************************Détails des  partenaires************************************************* */
  808.     /**
  809.      * @Route("/api/partenaire/{raison}", name="details-partenaire")
  810.      */
  811.     public function detailpartenaire(Request $request) {
  812.         $em $this->getDoctrine()->getManager();
  813.         try {
  814.             $raison $request->get('raison');
  815.             $partenaire $em->getRepository("App\Entity\User")->findOneByRaison($raison);
  816.             $annonces $em->getRepository("App\Entity\Annonce")->annoncesbypartenaire($partenaire);
  817.             foreach ($annonces as $annonce) {
  818.                 $gallerie = array();
  819.                 $couverture $annonce->getCouverture();
  820.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  821.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  822.                 $photos $annonce->getPhotos();
  823.                 if ($photos != null) {
  824.                     foreach ($photos as $photo) {
  825.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  826.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  827.                         array_push($gallerie$image);
  828.                     }
  829.                 }
  830.                 $user $annonce->getUser();
  831.                 if ($user->getRaison() != null) {
  832.                     $username $user->getRaison();
  833.                 }
  834.                 if ($user->getRaison() == null) {
  835.                     $username $user->getUsername();
  836.                 }
  837.                 $annonces[] = [
  838.                     'id' => trim($annonce->getId()),
  839.                     'libelle' => $annonce->getLibelle(),
  840.                     'reference' => $annonce->getReference(),
  841.                     'description' => $annonce->getDescription(),
  842.                     'prix' => $annonce->getPrix(),
  843.                     'categorie' => $annonce->getCategorie()->getNom(),
  844.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  845.                     'ville' => $annonce->getVille()->getNom(),
  846.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  847.                     'gallerie' => $gallerie,
  848.                     'couverture' => $couverture,
  849.                     'slug' => $annonce->getSlug(),
  850.                     'user' => $username,
  851.                     'vus' => $annonce->getVue()
  852.                 ];
  853.             }
  854.             $formatted = [];
  855.             $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  856.             $logo $baseurl '/uploads/partenaires/' $partenaire->getLogo();
  857.             $formatted[] = [
  858.                 'id' => trim($partenaire->getId()),
  859.                 'matricule' => $partenaire->getMatricule(),
  860.                 'raison' => $partenaire->getRaison(),
  861.                 'prenom_gerant' => $partenaire->getPrenom(),
  862.                 'nom_gerant' => $partenaire->getNom(),
  863.                 'inscription' => $partenaire->getDate_inscription()->format('M-Y'),
  864.                 'logo' => $logo,
  865.                 'adresse' => $partenaire->getAdresse(),
  866.                 'latitude' => $partenaire->getLatitude(),
  867.                 'longitude' => $partenaire->getLongitude(),
  868.                 'telephone' => $partenaire->getTelephone(),
  869.                 'site' => $partenaire->getSite(),
  870.                 'facebook' => $partenaire->getFacebook(),
  871.                 'instagram' => $partenaire->getInstagram(),
  872.                 'username' => $partenaire->getUsername(),
  873.                 'email' => $partenaire->getEmail(),
  874.                 'annonces' => $annonces
  875.             ];
  876.         } catch (\Exception $e) {
  877.             $formatted = [
  878.                 'code' => trim(0),
  879.                 'id' => "",
  880.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  881.             ];
  882.             return new JsonResponse($formatted);
  883.         }
  884.         return new JsonResponse($formatted);
  885.     }
  886.     /*     * *********************************************Détail d'une annonce************************************************* */
  887.     /**
  888.      * @Route("/api/annonce/{slug}", name="details-annonce")
  889.      */
  890.     public function detailsannonce(Request $request$slug) {
  891.         $em $this->getDoctrine()->getManager();
  892.         try {
  893.             $annonce $em->getRepository("App\Entity\Annonce")->findOneBySlug($slug);
  894.            $annonce->setVue($annonce->getVue()+1);
  895.            $em->flush();
  896.             $formatted = [];
  897.              $gallerie = [];
  898.             $gallerie = array();
  899.             $couverture $annonce->getCouverture();
  900.             $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  901.             $couverture $baseurl '/uploads/annonces/' $couverture;
  902.             $photos $annonce->getPhotos();
  903.             if ($photos != null) {
  904.                 foreach ($photos as $photo) {
  905.                     $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  906.                     $image $baseurl '/uploads/annonces/' $photo->getUrl();
  907.                    $gallerie[] = [
  908.                 'id' => trim($photo->getId()),
  909.                 'url' =>$image,
  910.                        ];
  911.                 
  912.             }
  913.             }
  914.             $user $annonce->getUser();
  915.             if ($user->getRaison() != null) {
  916.                 $logo="";
  917.                 $username $user->getRaison();
  918.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  919.                 if($user->getLogo()!=null){
  920.                 $logo $baseurl '/uploads/partenaires/' $user->getLogo();
  921.                 }
  922.             }
  923.             if ($user->getRaison() == null) {
  924.                 $username $user->getUsername();
  925.                 $logo="";
  926.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  927.                if($user->getLogo()!=null){
  928.                 $logo $baseurl '/uploads/particuliers/' $user->getLogo();
  929.                   }
  930.             }
  931.             $raison="";
  932.             if($user->getRaison()!=null){
  933.                 $raison=$user->getRaison();
  934.             }
  935.             $formatted[] = [
  936.                 'id' => trim($annonce->getId()),
  937.                 'libelle' => $annonce->getLibelle(),
  938.                 'reference' => $annonce->getReference(),
  939.                 'description' => $annonce->getDescription(),
  940.                 'prix' => $annonce->getPrix(),
  941.                 'categorie' => $annonce->getCategorie()->getNom(),
  942.                 'souscategorie' => $annonce->getSouscategorie()->getNom(),
  943.                 'slugsouscategorie' => $annonce->getSouscategorie()->getSlug(),
  944.                 'ville' => $annonce->getVille()->getNom(),
  945.                 'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  946.                 'gallerie' => $gallerie,
  947.                 'couverture' => $couverture,
  948.                 'slug' => $annonce->getSlug(),
  949.                 'user' => $username,
  950.                 'logo' => $logo,
  951.                 'adresse' => $user->getAdresse(),
  952.                 'email' => $user->getEmail(),
  953.                 'facebook' => $user->getFacebook(),
  954.                 'instagram' => $user->getInstagram(),
  955.                 'telephone' => $user->getTelephone(),
  956.                 'site' => $user->getSite(),
  957.                 'latitude' => $user->getLatitude(),
  958.                 'longitude' => $user->getLongitude(),
  959.                 'vus' => $annonce->getVue(),
  960.                 'raison'=>$raison
  961.             ];
  962.             $annonce->setVue($annonce->getVue() + 1);
  963.             $em->flush();
  964.         } catch (\Exception $e) {
  965.             $formatted = [
  966.                 'code' => trim(0),
  967.                 'id' => "",
  968.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  969.             ];
  970.             return new JsonResponse($formatted);
  971.         }
  972.         return new JsonResponse($formatted);
  973.     }
  974.     /*     * *************************************************************Liste des annonces similaires***************************************** */
  975.     /**
  976.      * @Route("/api/annonces-similaires/{souscategorie}/{annonce}", name="annonces-similaires")
  977.      */
  978.     public function annoncessimilaires(Request $request$souscategorie$annonce) {
  979.         $em $this->getDoctrine()->getManager();
  980.         try {
  981.             $sous $em->getRepository("App\Entity\SousCategorie")->findOneBySlug($souscategorie);
  982.             $annonces $em->getRepository("App\Entity\Annonce")->similaires($sous$annonce);
  983.             $formatted = [];
  984.             $gallerie = array();
  985.             foreach ($annonces as $annonce) {
  986.                 $couverture $annonce->getCouverture();
  987.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  988.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  989.                 $photos $annonce->getPhotos();
  990.                 if ($photos != null) {
  991.                     foreach ($photos as $photo) {
  992.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  993.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  994.                         array_push($gallerie$image);
  995.                     }
  996.                 }
  997.                 $formatted[] = [
  998.                     'id' => trim($annonce->getId()),
  999.                     'libelle' => $annonce->getLibelle(),
  1000.                     'reference' => $annonce->getReference(),
  1001.                     'description' => $annonce->getDescription(),
  1002.                     'prix' => $annonce->getPrix(),
  1003.                     'categorie' => $annonce->getCategorie()->getNom(),
  1004.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  1005.                     'ville' => $annonce->getVille()->getNom(),
  1006.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  1007.                     'gallerie' => $gallerie,
  1008.                     'couverture' => $couverture,
  1009.                     'slug' => $annonce->getSlug(),
  1010.                     'vue' => $annonce->getVue()
  1011.                 ];
  1012.             }
  1013.         } catch (\Exception $e) {
  1014.             $formatted = [
  1015.                 'code' => trim(0),
  1016.                 'id' => "",
  1017.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1018.             ];
  1019.             return new JsonResponse($formatted);
  1020.         }
  1021.         return new JsonResponse($formatted);
  1022.     }
  1023.     /*     * ********************************************Liste des annonces par sous catégorie************************************* */
  1024.     /**
  1025.      * @Route("/api/annonces/showroom/{raison}", name="annonces-par-showroom")
  1026.      */
  1027.     public function annoncesparshowroom(Request $request$raison) {
  1028.         $em $this->getDoctrine()->getManager();
  1029.         try {
  1030.             $showroom $em->getRepository("App\Entity\User")->findOneByRaison($raison);
  1031.             $annonces $em->getRepository("App\Entity\Annonce")->annoncesbypartenaire($showroom);
  1032.             $formatted = [];
  1033.             $gallerie = array();
  1034.             foreach ($annonces as $annonce) {
  1035.                 $couverture $annonce->getCouverture();
  1036.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1037.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  1038.                 $photos $annonce->getPhotos();
  1039.                 if ($photos != null) {
  1040.                     foreach ($photos as $photo) {
  1041.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1042.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  1043.                         array_push($gallerie$image);
  1044.                     }
  1045.                 }
  1046.                 $user $annonce->getUser();
  1047.                 if ($user->getRaison() != null) {
  1048.                     $username $user->getRaison();
  1049.                 }
  1050.                 if ($user->getRaison() == null) {
  1051.                     $username $user->getUsername();
  1052.                 }
  1053.                 $formatted[] = [
  1054.                     'id' => trim($annonce->getId()),
  1055.                     'libelle' => $annonce->getLibelle(),
  1056.                     'reference' => $annonce->getReference(),
  1057.                     'description' => $annonce->getDescription(),
  1058.                     'prix' => $annonce->getPrix(),
  1059.                     'categorie' => $annonce->getCategorie()->getNom(),
  1060.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  1061.                     'ville' => $annonce->getVille()->getNom(),
  1062.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  1063.                     'gallerie' => $gallerie,
  1064.                     'couverture' => $couverture,
  1065.                     'slug' => $annonce->getSlug(),
  1066.                     'user' => $username,
  1067.                     'vus' => $annonce->getVue()
  1068.                 ];
  1069.             }
  1070.         } catch (\Exception $e) {
  1071.             $formatted = [
  1072.                 'code' => trim(0),
  1073.                 'id' => "",
  1074.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1075.             ];
  1076.         }
  1077.         return new JsonResponse($formatted);
  1078.     }
  1079.     /*     * **********************************************************Connexion********************************************** */
  1080.     /**
  1081.      * @Get("/api/connexion/{telephone}/{password}")
  1082.      */
  1083.     public function loginAction(Request $request) {
  1084.         $telephone $request->get('telephone');
  1085.         $password $request->get('password');
  1086.         $em $this->getDoctrine()->getManager();
  1087.        $factory $this->formFactory;
  1088.       try {
  1089.             $user $em->getRepository("App\Entity\User")->findOneByTelephone($telephone);
  1090.             $formatted = [];
  1091.             if (!$user) {
  1092.                 $formatted = [
  1093.                     'code' => trim(-1),
  1094.                     'id' => '',
  1095.                     'message' => 'Aucun utilisateur trouvé'
  1096.                 ];
  1097.             }
  1098.             if ($user) {
  1099.                 if (!$user->isEnabled()) {
  1100.                     $formatted = [
  1101.                         'code' => -1,
  1102.                         'id' => '',
  1103.                         'message' => "Votre compte est désactivé, vous n'étes pas autorisé à accéder à votre compte"
  1104.                     ];
  1105.                 }
  1106.                 $encoder $factory->getEncoder($user);
  1107. if ($password!=$user->getMot()) {
  1108.     
  1109.                     $formatted = [
  1110.                         'code' => trim(-1),
  1111.                         'id' => '',
  1112.                         'message' => 'Votre mot de passe est incorrect'
  1113.                     ];
  1114.                 }
  1115.                 if ($password==$user->getMot()) {
  1116.             if ($user->hasRole('ROLE_PARTENAIRE')) {
  1117.                     $formatted = [
  1118.                         'code' => trim(-1),
  1119.                         'id' => '',
  1120.                         'message' => 'Cher partenaire , veuillez utilisez votre espace adéquat'
  1121.                     ];
  1122.                 }
  1123.                 if ($user->hasRole('ROLE_AGENT_ANNONCE')) {
  1124.                     $formatted = [
  1125.                         'code' => trim(-1),
  1126.                         'id' => '',
  1127.                         'message' => 'Cher responsable , veuillez utilisez votre espace adéquat'
  1128.                     ];
  1129.                 }
  1130.                 if ($user->hasRole('ROLE_AGENT_BANNIERE')) {
  1131.                     $formatted = [
  1132.                         'code' => trim(-1),
  1133.                         'id' => '',
  1134.                         'message' => 'Cher responsable , veuillez utilisez votre espace adéquat'
  1135.                     ];
  1136.                 }
  1137.                 if ($user->hasRole('ROLE_ADMIN')) {
  1138.                     $formatted = [
  1139.                         'code' => trim(-1),
  1140.                         'id' => '',
  1141.                         'message' => 'Cher administrateur , veuillez utilisez votre espace adéquat'
  1142.                     ];
  1143.                 }
  1144.                 if ($user->hasRole('ROLE_PARTICULIER')) {
  1145.                     $prenom "";
  1146.                     if ($user->getPrenom() != null) {
  1147.                         $prenom $user->getPrenom();
  1148.                     }
  1149.                     $nom "";
  1150.                     if ($user->getNom() != null) {
  1151.                         $nom $user->getNom();
  1152.                     }
  1153.                     $logo "";
  1154.                     if ($user->getLogo() != null) {
  1155.                         $logo $user->getLogo();
  1156.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1157.                         $logo $baseurl '/uploads/particuliers/' $user->getLogo();
  1158.                     }
  1159.                     $formatted = [
  1160.                         'code' => trim(1),
  1161.                         'id' => trim($user->getId()),
  1162.                         'message' => 'Connexion avec succès',
  1163.                         'prenom' => $prenom,
  1164.                         'nom' => $nom,
  1165.                         'photo' => $logo
  1166.                     ];
  1167.                 }
  1168.             }
  1169.             }
  1170.             
  1171.             
  1172.      } catch (\Exception $e) {
  1173.             $formatted = [
  1174.                 'code' => trim(0),
  1175.                 'id' => "",
  1176.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1177.             ];
  1178.             return new JsonResponse($formatted);
  1179.         }
  1180.            
  1181.         return new JsonResponse($formatted);
  1182.     }
  1183.     /**
  1184.      *  @Get("/api/inscription/{nom}/{prenom}/{email}/{telephone}/{password}/{reference}")
  1185.      */
  1186.     public function inscription(Request $request$nom$prenom$email$telephone$password,$reference) {
  1187.         try {
  1188.             $em $this->getDoctrine()->getManager();
  1189.             $factory $this->formFactory;
  1190.             $formatted = [];
  1191.             $username $prenom ' ' $nom;
  1192.             $recherche $em->getRepository('App\Entity\User')->findOneByUsername($username);
  1193.             if ($recherche != null) {
  1194.                 $formatted = [
  1195.                     'code' => trim(-2),
  1196.                     'message' => "Le nom d'utilisateur est déja utilisé",
  1197.                 ];
  1198.             }
  1199.             $recherche3 $em->getRepository('App\Entity\User')->findOneByTelephone($telephone);
  1200.             if ($recherche3 != null) {
  1201.                 $formatted = [
  1202.                     'code' => trim(-2),
  1203.                     'message' => "Ce numéro de téléphone est déja utilisé",
  1204.                 ];
  1205.             }
  1206.             $recherche2 $em->getRepository('App\Entity\User')->findOneByEmail($email);
  1207.             if ($recherche2 != null) {
  1208.                 $formatted = [
  1209.                     'code' => trim(-1),
  1210.                     'message' => "L'email est déja utilisé",
  1211.                 ];
  1212.             }
  1213.             if ($recherche == null && $recherche2 == null && $recherche3 == null) {
  1214.                 $user = new User();
  1215.                  $site $em->getRepository('App\Entity\Site')->findOneByReference($reference);
  1216.                 $encoder $factory->getEncoder($user);
  1217.                 $user->addRole('ROLE_PARTICULIER');
  1218.                 $user->setEnabled(true);
  1219.                 $user->setSite_reference($site);
  1220.                 $user->setShown(true);
  1221.                 $user->setUsername($username);
  1222.                 $user->setNom($prenom);
  1223.                 $user->setPrenom($nom);
  1224.                 $user->setSalt(uniqid());
  1225.                 $user->setEmail($email);
  1226.                 $user->setMot($password);
  1227.                 $user->setPassword($encoder->encodePassword($user$password));
  1228.                 $test = new \DateTime('NOW');
  1229.                 $user->setDate_inscription($test);
  1230.                 $user->setTelephone($telephone);
  1231.                 $em->persist($user);
  1232.                 $em->flush();
  1233.                 $formatted = [
  1234.                     'code' => trim(1),
  1235.                     'message' => "Votre compte a été crée avec succès,Bienvenue sur notre plateforme, veuillez accèder à l'espace de connexion ",
  1236.                     'id_user' => $user->getId(),
  1237.                 ];
  1238.             }
  1239.         } catch (\Exception $e) {
  1240.             $formatted = [
  1241.                 'code' => trim(0),
  1242.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1243.             ];
  1244.             return new JsonResponse($formatted);
  1245.         }
  1246.         return new JsonResponse($formatted);
  1247.     }
  1248.     /**
  1249.      * @Get("/api/profil/{id}")
  1250.      */
  1251.     public function getprofil(Request $request) {
  1252.         try {
  1253.             $id $request->get('id');
  1254.             $em $this->getDoctrine()->getManager();
  1255.             $user $em->getRepository('App\Entity\User')->find($id);
  1256.             $logo "";
  1257.             if ($user->getLogo() != null) {
  1258.                 $logo $user->getLogo();
  1259.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1260.                 $logo $baseurl '/uploads/particuliers/' $user->getLogo();
  1261.             }
  1262.             $ville "";
  1263.             if ($user->getVille() != null) {
  1264.                 $ville $user->getVille()->getNom();
  1265.             }
  1266.             $formatted = [];
  1267.             if (!$user) {
  1268.                 $formatted = [
  1269.                     'code' => trim(1),
  1270.                     'message' => "Aucun utilisateur trouvé",
  1271.                 ];
  1272.             }
  1273.             if ($user) {
  1274.                 $formatted[] = [
  1275.                     'id' => trim($user->getId()),
  1276.                     'nom' => $user->getNom(),
  1277.                     'prenom' => $user->getPrenom(),
  1278.                     'email' => $user->getEmail(),
  1279.                     'telephone' => $user->getTelephone(),
  1280.                     'username' => $user->getUsername(),
  1281.                     'photo' => $logo,
  1282.                     'adresse' => $user->getAdresse(),
  1283.                     'postal' => $user->getPostal(),
  1284.                     'ville' => $ville
  1285.                 ];
  1286.             }
  1287.         } catch (\Exception $e) {
  1288.             $formatted = [
  1289.                 'code' => trim(0),
  1290.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1291.             ];
  1292.             return new JsonResponse($formatted);
  1293.         }
  1294.         return new JsonResponse($formatted);
  1295.     }
  1296.     /**
  1297.      * @POST("/api/modifier-profil")
  1298.      */
  1299.     public function updateprofile(Request $request/* , $id_user, $nom, $prenom, $email, $telephone, $ville, $photo */) {
  1300.   try {
  1301.             $data json_decode($request->getContent(), true);
  1302.             $request->request->replace(is_array($data) ? $data : array());
  1303.             $em $this->getDoctrine()->getManager();
  1304.             $formatted = [];
  1305.             $telephone $data['telephone'];
  1306.             $email $data['email'];
  1307.             $prenom $data['prenom'];
  1308.             $nom $data['nom'];
  1309.             $ville $data['ville'];
  1310.              $postal $data['postal'];
  1311.             $photo $data['photo'];
  1312.             $id_user $data['user'];
  1313.             $adresse$data['adresse'];
  1314.            $username=$prenom ' ' $nom;
  1315.             $user $em->getRepository('App\Entity\User')->find($id_user);
  1316.             $last_photo=$user->getLogo();
  1317.             $ville_entity $em->getRepository('App\Entity\Ville')->findOneBySlug($ville);
  1318.             $recherche3 $em->getRepository('App\Entity\User')->findOneByTelephone($telephone);
  1319.             if ($recherche3 != null && $recherche3 != $user) {
  1320.                 $formatted = [
  1321.                     'code' => trim(-2),
  1322.                     'message' => "Ce numéro de téléphone est déja utilisé",
  1323.                 ];
  1324.             }
  1325.             $recherche2 $em->getRepository('App\Entity\User')->findOneByEmail($email);
  1326.             if ($recherche2 != null && $recherche2 != $user) {
  1327.                 $formatted = [
  1328.                     'code' => trim(-1),
  1329.                     'message' => "L'email est déja utilisé",
  1330.                 ];
  1331.             }
  1332.             if ($recherche2 == $user && $recherche3 == $user || $recherche2==null || $recherche3==null) {
  1333.                 $photo_name null;
  1334.                 if ($photo != "") {
  1335.                     $bin_photo base64_decode($photo);
  1336.                     $size getImageSizeFromString($bin_photo);
  1337.                     $ext substr($size['mime'], 6);
  1338.                     $photo_name md5(uniqid()) . '.' $ext;
  1339.                     $img_file 'uploads/particuliers/' $photo_name;
  1340.                     file_put_contents($img_file$bin_photoFILE_APPEND LOCK_EX);
  1341.                 }
  1342.                 if($photo==""){
  1343.                     $user->setLogo($last_photo);
  1344.                 }
  1345.                 $user->setNom($nom);
  1346.                 $user->setPrenom($prenom);
  1347.                  $user->setTelephone($telephone);
  1348.                 $user->setUsername($username);
  1349.                 $user->setEmail($email);
  1350.                 $user->setLogo($photo_name);
  1351.                 $user->setPostal($postal);
  1352.                 $user->setAdresse($adresse);
  1353.                 $user->setVille($ville_entity);
  1354.                 $em->flush();
  1355.                 $formatted = [
  1356.                     'code' => trim(1),
  1357.                     'message' => "Votre profil a été mis à jour avec succès ",
  1358.                     'id_user' => $user->getId(),
  1359.                 ];
  1360.            }
  1361.      } catch (\Exception $e) {
  1362.             $formatted = [
  1363.                 'code' => trim(0),
  1364.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1365.             ];
  1366.             return new JsonResponse($formatted);
  1367.         }
  1368.         return new JsonResponse($formatted);
  1369.     }
  1370.     /**
  1371.      * @Route("/api/mes-annonces/{id_user}", name="mes-annonces-api")
  1372.      */
  1373.     public function mesannonces(Request $request$id_user) {
  1374.         $em $this->getDoctrine()->getManager();
  1375.         try {
  1376.             $annonces $em->getRepository("App\Entity\Annonce")->mine($id_user)->getResult();
  1377.             $formatted = [];
  1378.             $gallerie = array();
  1379.             foreach ($annonces as $annonce) {
  1380.                 $couverture $annonce->getCouverture();
  1381.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1382.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  1383.                 $photos $annonce->getPhotos();
  1384.                 if ($photos != null) {
  1385.                     foreach ($photos as $photo) {
  1386.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1387.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  1388.                         array_push($gallerie$image);
  1389.                     }
  1390.                 }
  1391.                 $formatted[] = [
  1392.                     'id' => trim($annonce->getId()),
  1393.                     'libelle' => $annonce->getLibelle(),
  1394.                     'reference' => $annonce->getReference(),
  1395.                     'description' => $annonce->getDescription(),
  1396.                     'prix' => $annonce->getPrix(),
  1397.                     'categorie' => $annonce->getCategorie()->getNom(),
  1398.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  1399.                     'ville' => $annonce->getVille()->getNom(),
  1400.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  1401.                     'gallerie' => $gallerie,
  1402.                     'couverture' => $couverture,
  1403.                     'slug' => $annonce->getSlug(),
  1404.                     'vus' => $annonce->getVue(),
  1405.                     'publie' => $annonce->getPublie(),
  1406.                     'premium' => $annonce->getPremium(),
  1407.                     'expired' => $annonce->getExpired()
  1408.                 ];
  1409.             }
  1410.         } catch (\Exception $e) {
  1411.             $formatted = [
  1412.                 'code' => trim(0),
  1413.                 'id' => "",
  1414.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1415.             ];
  1416.             return new JsonResponse($formatted);
  1417.         }
  1418.         return new JsonResponse($formatted);
  1419.     }
  1420.     
  1421.     
  1422.     
  1423.     
  1424.     
  1425.     
  1426.     /**
  1427.      * @POST("/api/ajouter-annonce")
  1428.      */
  1429.     public function addannonce(Request $request) {
  1430.  try {
  1431.             $data json_decode($request->getContent(), true);
  1432.             $request->request->replace(is_array($data) ? $data : array());
  1433.             $em $this->getDoctrine()->getManager();
  1434.             $formatted = [];
  1435.             $libelle $data['libelle'];
  1436.             $categorie $data['categorie'];
  1437.             $sous $data['souscategorie'];
  1438.             $ville $data['ville'];
  1439.             $description $data['description'];
  1440.             $id_user=$data['user'];
  1441.             $couverture=$data['couverture'];
  1442.             $gallerie=$data['gallerie'];
  1443.              $prix=$data['prix'];
  1444.             
  1445.             
  1446.             $user $em->getRepository('App\Entity\User')->find($id_user);
  1447.             $category_entity=$em->getRepository('App\Entity\Categorie')->findOneBySlug($categorie);
  1448.             $souscategory_entity=$em->getRepository('App\Entity\Souscategorie')->findOneBySlug($sous);
  1449.             $ville_entity=$em->getRepository('App\Entity\Ville')->findOneBySlug($ville);
  1450.             $annonce=new Annonce();
  1451.             $annonce->setLibelle($libelle);
  1452.             $annonce->setCategorie($category_entity);
  1453.             $annonce->setSouscategorie($souscategory_entity);
  1454.             $annonce->setVille($ville_entity);
  1455.             $annonce->setDescription($description);
  1456.             $annonce->setPrix($prix);
  1457.              $date = new \DateTime('now');
  1458.             $chaine $date->format('mdHis');
  1459.             $annonce->setReference('BM-' $chaine);
  1460.             $annonce->setPremium(false);
  1461.             $annonce->setPublie(false);
  1462.             $annonce->setExpired(false);
  1463.             $annonce->setUser($user);
  1464.             $date_actuelledate('d-m-Y H:i:s');
  1465.             $expired_datedate('d-m-Y H:i:s',strtotime('+3 month',strtotime($date_actuelle)));
  1466.             $annonce->setExpireddate(new \DateTime($expired_date));
  1467.             $annonce->setVue(0);
  1468.             $annonce->setSlug($annonce->slugify($libelle));
  1469.                             $couverture_name null;
  1470.                 if ($couverture != "") {
  1471.                     $bin_couverturebase64_decode($couverture);
  1472.                     $size getImageSizeFromString($bin_couverture);
  1473.                     $ext substr($size['mime'], 6);
  1474.                     $couverture_name md5(uniqid()) . '.' $ext;
  1475.                     $img_file 'uploads/annonces/' $couverture_name;
  1476.                     file_put_contents($img_file$bin_couvertureFILE_APPEND LOCK_EX);
  1477.                     $annonce->setCouverture($couverture_name);
  1478.                 }
  1479.                 foreach($gallerie as $gal){
  1480.                       $bin_galbase64_decode($gal);
  1481.                     $size getImageSizeFromString($bin_gal);
  1482.                     $ext substr($size['mime'], 6);
  1483.                     $gal_name md5(uniqid()) . '.' $ext;
  1484.                     $img_file 'uploads/annonces/' $gal_name;
  1485.                     file_put_contents($img_file$bin_galFILE_APPEND LOCK_EX);
  1486.                     
  1487.                     $photo=new Photo();
  1488.                     $photo->setUrl($gal_name);
  1489.                     $photo->setAnnonce($annonce);
  1490.                     $em->persist($photo);
  1491.                     $em->flush();
  1492.                     
  1493.                 }
  1494.                 $em->persist($annonce);
  1495.                 $em->flush();
  1496.                             $formatted[] = [
  1497.                     'id' => trim($annonce->getId()),
  1498.                     'libelle' => $annonce->getLibelle(),
  1499.                     'reference' => $annonce->getReference(),
  1500.                     'code'=>trim(1),
  1501.                    'message'=>'Votre annonce a été ajoutée avec succès'
  1502.                 ];
  1503.   }
  1504.     catch (\Exception $e) {
  1505.             $formatted = [
  1506.                 'code' => trim(0),
  1507.                 'id' => "",
  1508.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1509.             ];
  1510.             return new JsonResponse($formatted);
  1511.         }
  1512.         return new JsonResponse($formatted);
  1513.     }
  1514.     /**
  1515.      * @GET("/api/supprimer-annonce/{id_annonce}")
  1516.      */
  1517.     public function supprimerannonce(Request $request,$id_annonce) {
  1518.  try {
  1519.          $em $this->getDoctrine()->getManager();
  1520.   $annonce $em->getRepository("App\Entity\Annonce")->find($id_annonce);
  1521.    $em->remove($annonce);
  1522.     $em->flush();
  1523.     
  1524.             $formatted = [
  1525.                 'code' => trim(1),
  1526.                 'id' => "",
  1527.                 'message' => "L'annonce est supprimée"
  1528.             ];
  1529. }
  1530.     catch (\Exception $e) {
  1531.             $formatted = [
  1532.                 'code' => trim(0),
  1533.                 'id' => "",
  1534.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1535.             ];
  1536.             return new JsonResponse($formatted);
  1537.         }
  1538.     
  1539.         return new JsonResponse($formatted);
  1540.     }
  1541.     
  1542.     
  1543.     
  1544.      /**
  1545.      * @GET("/api/supprimer-photo/{id_photo}")
  1546.      */
  1547.     public function supprimerphoto(Request $request,$id_photo) {
  1548.  try {
  1549.          $em $this->getDoctrine()->getManager();
  1550.   $photo $em->getRepository("App\Entity\Photo")->find($id_photo);
  1551.   $photo->setAnnonce(null);
  1552.   $em->flush();
  1553.    $em->remove($photo);
  1554.     $em->flush();
  1555.     
  1556.             $formatted = [
  1557.                 'code' => trim(1),
  1558.                 'id' => "",
  1559.                 'message' => "La photo est supprimée"
  1560.             ];
  1561. }
  1562.     catch (\Exception $e) {
  1563.             $formatted = [
  1564.                 'code' => trim(0),
  1565.                 'id' => "",
  1566.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1567.             ];
  1568.             return new JsonResponse($formatted);
  1569.         }
  1570.     
  1571.         return new JsonResponse($formatted);
  1572.     }
  1573.     
  1574.     
  1575.     
  1576.     
  1577.     
  1578.      /**
  1579.      * @POST("/api/modifier-annonce")
  1580.      */
  1581.     public function updateannonce(Request $request) {
  1582.  try {
  1583.         
  1584.             $data json_decode($request->getContent(), true);
  1585.             $request->request->replace(is_array($data) ? $data : array());
  1586.             $em $this->getDoctrine()->getManager();
  1587.             $formatted = [];
  1588.             $libelle $data['libelle'];
  1589.             $categorie $data['categorie'];
  1590.             $sous $data['souscategorie'];
  1591.             $ville $data['ville'];
  1592.             $description $data['description'];
  1593.             $id_user=$data['user'];
  1594.             $id_annonce=$data['id_annonce'];
  1595.             $couverture=$data['couverture'];
  1596.             $gallerie=$data['gallerie'];
  1597.              $prix=$data['prix'];
  1598.             
  1599.             
  1600.             $user $em->getRepository('App\Entity\User')->find($id_user);
  1601.             $category_entity=$em->getRepository('App\Entity\Categorie')->findOneBySlug($categorie);
  1602.             $souscategory_entity=$em->getRepository('App\Entity\Souscategorie')->findOneBySlug($sous);
  1603.             $ville_entity=$em->getRepository('App\Entity\Ville')->findOneBySlug($ville);
  1604.             $annonce=$em->getRepository('App\Entity\Annonce')->find($id_annonce);
  1605.             $last_couverture=$annonce->getCouverture();
  1606.             $annonce->setLibelle($libelle);
  1607.             $annonce->setCategorie($category_entity);
  1608.             $annonce->setSouscategorie($souscategory_entity);
  1609.             $annonce->setVille($ville_entity);
  1610.             $annonce->setDescription($description);
  1611.             $annonce->setPrix($prix);
  1612.             $annonce->setUser($user);
  1613.             $annonce->setSlug($annonce->slugify($libelle));
  1614.                             $couverture_name null;
  1615.                 if ($couverture != "") {
  1616.                     $bin_couverturebase64_decode($couverture);
  1617.                     $size getImageSizeFromString($bin_couverture);
  1618.                     $ext substr($size['mime'], 6);
  1619.                     $couverture_name md5(uniqid()) . '.' $ext;
  1620.                     $img_file 'uploads/annonces/' $couverture_name;
  1621.                     file_put_contents($img_file$bin_couvertureFILE_APPEND LOCK_EX);
  1622.                     $annonce->setCouverture($couverture_name);
  1623.                 }
  1624.                 if($couverture==""){
  1625.                     $annonce->setCouverture($last_couverture);
  1626.                 }
  1627.                 if($gallerie!=""){
  1628.                 foreach($gallerie as $gal){
  1629.                       $bin_galbase64_decode($gal);
  1630.                     $size getImageSizeFromString($bin_gal);
  1631.                     $ext substr($size['mime'], 6);
  1632.                     $gal_name md5(uniqid()) . '.' $ext;
  1633.                     $img_file 'uploads/annonces/' $gal_name;
  1634.                     file_put_contents($img_file$bin_galFILE_APPEND LOCK_EX);
  1635.                     
  1636.                     $photo=new Photo();
  1637.                     $photo->setUrl($gal_name);
  1638.                     $photo->setAnnonce($annonce);
  1639.                     $em->persist($photo);
  1640.                     $em->flush();
  1641.                     
  1642.                 }
  1643.                 }
  1644.                 $em->flush();
  1645.                             $formatted[] = [
  1646.                     'id' => trim($annonce->getId()),
  1647.                     'libelle' => $annonce->getLibelle(),
  1648.                     'reference' => $annonce->getReference(),
  1649.                     'code'=>trim(1),
  1650.                    'message'=>'Votre annonce a été modifiée avec succès'
  1651.                 ];
  1652.     }
  1653.   catch (\Exception $e) {
  1654.             $formatted = [
  1655.                 'code' => trim(0),
  1656.                 'id' => "",
  1657.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1658.             ];
  1659.             return new JsonResponse($formatted);
  1660.         }
  1661.                 return new JsonResponse($formatted);
  1662.     }
  1663.     
  1664.   /**
  1665.      * @Route("/api/annonces/filtrer/{wordkey}/{category}", name="filter-annonces")
  1666.      */
  1667.     public function filterannonces(Request $request$category,$wordkey) {
  1668.         $em $this->getDoctrine()->getManager();
  1669.        try {
  1670.            if($category=='all'){
  1671.                $category_entity='all';
  1672.            }
  1673.            if($category!='all'){
  1674.             $category_entity$em->getRepository("App\Entity\Categorie")->findOneBySlug($category);
  1675.            }
  1676.             $annonces $em->getRepository("App\Entity\Annonce")->apifiltrer($wordkey,$category_entity);
  1677.             $formatted = [];
  1678.             $gallerie = array();
  1679.             foreach ($annonces as $annonce) {
  1680.                 $couverture $annonce->getCouverture();
  1681.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1682.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  1683.                 $photos $annonce->getPhotos();
  1684.                 if ($photos != null) {
  1685.                     foreach ($photos as $photo) {
  1686.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1687.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  1688.                         array_push($gallerie$image);
  1689.                     }
  1690.                 }
  1691.                 $user $annonce->getUser();
  1692.                 if ($user->getRaison() != null) {
  1693.                     $username $user->getRaison();
  1694.                 }
  1695.                 if ($user->getRaison() == null) {
  1696.                     $username $user->getUsername();
  1697.                 }
  1698.                 $formatted[] = [
  1699.                     'id' => trim($annonce->getId()),
  1700.                     'libelle' => $annonce->getLibelle(),
  1701.                     'reference' => $annonce->getReference(),
  1702.                     'description' => $annonce->getDescription(),
  1703.                     'prix' => $annonce->getPrix(),
  1704.                     'categorie' => $annonce->getCategorie()->getNom(),
  1705.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  1706.                     'ville' => $annonce->getVille()->getNom(),
  1707.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  1708.                     'gallerie' => $gallerie,
  1709.                     'couverture' => $couverture,
  1710.                     'slug' => $annonce->getSlug(),
  1711.                     'user' => $username,
  1712.                     'vus' => $annonce->getVue()
  1713.                 ];
  1714.             }
  1715.        } catch (\Exception $e) {
  1716.             $formatted = [
  1717.                 'code' => trim(0),
  1718.                 'id' => "",
  1719.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1720.             ];
  1721.         }
  1722.         return new JsonResponse($formatted);
  1723.     }
  1724.   /**
  1725.      * @POST("/api/change-password")
  1726.      */
  1727.     public function chnagepassword(Request $request/* , $id_user, $nom, $prenom, $email, $telephone, $ville, $photo */) {
  1728. try {
  1729.             $data json_decode($request->getContent(), true);
  1730.             $request->request->replace(is_array($data) ? $data : array());
  1731.             $em $this->getDoctrine()->getManager();
  1732.             $formatted = [];
  1733.             $password $data['password'];
  1734.             $id_user $data['user'];
  1735.             $user $em->getRepository('App\Entity\User')->find($id_user);
  1736.            
  1737.                 $factory $this->formFactory;
  1738.                 $encoder $factory->getEncoder($user);
  1739.                 $user->setPlainpassword($password);
  1740.                 $user->setPassword($encoder->encodePassword($user$password));
  1741.                 $em->flush();
  1742.                 $formatted = [
  1743.                     'code' => trim(1),
  1744.                     'message' => "Votre mot de passe a été mise à jour avec succès ",
  1745.                     'id_user' => $user->getId(),
  1746.                 ];
  1747.    } catch (\Exception $e) {
  1748.             $formatted = [
  1749.                 'code' => trim(0),
  1750.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1751.             ];
  1752.             return new JsonResponse($formatted);
  1753.         }
  1754.         return new JsonResponse($formatted);
  1755.     }
  1756.     
  1757.     
  1758.     
  1759.     
  1760.     
  1761.      /**
  1762.      * @Route("/api/annonces/recherche/{libelle}", name="recherche-annonces")
  1763.      */
  1764.     public function rechercheannonces(Request $request,$libelle) {
  1765.         $em $this->getDoctrine()->getManager();
  1766.       /* try {*/
  1767.             $annonces $em->getRepository("App\Entity\Annonce")->apirecherche($libelle);
  1768.             $formatted = [];
  1769.             $gallerie = array();
  1770.             foreach ($annonces as $annonce) {
  1771.                 $couverture $annonce->getCouverture();
  1772.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1773.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  1774.                 $photos $annonce->getPhotos();
  1775.                 if ($photos != null) {
  1776.                     foreach ($photos as $photo) {
  1777.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1778.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  1779.                         array_push($gallerie$image);
  1780.                     }
  1781.                 }
  1782.                 $user $annonce->getUser();
  1783.                 if ($user->getRaison() != null) {
  1784.                     $username $user->getRaison();
  1785.                 }
  1786.                 if ($user->getRaison() == null) {
  1787.                     $username $user->getUsername();
  1788.                 }
  1789.                 $formatted[] = [
  1790.                     'id' => trim($annonce->getId()),
  1791.                     'libelle' => $annonce->getLibelle(),
  1792.                     'reference' => $annonce->getReference(),
  1793.                     'description' => $annonce->getDescription(),
  1794.                     'prix' => $annonce->getPrix(),
  1795.                     'categorie' => $annonce->getCategorie()->getNom(),
  1796.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  1797.                     'ville' => $annonce->getVille()->getNom(),
  1798.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  1799.                     'gallerie' => $gallerie,
  1800.                     'couverture' => $couverture,
  1801.                     'slug' => $annonce->getSlug(),
  1802.                     'user' => $username,
  1803.                     'vus' => $annonce->getVue()
  1804.                 ];
  1805.             }
  1806.     /*   } catch (\Exception $e) {
  1807.             $formatted = [
  1808.                 'code' => trim(0),
  1809.                 'id' => "",
  1810.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1811.             ];
  1812.         }*/
  1813.         return new JsonResponse($formatted);
  1814.     }
  1815.     
  1816.     
  1817.     /**
  1818.      * @Route("/api/annonces/chercher/{category}/{subcategory}", name="chercher-annonces")
  1819.      */
  1820.     public function chercherannonces(Request $request$category,$subcategory) {
  1821.         $em $this->getDoctrine()->getManager();
  1822.      /*  try {*/
  1823.            if($category!='@@'){
  1824.             $category_entity$em->getRepository("App\Entity\Categorie")->findOneBySlug($category);
  1825.            }
  1826.            if($category=='@@'){
  1827.                $category_entity='@@';
  1828.            }
  1829.              $subcategory_entity$em->getRepository("App\Entity\SousCategorie")->findOneBySlug($subcategory);
  1830.             $annonces $em->getRepository("App\Entity\Annonce")->apichercher($category_entity,$subcategory_entity);
  1831.             $formatted = [];
  1832.             $gallerie = array();
  1833.             foreach ($annonces as $annonce) {
  1834.                 $couverture $annonce->getCouverture();
  1835.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1836.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  1837.                 $photos $annonce->getPhotos();
  1838.                 if ($photos != null) {
  1839.                     foreach ($photos as $photo) {
  1840.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1841.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  1842.                         array_push($gallerie$image);
  1843.                     }
  1844.                 }
  1845.                 $user $annonce->getUser();
  1846.                 if ($user->getRaison() != null) {
  1847.                     $username $user->getRaison();
  1848.                 }
  1849.                 if ($user->getRaison() == null) {
  1850.                     $username $user->getUsername();
  1851.                 }
  1852.                 $formatted[] = [
  1853.                     'id' => trim($annonce->getId()),
  1854.                     'libelle' => $annonce->getLibelle(),
  1855.                     'reference' => $annonce->getReference(),
  1856.                     'description' => $annonce->getDescription(),
  1857.                     'prix' => $annonce->getPrix(),
  1858.                     'categorie' => $annonce->getCategorie()->getNom(),
  1859.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  1860.                     'ville' => $annonce->getVille()->getNom(),
  1861.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  1862.                     'gallerie' => $gallerie,
  1863.                     'couverture' => $couverture,
  1864.                     'slug' => $annonce->getSlug(),
  1865.                     'user' => $username,
  1866.                     'vus' => $annonce->getVue()
  1867.                 ];
  1868.             }
  1869.      /*  } catch (\Exception $e) {
  1870.             $formatted = [
  1871.                 'code' => trim(0),
  1872.                 'id' => "",
  1873.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1874.             ];
  1875.         }*/
  1876.         return new JsonResponse($formatted);
  1877.     }
  1878.     
  1879.     
  1880.     
  1881.     
  1882.     
  1883.     
  1884.      /**
  1885.      * @Route("/api/annonces/user/{username}", name="annonces-par-username")
  1886.      */
  1887.     public function annoncesparusername(Request $request$username) {
  1888.         $em $this->getDoctrine()->getManager();
  1889.         try {
  1890.             $user $em->getRepository("App\Entity\User")->findOneByUsername($username);
  1891.             $annonces $em->getRepository("App\Entity\Annonce")->annoncesbyparticulier($user);
  1892.             $formatted = [];
  1893.             $gallerie = array();
  1894.             foreach ($annonces as $annonce) {
  1895.                 $couverture $annonce->getCouverture();
  1896.                 $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1897.                 $couverture $baseurl '/uploads/annonces/' $couverture;
  1898.                 $photos $annonce->getPhotos();
  1899.                 if ($photos != null) {
  1900.                     foreach ($photos as $photo) {
  1901.                         $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  1902.                         $image $baseurl '/uploads/annonces/' $photo->getUrl();
  1903.                         array_push($gallerie$image);
  1904.                     }
  1905.                 }
  1906.                 $user $annonce->getUser();
  1907.                 if ($user->getRaison() != null) {
  1908.                     $username $user->getRaison();
  1909.                 }
  1910.                 if ($user->getRaison() == null) {
  1911.                     $username $user->getUsername();
  1912.                 }
  1913.                 $formatted[] = [
  1914.                     'id' => trim($annonce->getId()),
  1915.                     'libelle' => $annonce->getLibelle(),
  1916.                     'reference' => $annonce->getReference(),
  1917.                     'description' => $annonce->getDescription(),
  1918.                     'prix' => $annonce->getPrix(),
  1919.                     'categorie' => $annonce->getCategorie()->getNom(),
  1920.                     'souscategorie' => $annonce->getSouscategorie()->getNom(),
  1921.                     'ville' => $annonce->getVille()->getNom(),
  1922.                     'date_creation' => $annonce->getCreatedAt()->format('d-m-Y'),
  1923.                     'gallerie' => $gallerie,
  1924.                     'couverture' => $couverture,
  1925.                     'slug' => $annonce->getSlug(),
  1926.                     'user' => $username,
  1927.                     'vus' => $annonce->getVue()
  1928.                 ];
  1929.             }
  1930.         } catch (\Exception $e) {
  1931.             $formatted = [
  1932.                 'code' => trim(0),
  1933.                 'id' => "",
  1934.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1935.             ];
  1936.         }
  1937.         return new JsonResponse($formatted);
  1938.     }
  1939.     
  1940.     
  1941.      /**
  1942.      * @POST("/api/envoyer-message")
  1943.      */
  1944.     public function envoyermessage(Request $request) {
  1945.   try {
  1946.             $data json_decode($request->getContent(), true);
  1947.             $request->request->replace(is_array($data) ? $data : array());
  1948.             $em $this->getDoctrine()->getManager();
  1949.             $formatted = [];
  1950.             $sender $data['sender'];
  1951.             $sender_entity $em->getRepository('App\Entity\User')->find($sender);
  1952.             $receiver $data['receiver'];
  1953.             $receiver_entity $em->getRepository('App\Entity\User')->findOneByUsername($receiver);
  1954.             $texte $data['message'];
  1955.             $message=new Message();
  1956.             $message->setSender($sender_entity);
  1957.             $message->setReceiver($receiver_entity);
  1958.             $message->setMessage($texte);
  1959.             $test = new \DateTime('NOW');
  1960.             $message->setCreatedAt($test);
  1961.             $em->persist($message);
  1962.             $em->flush();
  1963.   $formatted = [
  1964.                     'code' => trim(1),
  1965.                     'message' => "Votre message a été envoyé avec succès ",
  1966.                     'id_message' => $message->getId(),
  1967.                 ];
  1968.    } catch (\Exception $e) {
  1969.             $formatted = [
  1970.                 'code' => trim(0),
  1971.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  1972.             ];
  1973.             return new JsonResponse($formatted);
  1974.         }
  1975.         return new JsonResponse($formatted);
  1976.     }
  1977.     
  1978.     
  1979.     
  1980.     
  1981.     /**
  1982.      * @Route("/api/mes-messages/{id_user}", name="mes-messages-api")
  1983.      */
  1984.     public function mesmessages(Request $request$id_user) {
  1985.         $em $this->getDoctrine()->getManager();
  1986.         try {
  1987.             $user $em->getRepository("App\Entity\User")->find($id_user);
  1988.             $messages $em->getRepository("App\Entity\Message")->mine($user)->getResult();
  1989.             $formatted = [];
  1990.             foreach ($messages as $message) {
  1991.                 $formatted[] = [
  1992.                     'id' => trim($message->getId()),
  1993.                     'texte' => $message->getMessage(),
  1994.                     'date_creation'=>$message->getCreatedAt()->format('d-m-Y h:i'),
  1995.                     'sender'=>$message->getSender()->getUsername(),
  1996.                     'receiver'=>$message->getReceiver()->getUsername(),
  1997.                 ];
  1998.             }
  1999.         } catch (\Exception $e) {
  2000.             $formatted = [
  2001.                 'code' => trim(0),
  2002.                 'id' => "",
  2003.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  2004.             ];
  2005.             return new JsonResponse($formatted);
  2006.         }
  2007.         return new JsonResponse($formatted);
  2008.     }
  2009.     
  2010.     
  2011.     
  2012.     
  2013.     /**
  2014.      * @Get("/api/connexion-fb/{fb}/{email}")
  2015.      */
  2016.     public function loginfbAction(Request $request) {
  2017.         $id_fb $request->get('fb');
  2018. $email $request->get('email');
  2019.         $em $this->getDoctrine()->getManager();
  2020.         $factory $this->formFactory;
  2021.     /*    try {*/
  2022.             $user $em->getRepository("App\Entity\User")->connectfb($id_fb,$email);
  2023.             $formatted = [];
  2024.             if ($user==null) {
  2025.                 $formatted = [
  2026.                     'code' => trim(-1),
  2027.                     'id' => '',
  2028.                     'message' => 'Aucun utilisateur trouvé avec ce compte facebook'
  2029.                 ];
  2030.             }
  2031.             if ($user!=null) {
  2032.                 if (!$user[0]->isEnabled()) {
  2033.                     $formatted = [
  2034.                         'code' => -1,
  2035.                         'id' => '',
  2036.                         'message' => "Votre compte est désactivé, vous n'étes pas autorisé à accéder à votre compte"
  2037.                     ];
  2038.                 }
  2039.                 if ($user[0]->hasRole('ROLE_PARTENAIRE')) {
  2040.                     $formatted = [
  2041.                         'code' => trim(-1),
  2042.                         'id' => '',
  2043.                         'message' => 'Cher partenaire , veuillez utilisez votre espace adéquat'
  2044.                     ];
  2045.                 }
  2046.                 if ($user[0]->hasRole('ROLE_AGENT_ANNONCE')) {
  2047.                     $formatted = [
  2048.                         'code' => trim(-1),
  2049.                         'id' => '',
  2050.                         'message' => 'Cher responsable , veuillez utilisez votre espace adéquat'
  2051.                     ];
  2052.                 }
  2053.                 if ($user[0]->hasRole('ROLE_AGENT_BANNIERE')) {
  2054.                     $formatted = [
  2055.                         'code' => trim(-1),
  2056.                         'id' => '',
  2057.                         'message' => 'Cher responsable , veuillez utilisez votre espace adéquat'
  2058.                     ];
  2059.                 }
  2060.                 if ($user[0]->hasRole('ROLE_ADMIN')) {
  2061.                     $formatted = [
  2062.                         'code' => trim(-1),
  2063.                         'id' => '',
  2064.                         'message' => 'Cher administrateur , veuillez utilisez votre espace adéquat'
  2065.                     ];
  2066.                 }
  2067.                 if ($user[0]->hasRole('ROLE_PARTICULIER')) {
  2068.                     $prenom "";
  2069.                     if ($user[0]->getPrenom() != null) {
  2070.                         $prenom $user->getPrenom();
  2071.                     }
  2072.                     $nom "";
  2073.                     if ($user[0]->getNom() != null) {
  2074.                         $nom $user->getNom();
  2075.                     }
  2076.                     $logo "";
  2077.                     if ($user[0]->getLogo() != null) {
  2078.                         $logo $user->getLogo();
  2079.                     }
  2080.                     $formatted = [
  2081.                         'code' => trim(1),
  2082.                         'id' => trim($user[0]->getId()),
  2083.                         'message' => 'Connexion avec succès',
  2084.                         'prenom' => $prenom,
  2085.                         'nom' => $nom,
  2086.                         'photo' => $logo
  2087.                     ];
  2088.                 }
  2089.             }
  2090.        /* } catch (\Exception $e) {
  2091.             $formatted = [
  2092.                 'code' => trim(0),
  2093.                 'id' => "",
  2094.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  2095.             ];
  2096.             return new JsonResponse($formatted);
  2097.         }*/
  2098.         return new JsonResponse($formatted);
  2099.     }
  2100.     
  2101.  /**
  2102.      * @POST("/api/inscription-fb")
  2103.      */
  2104.     public function inscriptionfb(Request $request ) {
  2105.        try {
  2106.             $data json_decode($request->getContent(), true);
  2107.             $request->request->replace(is_array($data) ? $data : array());
  2108.             
  2109.             $prenom $data['prenom'];
  2110.              $reference $data['reference'];
  2111.             $nom=$data['nom'];
  2112.             $email=$data['email'];
  2113.             $photo=$data['photo'];
  2114.             $fb=$data['fb'];
  2115.             $em $this->getDoctrine()->getManager();
  2116.             $factory $this->formFactory;
  2117.             $formatted = [];
  2118.             $username $prenom ' ' $nom;
  2119.             $recherche $em->getRepository('App\Entity\User')->findByFb($fb);
  2120.             if ($recherche != null) {
  2121.                 $formatted = [
  2122.                     'code' => trim(-1),
  2123.                     'message' => "Ce compte facebook  est déja utilisé",
  2124.                 ];
  2125.             }
  2126.             $recherche3 $em->getRepository('App\Entity\User')->findOneByEmail($email);
  2127.             if ($recherche3 != null) {
  2128.                 $formatted = [
  2129.                     'code' => trim(-1),
  2130.                     'message' => "Ce email  est déja utilisé",
  2131.                 ];
  2132.             }
  2133.             $recherche2 $em->getRepository('App\Entity\User')->findOneByUsername($username);
  2134.             if ($recherche2 != null) {
  2135.                 $formatted = [
  2136.                     'code' => trim(-1),
  2137.                     'message' => "Le nom d'utilisateur est déja utilisé",
  2138.                 ];
  2139.             }
  2140.             if ($recherche == null && $recherche2 == null && $recherche3 == null) {
  2141.                 $user = new User();
  2142.                 $site $em->getRepository('App\Entity\Site')->findOneByReference($reference);
  2143.                 $password='azer1234';
  2144.                 $encoder $factory->getEncoder($user);
  2145.                 $user->addRole('ROLE_PARTICULIER');
  2146.                 $user->setEnabled(true);
  2147.                 $user->setSite_reference($site);
  2148.                 $user->setShown(true);
  2149.                 $user->setUsername($username);
  2150.                 $user->setNom($prenom);
  2151.                 $user->setPrenom($nom);
  2152.                 $user->setSalt(uniqid());
  2153.                 $user->setEmail($email);
  2154.                 $user->setPassword($encoder->encodePassword($user$password));
  2155.                 $test = new \DateTime('NOW');
  2156.                 $user->setDate_inscription($test);
  2157.                 $user->setTelephone('########');
  2158.                 $user->setLogo($photo);
  2159.                 $em->persist($user);
  2160.                 $em->flush();
  2161.                 $formatted = [
  2162.                     'code' => trim(1),
  2163.                     'message' => "Votre compte a été crée avec succès,Bienvenue sur notre plateforme, veuillez accèder à l'espace de connexion ",
  2164.                     'id_user' => $user->getId(),
  2165.                 ];
  2166.             }
  2167.         } catch (\Exception $e) {
  2168.             $formatted = [
  2169.                 'code' => trim(0),
  2170.                 'message' => "Un erreur s'est produit lors de traitement de votre requète, veuillez réessayer ultérieurement"
  2171.             ];
  2172.             return new JsonResponse($formatted);
  2173.         }
  2174.         return new JsonResponse($formatted);
  2175.     }
  2176. }