src/Controller/CentresController.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Service\Akimedia;
  4. use http\Env\Response;
  5. use Pimcore\Controller\FrontendController;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use GuzzleHttp\Client;
  10. use Symfony\Component\HttpFoundation\JsonResponse;
  11. use Symfony\Contracts\Translation\TranslatorInterface;
  12. use Carbon\Carbon;
  13. class CentresController extends FrontendController
  14. {
  15.     /**
  16.      * @Template
  17.      * @param Request $request
  18.      * @return \Symfony\Component\HttpFoundation\Response
  19.      */
  20.     public function getCentresByProvincesAction(Request $request)
  21.     {
  22.         $session $request->getSession();
  23.         $token $session->get('akimedia-token');
  24.         if(!$token){
  25.             $token Akimedia::login();
  26.             $session->set('akimedia-token'$token);
  27.         }
  28.         $allsites Akimedia::getSitesByProvinces($request);
  29.         foreach ($allsites as $prov => &$tabs){
  30.             foreach ($tabs as &$val){
  31.                 $availabilities Akimedia::getSiteAvailabilities($request$val["id"]);
  32.                 $info Akimedia::getSiteInfos($request$val["id"]);
  33.                 $horaires $info["days"];
  34.                 $val['horaires'] = $horaires;
  35.                 $val['availibilities'] = $availabilities;
  36.                 $val['infos'] = $info;
  37.                 $val['id_akimedia'] = $val["id"];
  38.             }
  39.         }
  40.         // Ajout d'un jour pour avoir les dates du lundi si on est dimanche
  41.         $now Carbon::now()->addDay();
  42.         $date['weekStartDate'] = $now->startOfWeek()->format('d/m/Y');
  43.         $date['weekEndDate'] = $now->endOfWeek()->format('d/m/Y');
  44.         return $this->render('centres/list-provinces-akimedia.html.twig',[
  45.             "type" => "akimedia",
  46.             "provinces" => $allsites,
  47.             "date" => $date
  48.         ]);
  49.         //gestion guzzle
  50.         /*$client = new Client();
  51.         $response = $client->request('POST', "https://www.donneurdesang.be/". $request->getLocale() ."/api/centres-by-provinces", [
  52.             'headers' => [
  53.                 'Content-Type' => 'application/x-www-form-urlencoded',
  54.             ]
  55.         ]);
  56.         $results = json_decode($response->getBody(), true);
  57.         $centres = $results;
  58.         return $this->render('centres/list-provinces.html.twig',[
  59.             "type" => "dds",
  60.             "centres" => $centres
  61.         ]);*/
  62.     }
  63.     /**
  64.      * @Route("/api/{lang}/sendemailinfo", name="apiEmailData")
  65.      *
  66.      */
  67.     public function plasmaApiCentresHorairesAction(Request $requestTranslatorInterface $translation) {
  68.         $data json_decode(str_replace("--quote--""'"$request->get("data")), true);
  69.         $email $request->get("email");
  70.         $type $request->get("type");
  71.         $locale $request->get("lang");
  72.         $params = [];
  73.         foreach($data as $k => $v) {
  74.             $params[$k] = $v;
  75.         }
  76.         $params['type'] =  $type;
  77.         $params['email'] = $email;
  78.         $mail = new \Pimcore\Mail();
  79.         $mail->addTo($email);
  80.         $mail->setParams($params);
  81.         $mail->setDocument('/emails/'.$locale.'/send-centre-infos');
  82.         $mail->send();
  83.         $response = array('type' => 'success''msg' => $translation->trans('Les informations vous ont bien été envoyée !'));
  84.         return new JsonResponse($response);
  85.     }
  86. }