src/Controller/ArtisanController.php line 81

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Site\LocaleFille;
  4. use App\Entity\Site\LocaleMere;
  5. use App\Repository\Site\LocaleMereRepository;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
  10. use Symfony\Component\HttpClient\HttpClient;
  11. class ArtisanController extends AbstractController
  12. {
  13.     /**
  14.      * @Route("/artisans", name="artisans")
  15.      */
  16.     public function index(Request $requestLocaleMereRepository $localeMereRepository)
  17.     {
  18.         $apiKey $this->getParameter('app.apiKeyGoogleMap');
  19.         $urlSogalExpert $this->getParameter('api.sogalExpert.url');
  20.         $urlListe $urlSogalExpert."sogal-com/artisan-installateur";
  21.         $urlNoApercu "/assets/images/noApercu.jpg";
  22.         $urlNoApercuExpert "/assets/images/noApercuExpert.jpg";
  23.         $ville "";
  24.         $localeMeres $localeMereRepository->findAll();
  25.         if ($request->query->get("ville")) {
  26.             $ville $request->query->get("ville");
  27.         }
  28.         return $this->render('artisan/index.html.twig', [
  29.             'apiKey' => $apiKey,
  30.             'urlListe' => $urlListe,
  31.             'urlSogalExpert' => $urlSogalExpert,
  32.             'urlNoApercu' => $urlNoApercu,
  33.             'urlNoApercuExpert' => $urlNoApercuExpert,
  34.             'ville' => $ville,
  35.             "localeMeres" => $localeMeres
  36.         ]);
  37.     }
  38.     /**
  39.      * @Route("/artisans/{seoUrl}", name="artisans_locale_mere")
  40.      */
  41.     public function localeMere(LocaleMere $localeMere) {
  42.         if ($this->getParameter('kernel.environment') == "dev") {
  43.             $urlApiSogal $this->getParameter("api.sogalExpert.url.localhost");
  44.         }else {
  45.             $urlApiSogal $this->getParameter("api.sogalExpert.url");
  46.         }
  47.         $url $urlApiSogal."sogal-com/artisan-locales/".$localeMere->getLatitude()."/".$localeMere->getLongitude();
  48.         $headers = [
  49.             'X-AUTH-TOKEN' => ''$this->getParameter("api.sogalExpert.token"),
  50.         ];
  51.         $client HttpClient::create(["headers" => $headers]);
  52.         $jsonResults $client->request('GET'$url);
  53.         $results json_decode($jsonResults->getContent(), true);
  54.         $experts = [];
  55.         foreach ($results as $key => $result) {
  56.             if ((int)$result["accessLevel"] == 0) {
  57.                 $experts[] = $result;
  58.             }
  59.         }
  60.         
  61.         $urlNoApercuExpert "/assets/images/noApercuExpert.jpg";
  62.         $urlSogalExpert $this->getParameter('api.sogalExpert.url');
  63.         return $this->render('artisan/localeMere.html.twig', [
  64.             "localeMere" => $localeMere,
  65.             "experts" => $experts,
  66.             "urlSogalExpert" => $urlSogalExpert,
  67.             "urlNoApercuExpert" => $urlNoApercuExpert,
  68.         ]);
  69.     }
  70.         
  71.     /**
  72.      * @Route("/artisans/{localeMere}/{localeFille}", name="artisans_locale_fille" )
  73.      * @ParamConverter("localeMere", options={"mapping": {"localeMere": "seoUrl"}})
  74.      * @ParamConverter("localeFille", options={"mapping": {"localeFille": "seoUrl"}})
  75.      */
  76.     public function localFille(LocaleMere $localeMereLocaleFille $localeFille) {
  77.         if ($this->getParameter('kernel.environment') == "dev") {
  78.             $urlApiSogal $this->getParameter("api.sogalExpert.url.localhost");
  79.         }else {
  80.             $urlApiSogal $this->getParameter("api.sogalExpert.url");
  81.         }
  82.         $url $urlApiSogal."sogal-com/artisan-locales/".$localeMere->getLatitude()."/".$localeMere->getLongitude();
  83.         $headers = [
  84.             'X-AUTH-TOKEN' => ''$this->getParameter("api.sogalExpert.token"),
  85.         ];
  86.         $client HttpClient::create(["headers" => $headers]);
  87.         $jsonResults $client->request('GET'$url);
  88.         $results json_decode($jsonResults->getContent(), true);
  89.         $experts = [];
  90.         foreach ($results as $key => $result) {
  91.             if ((int)$result["accessLevel"] == 0) {
  92.                 $experts[] = $result;
  93.             }
  94.         }
  95.         
  96.         $urlNoApercuExpert "/assets/images/noApercuExpert.jpg";
  97.         $urlSogalExpert $this->getParameter('api.sogalExpert.url');
  98.         return $this->render('artisan/localeFille.html.twig', [
  99.             "localeFille" => $localeFille,
  100.             "experts" => $experts,
  101.             "urlSogalExpert" => $urlSogalExpert,
  102.             "urlNoApercuExpert" => $urlNoApercuExpert,
  103.         ]);
  104.     }
  105. }