src/Controller/FormationController.php line 41

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use PhpParser\Node\Stmt\Foreach_;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. class FormationController extends AbstractController
  8. {
  9.     /**
  10.      * @Route("/formation.html", name="formation")
  11.      */
  12.     public function index(): Response
  13.     {
  14.         $meta = array(
  15.             'title' => \App\Ressources\metadata::FORM_ACC_TITLE,
  16.             'description' => \App\Ressources\metadata::FORM_ACC_DESCRIPTION,
  17.             'keyword' => \App\Ressources\metadata::FORM_ACC_KEYWORD
  18.         );
  19.         $headerAirT = array();
  20.         $headerAirT[] = 'Authorization: Bearer keyI32yOJYG5jgN46';
  21.         $ch_Air_API curl_init();
  22.         curl_setopt($ch_Air_APICURLOPT_CUSTOMREQUEST'GET' );
  23.         curl_setopt($ch_Air_APICURLOPT_HTTPHEADER,$headerAirT);
  24.         curl_setopt($ch_Air_APICURLOPT_URL,'https://api.airtable.com/v0/appdOHxiaaxIUO8r9/Suivi_Formation?filterByFormula=Date_Debut_Formation+%3E+TODAY()&sort%5B0%5D%5Bfield%5D=Date_Debut_Formation&sort%5B0%5D%5Bdirection%5D=asc');
  25.         curl_setopt($ch_Air_APICURLOPT_RETURNTRANSFERtrue);
  26.         $data json_decode(curl_exec($ch_Air_API));
  27.         $listeForm = array();
  28.         //var_dump($data);
  29.         foreach ($data->{'records'} as $form){
  30.             //var_dump($form->{'fields'}->{'Formation'}['0']);
  31.             $info $this->getformationInfo($form->{'fields'}->{'Formation'}['0']);
  32.             $listeForm [] = array(
  33.                 'Nom' => $info['Name'],
  34.                 'Date' => $form->{'fields'}->{'Date_Debut_Formation'},
  35.                 'URL' => $info['URL'],
  36.             );
  37.         }
  38.         curl_close($ch_Air_API);
  39.         //var_dump($listeForm);
  40.         return $this->render('main/Pages/Formation/formation_Accueil.html.twig', [
  41.             'controller_name' => 'FormationController',
  42.             'meta' => $meta,
  43.             'data' => $data,
  44.             'liste' => $listeForm
  45.         ]);
  46.     }
  47.     /**
  48.      * @Route("/formation-coonduite-handicap-Ergo.html", name="formation-ch-ergo")
  49.      */
  50.     public function formationActionCHErgo(): Response
  51.     {
  52.         $meta = array(
  53.             'title' => \App\Ressources\metadata::FORM_CH_ERGO_TITLE,
  54.             'description' => \App\Ressources\metadata::FORM_CH_ERGO_DESCRIPTION,
  55.             'keyword' => \App\Ressources\metadata::FORM_CH_ERGO_KEYWORD
  56.         );
  57.         $AT_id_formation "rec9tMzjG0rJK9P9l";
  58.         $formdate $this->getformationdate($AT_id_formation);
  59.         return $this->render('main/Pages/Formation/formation_Prog_CH_Ergo.html.twig', [
  60.             'controller_name' => 'FormationController',
  61.             'meta' => $meta,
  62.             'formdate' => $formdate
  63.         ]);
  64.     }
  65.     /**
  66.      * @Route("/formation-conduite-handicap-enseignant-conduite.html", name="formation-ch-ensc")
  67.      */
  68.     public function formationActionCHEnsC(): Response
  69.     {
  70.         $meta = array(
  71.             'title' => \App\Ressources\metadata::FORM_CH_ENSC_TITLE,
  72.             'description' => \App\Ressources\metadata::FORM_CH_ENSC_DESCRIPTION,
  73.             'keyword' => \App\Ressources\metadata::FORM_CH_ENSC_KEYWORD
  74.         );
  75.         $AT_id_formation "recfyg9AdVxFsV1wW";
  76.         $formdate $this->getformationdate($AT_id_formation);
  77.         return $this->render('main/Pages/Formation/formation_Prog_CH_EnsC.html.twig', [
  78.             'controller_name' => 'FormationController',
  79.             'meta' => $meta,
  80.             'formdate' => $formdate
  81.         ]);
  82.     }
  83.     /**
  84.      * @Route("/formation-conduite-handicap-esat.html", name="formation-ch-esat")
  85.      */
  86.     public function formationActionCHEsat(): Response
  87.     {
  88.         $meta = array(
  89.             'title' => \App\Ressources\metadata::FORM_CH_ESAT_TITLE,
  90.             'description' => \App\Ressources\metadata::FORM_CH_ESAT_DESCRIPTION,
  91.             'keyword' => \App\Ressources\metadata::FORM_CH_ESAT_KEYWORD
  92.         );
  93.         return $this->render('main/Pages/Formation/formation_Prog_CH_Esat.html.twig', [
  94.             'controller_name' => 'FormationController',
  95.             'meta' => $meta
  96.         ]);
  97.     }
  98.     /**
  99.      * @Route("/formation-conduite-handicap-visio-conference.html", name="formation-visio-ch")
  100.      */
  101.     public function formationActionVisioCH(): Response
  102.     {
  103.         $meta = array(
  104.             'title' => \App\Ressources\metadata::FORM_CH_VISIO_TITLE,
  105.             'description' => \App\Ressources\metadata::FORM_CH_VISIO_DESCRIPTION,
  106.             'keyword' => \App\Ressources\metadata::FORM_CH_VISIO_KEYWORD
  107.         );
  108.         $AT_id_formation_M1 "recl8gu5cBMCm8f0w";
  109.         $formdateM1 $this->getformationdate($AT_id_formation_M1);
  110.         $AT_id_formation_M2 "rec8u8PE8fr34BMnP";
  111.         $formdateM2 $this->getformationdate($AT_id_formation_M2);
  112.         $AT_id_formation_M3 "recOYa7Q00OKSCR2A";
  113.         $formdateM3 $this->getformationdate($AT_id_formation_M3);
  114.         return $this->render('main/Pages/Formation/formation_Prog_Visio_C&H.html.twig', [
  115.             'controller_name' => 'FormationController',
  116.             'meta' => $meta,
  117.             'formdateM1' => $formdateM1,
  118.             'formdateM2' => $formdateM2,
  119.             'formdateM3' => $formdateM3,
  120.         ]);
  121.     }
  122.     /**
  123.      * @Route("/formation-conduite-dys-enseignant-conduite.html", name="formation-cd-ensc")
  124.      */
  125.     public function formationActionCDEnsC(): Response
  126.     {
  127.         $meta = array(
  128.             'title' => \App\Ressources\metadata::FORM_CD_ENSC_TITLE,
  129.             'description' => \App\Ressources\metadata::FORM_CD_ENSC_DESCRIPTION,
  130.             'keyword' => \App\Ressources\metadata::FORM_CD_ENSC_KEYWORD
  131.         );
  132.         $AT_id_formation "recvvWhMOqrWpDPRU";
  133.         $formdate $this->getformationdate($AT_id_formation);
  134.         return $this->render('main/Pages/Formation/formation_Prog_CD_EnsC.html.twig', [
  135.             'controller_name' => 'FormationController',
  136.             'meta' => $meta,
  137.             'formdate' => $formdate
  138.         ]);
  139.     }
  140.     function getformationInfo($id){
  141.         $headerAirT = array();
  142.         $headerAirT[] = 'Authorization: Bearer keyI32yOJYG5jgN46';
  143.         $ch_Air_API curl_init();
  144.         curl_setopt($ch_Air_APICURLOPT_CUSTOMREQUEST'GET' );
  145.         curl_setopt($ch_Air_APICURLOPT_HTTPHEADER,$headerAirT);
  146.         curl_setopt($ch_Air_APICURLOPT_URL,'https://api.airtable.com/v0/appdOHxiaaxIUO8r9/Liste_Formation/' $id);
  147.         curl_setopt($ch_Air_APICURLOPT_RETURNTRANSFERtrue);
  148.         $data json_decode(curl_exec($ch_Air_API));
  149.         //var_dump($data);
  150.         $info['Name']   = $data->{'fields'}->{'Name'};
  151.         $info['URL']    = $data->{'fields'}->{'Url_Presentation'};
  152.         return $info;
  153.     }
  154.     function getformationdate($id){
  155.         $headerAirT = array();
  156.         $headerAirT[] = 'Authorization: Bearer keyI32yOJYG5jgN46';
  157.         $ch_Air_API curl_init();
  158.         curl_setopt($ch_Air_APICURLOPT_CUSTOMREQUEST'GET' );
  159.         curl_setopt($ch_Air_APICURLOPT_HTTPHEADER,$headerAirT);
  160.         curl_setopt($ch_Air_APICURLOPT_URL,'https://api.airtable.com/v0/appdOHxiaaxIUO8r9/Liste_Formation/' $id);
  161.         curl_setopt($ch_Air_APICURLOPT_RETURNTRANSFERtrue);
  162.         $data json_decode(curl_exec($ch_Air_API));
  163.         if (isset($data->{'fields'}->{'Realisation_Formation'})) {
  164.             $listeDate[] = array();
  165.             foreach ($data->{'fields'}->{'Realisation_Formation'} as $form) {
  166.                 curl_setopt($ch_Air_APICURLOPT_CUSTOMREQUEST'GET' );
  167.                 curl_setopt($ch_Air_APICURLOPT_HTTPHEADER,$headerAirT);
  168.                 curl_setopt($ch_Air_APICURLOPT_URL,'https://api.airtable.com/v0/appdOHxiaaxIUO8r9/Suivi_Formation/' $form);
  169.                 curl_setopt($ch_Air_APICURLOPT_RETURNTRANSFERtrue);
  170.                 $dataform json_decode(curl_exec($ch_Air_API));
  171.                 //var_dump($dataform);
  172.                 $listeDate[] = $dataform->{'fields'}->{'Date_Debut_Formation'};
  173.             }
  174.             return $listeDate;
  175.         }else{
  176.             return $listeDate NULL;
  177.         }
  178.     }
  179. }