src/Controller/PlasmaController.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use http\Env\Response;
  4. use Pimcore\Controller\FrontendController;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\RequestStack;
  7. use Symfony\Contracts\Translation\TranslatorInterface;
  8. use Pimcore\Model\DataObject;
  9. use Pimcore\Model\Document;
  10. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. use Pimcore\Model\WebsiteSetting;
  13. use App\Form\InscriptionFormType;
  14. use Pimcore\Mail;
  15. use Carbon\Carbon;
  16. use Pimcore\Model\DataObject\Folder;
  17. use App\Service\Akimedia;
  18. use Pimcore\Bundle\AdminBundle\HttpFoundation\JsonResponse;
  19. use GuzzleHttp\Client;
  20. class PlasmaController extends FrontendController
  21. {
  22.     /**
  23.      * @Template
  24.      * @param Request $request
  25.      * @return \Symfony\Component\HttpFoundation\Response
  26.      *
  27.      */
  28.     #[Route(path:[
  29.         'fr' => '/{_locale}/recherche',
  30.         'de' => '/{_locale}/suchen',
  31.         'nl' => '/{_locale}/search',
  32.     ], name'searchPlasma')]
  33.     public function defaultContactAction(Request $request)
  34.     {
  35.         $session $request->getSession();
  36.         $token $session->get('akimedia-token');
  37.         if(!$token){
  38.             $token Akimedia::login();
  39.             $session->set('akimedia-token'$token);
  40.         }
  41.         $du $request->get("du");
  42.         $au $request->get("au");
  43.         $cp $request->get("cp");
  44.         $results Akimedia::getCollectesAndSites($request);
  45.         $allsites Akimedia::getSites($request);
  46.         $arraySites = [];
  47.         foreach($allsites as $site){
  48.             $arraySites[$site["name"]] = $site["id"];
  49.         }
  50.         foreach ($results["sites"] as $row => $val){
  51.             $horaires Akimedia::getSiteHoraire($request$val["site_id"]);
  52.             $availabilities Akimedia::getSiteAvailabilities($request$arraySites[$val["name"]]);
  53.             $info Akimedia::getSiteInfos($request$arraySites[$val["name"]]);
  54.             $results["sites"][$row]['horaires'] = $horaires;
  55.             $results["sites"][$row]['availibilities'] = $availabilities;
  56.             $results["sites"][$row]['infos'] = $info;
  57.             $results["sites"][$row]['id_akimedia'] = $arraySites[$val["name"]];
  58.         }
  59.         //dd($results["sites"]);
  60.         return $this->render('plasma/search.html.twig',[
  61.             "centres" => $results["sites"],
  62.             "collectes" => $results["collectes"],
  63.             "du" => $du,
  64.             "au" => $au,
  65.             "cp" => $cp,
  66.         ]);
  67.     }
  68.     /**
  69.      * @Template
  70.      * @param Request $request
  71.      * @route("/{_locale}/api/plasma/status", name="apiAkimediaPlasmaPlages",methods={"GET"})
  72.      * @return JsonResponse
  73.      */
  74.     public function plasmaPlagesStatusAction(Request $request\Symfony\Contracts\Translation\TranslatorInterface $translator)
  75.     {
  76.         $session $request->getSession();
  77.         $token $session->get('akimedia-token');
  78.         if(!$token){
  79.             $token Akimedia::login();
  80.             $session->set('akimedia-token'$token);
  81.         }
  82.         $site Akimedia::getPlasmaPlages($request$translator);
  83.         return new JsonResponse($site);
  84.     }
  85. }