<?php 
 
namespace App\Controller; 
 
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; 
use Symfony\Component\HttpFoundation\BinaryFileResponse; 
use Symfony\Component\HttpFoundation\ResponseHeaderBag; 
use Symfony\Component\HttpFoundation\Response; 
use Symfony\Component\Routing\Annotation\Route; 
use App\Ressources\metadata; 
 
class ConduiteController extends AbstractController 
{ 
 
 
 
    // 
    // PAGE ACCUEUIL DE L'ESPACE CONDUITE 
    // 
 
    /** 
     * @Route("/conduite.html", name="conduite") 
     */ 
 
    public function conduiteActionCond(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_TITLE, 
            'description' => \App\Ressources\metadata::COND_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_KEYWORD 
        ); 
 
 
        return $this->render('main/Pages/Conduite/conduite.html.twig', array( 
            'meta' => $meta 
 
        )); 
    } 
 
 
    // 
    // PAGE AUTO-ECOLE DU CEREMH 
    // 
 
    /** 
     * @Route("/auto-ecole.html", name="conduite-autoecole") 
     */ 
 
    public function conduiteActionCondAECEREMH(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_AE_TITLE, 
            'description' => \App\Ressources\metadata::COND_AE_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_AE_KEYWORD 
        ); 
 
        /** 
         * 
         * API VroomVroom 
         * 
         */ 
 
 
        ///// 
        /// 
        /// RECUPERATION DES NOTES 
        /// 
        /// 
 
        $id_CEREMH = '5246e3bb24a0390002001104'; 
 
        $post = ['X-Auth-Token'=> "d42922e2d4c9bb931a9de4c75aeac9bd"]; 
        $header = array(); 
        $header[] = 'X-Auth-Token: 51bf8b3202583f75f1ef0d072b84757f'; 
        //$header[] = 'X-Auth-Token: 51bf8b3202583f75f1ef0d072b84757f'; 
        $header[] = 'accept: application/json'; 
 
        $ch = curl_init(); 
        curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET' ); 
        curl_setopt($ch, CURLOPT_HTTPHEADER,$header); 
        curl_setopt($ch, CURLOPT_URL,'https://www.vroomvroom.fr/api/marketplace/v1/schools/5246e3bb24a0390002001104'); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
        //curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); 
        $response = curl_exec($ch); 
        $result = json_decode($response); 
 
        if ($response === false) 
        { 
            // throw new Exception('Curl error: ' . curl_error($crl)); 
            var_dump('Curl error: ' . curl_error($ch)); 
        } 
 
        $note = $result->avg_ratings_score; 
        $accueil = $result->avg_reception; 
        $information = $result->avg_information; 
        $pedagogique = $result->avg_teaching; 
        $disponibilite = $result->avg_availability; 
        $qualite = $result->avg_quality; 
 
 
        ///// 
        /// 
        /// RECUPERATION DES Avis 
        /// 
        /// 
 
        $header = array(); 
        $header[] = 'X-Auth-Token: 51bf8b3202583f75f1ef0d072b84757f'; 
        //$header[] = 'X-Auth-Token: 51bf8b3202583f75f1ef0d072b84757f'; 
        $header[] = 'accept: application/json'; 
 
        $ch = curl_init(); 
        curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET' ); 
        curl_setopt($ch, CURLOPT_HTTPHEADER,$header); 
        curl_setopt($ch, CURLOPT_URL,'https://www.vroomvroom.fr/api/marketplace/v1/schools/5246e3bb24a0390002001104/reviews?page=1&limit=10&from_published_at=2019-03-19&to_published_at=2020-04-25&sort_by=published_at&sort_dir=desc'); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
        //curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); 
        $response = curl_exec($ch); 
        $result = json_decode($response); 
 
 
        curl_close($ch); 
 
 
 
        return $this->render('main/Pages/Conduite/conduite_AutoEcole.html.twig', array( 
            'note' => $note, 
            'accueil' => $accueil, 
            'information' => $information, 
            'pedagogique' => $pedagogique, 
            'disponibilite' => $disponibilite, 
            'qualite' => $qualite, 
            'data' => $result, 
            'meta' => $meta 
 
        )); 
    } 
 
 
 
 
    // 
    // ESPACE INFORMATION/RESSOURCES 
    // 
    // Menu gauche dans : conduite_Ressources.html.twig 
    // 
 
    //Espace Information Accueil 
    /** 
     * @Route("/info-conduite.html", name="conduite-inf") 
     */ 
 
    public function conduiteActionInf(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_INF_TITLE, 
            'description' => \App\Ressources\metadata::COND_INF_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_INF_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_inf.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
 
 
 
 
    //DEMARCHES - Permis de conduite et handicap 
    /** 
     * @Route("/info-demarche-permis-conduire-handicap.html", name="conduite-inf-dem-permishandicap") 
     */ 
 
    public function conduiteActionCondInfDemPermisHandicap(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_INF_DEM_PC_TITLE, 
            'description' => \App\Ressources\metadata::COND_INF_DEM_PC_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_INF_DEM_PC_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_inf_Dem_permis&handicap.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
 
    //REGLEMENTIAIRE - Acces au permis de conduire 
 
    /** 
     * @Route("/info-regularisation-permis-conduire.html", name="conduite-inf-reg-permis") 
     */ 
 
    public function conduiteActionCndInfRegPermis(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_INF_REG_PC_TITLE, 
            'description' => \App\Ressources\metadata::COND_INF_REG_PC_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_INF_REG_PC_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_inf_Reg_accessPermis.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
    /** 
     * @Route("/info-reglementation-adapation-vehicule-adapte.html", name="conduite-inf-reg-adaptation-vehicule") 
     */ 
 
    public function conduiteActionCndInfRegAdaptationVehicule(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_INF_REG_ADAPT_TITLE, 
            'description' => \App\Ressources\metadata::COND_INF_REG_ADAPT_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_INF_REG_ADAPT_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_inf_Reg_adaptation_vehicule.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
    /** 
     * @Route("/info-reglementation-amenagement-voirie.html", name="conduite-inf-reg-amenagement-voirie") 
     */ 
 
    public function conduiteActionCndInfRegAmenagementVoirie(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_INF_REG_VOIRIE_TITLE, 
            'description' => \App\Ressources\metadata::COND_INF_REG_VOIRIE_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_INF_REG_VOIRIE_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_inf_Reg_amenagement_voirie.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
    /** 
     * @Route("/info-reglementation-assurance.html", name="conduite-inf-reg-assurance") 
     */ 
 
    public function conduiteActionCndInfRegAssurance(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_INF_REG_ASS_TITLE, 
            'description' => \App\Ressources\metadata::COND_INF_REG_ASS_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_INF_REG_ASS_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_inf_Reg_assurance.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
 
    /** 
     * @Route("/info-reglementation-securite.html", name="conduite-inf-reg-securite") 
     */ 
 
    public function conduiteActionCndInfRegSecurite(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_INF_REG_SEC_TITLE, 
            'description' => \App\Ressources\metadata::COND_INF_REG_SEC_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_INF_REG_SEC_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_inf_Reg_securite.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
 
 
 
    //Trouver les auto-école adaptées 
    /** 
     * @Route("/info-autoecole-adaptee.html", name="conduite-inf-ae-adaptee") 
     */ 
 
    public function conduiteActionCondInfAEAdaptee(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_INF_AEA_TITLE, 
            'description' => \App\Ressources\metadata::COND_INF_AEA_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_INF_AEA_KEYWORD 
        ); 
 
        $tableAE = array(); 
 
 
        if(isset($_POST["depselect"])) { 
 
 
            $depselect =  $_POST["depselect"]; 
            $depdata = $this->GetDep($depselect); 
 
            $aeDep[] = array(); 
 
            foreach($depdata->{'fields'}->{'AutoEcole'} as $idae){ 
 
                $dataAirTAE = $this->GetAeData($idae); 
 
                if ($dataAirTAE->{'fields'}->{'AE_VroomVroom_id'} != 0){ 
 
                    $dataVVAE = $this->GetVVaeData($dataAirTAE->{'fields'}->{'AE_VroomVroom_id'}); 
 
 
                }else{ 
                    $dataVVAE = NULL; 
 
                } 
 
                $dataAirTAE->{'vv'} = $dataVVAE ; 
 
 
                //$aeDep[] = array($dataAirTAE,$dataVVAE); 
                $aeDep[] = $dataAirTAE; 
 
            } 
 
            $tableAE[] = array($depdata,$aeDep); 
 
        } 
 
 
        $res1 = $this->GetDepList(); 
 
 
 
        return $this->render('main/Pages/Conduite/conduite_inf_AE_adaptee.html.twig', array( 
            //'data' => $tableComp, 
            'listedep' => $res1->{'records'}, 
            'tableae' => $tableAE, 
            'meta' => $meta 
        )); 
    } 
 
 
    function GetDepList(){ 
 
        $headerAirT = array(); 
        $headerAirT[] = 'Authorization: Bearer keyI32yOJYG5jgN46'; 
 
        $ch_Air_API = curl_init(); 
        curl_setopt( $ch_Air_API, CURLOPT_CUSTOMREQUEST, 'GET' ); 
        curl_setopt($ch_Air_API, CURLOPT_HTTPHEADER,$headerAirT); 
        curl_setopt($ch_Air_API, CURLOPT_URL,'https://api.airtable.com/v0/app6vWoMXrxSuL52T/Departement?view=Grid%20view'); 
        curl_setopt($ch_Air_API, CURLOPT_RETURNTRANSFER, true); 
 
        $data = json_decode(curl_exec($ch_Air_API)); 
 
        curl_close($ch_Air_API); 
 
        return $data ; 
 
    } 
 
    function GetDep($depId){ 
 
        $headerAirT = array(); 
        $headerAirT[] = 'Authorization: Bearer keyI32yOJYG5jgN46'; 
 
        $ch_Air_API = curl_init(); 
        curl_setopt( $ch_Air_API, CURLOPT_CUSTOMREQUEST, 'GET' ); 
        curl_setopt($ch_Air_API, CURLOPT_HTTPHEADER,$headerAirT); 
        curl_setopt($ch_Air_API, CURLOPT_URL,'https://api.airtable.com/v0/app6vWoMXrxSuL52T/Departement/' . $depId); 
        curl_setopt($ch_Air_API, CURLOPT_RETURNTRANSFER, true); 
 
        $data = json_decode(curl_exec($ch_Air_API)); 
 
        curl_close($ch_Air_API); 
 
        return $data ; 
 
 
    } 
 
    function GetAeData($idae){ 
 
        $headerAirT = array(); 
        $headerAirT[] = 'Authorization: Bearer keyI32yOJYG5jgN46'; 
 
        $ch_Air_API = curl_init(); 
 
        curl_setopt($ch_Air_API, CURLOPT_CUSTOMREQUEST, 'GET' ); 
        curl_setopt($ch_Air_API, CURLOPT_HTTPHEADER,$headerAirT); 
        curl_setopt($ch_Air_API, CURLOPT_URL,'https://api.airtable.com/v0/app6vWoMXrxSuL52T/AutoEcole/' . $idae); 
        curl_setopt($ch_Air_API, CURLOPT_RETURNTRANSFER, true); 
 
        $data = json_decode(curl_exec($ch_Air_API)); 
 
        curl_close($ch_Air_API); 
 
        return $data; 
 
 
    } 
 
    function GetVVaeData($idVV){ 
 
 
        $header[] = 'X-Auth-Token: 51bf8b3202583f75f1ef0d072b84757f'; 
        $header[] = 'accept: application/json'; 
 
        $ch = curl_init(); 
        curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET' ); 
        curl_setopt($ch, CURLOPT_HTTPHEADER,$header); 
        curl_setopt($ch, CURLOPT_URL,'https://vroomvroom.fr/api/marketplace/v1/schools/'.$idVV); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
 
        $data = json_decode(curl_exec($ch)); 
 
        curl_close($ch); 
 
        return $data; 
 
    } 
 
 
 
 
 
 
 
 
 
    // 
    // ESPACE DOCUMENTATION 
    // 
 
    /** 
     * @Route("/doc.html", name="conduite-doc") 
     */ 
 
    public function conduiteActionCondDoc(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_DOC_TITLE, 
            'description' => \App\Ressources\metadata::COND_DOC_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_DOC_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_doc.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
 
    // Guide Choix TPMR 
 
    /** 
     * @Route("/doc-ChoixTPMR.html", name="conduite-doc-choix-tpmr") 
     */ 
 
    public function conduiteActionCondDocChoixTPMR(): Response 
    { 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_DOC_TPMR_TITLE, 
            'description' => \App\Ressources\metadata::COND_DOC_TPMR_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_DOC_TPMR_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_doc_ChoixTPMR.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
    /** 
     * @Route("/doc-DownloadguideTPMR.html", name="download_guideTPMR") 
     **/ 
    public function downloadGuideTPMRAction(){ 
        $response = new BinaryFileResponse('_Assets/Media/CEREMH_guide_TPMR.pdf'); 
        $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT,'CEREMH_guide_TPMR.pdf'); 
        return $response; 
    } 
 
    // Guide Choix FRE 
 
    /** 
     * @Route("/doc-ChoixFRE.html", name="conduite-doc-choix-fre") 
     */ 
 
    public function conduiteActionCondDocChoixFRE(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_DOC_FRE_TITLE, 
            'description' => \App\Ressources\metadata::COND_DOC_FRE_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_DOC_FRE_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_doc_ChoixFRE.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
    /** 
     * @Route("/doc-DownloadguideFRE.html", name="download_guideFRE") 
     **/ 
    public function downloadGuideFREAction(){ 
        $response = new BinaryFileResponse('_Assets/Media/CEREMH_guide_FRE.pdf'); 
        $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT,'CEREMH_guide_FRE.pdf'); 
        return $response; 
    } 
 
    // Guide Choix FRM 
 
    /** 
     * @Route("/doc-ChoixFRM.html", name="conduite-doc-choix-frm") 
     */ 
 
    public function conduiteActionCondDocChoixFRM(): Response 
    { 
 
        $meta = array( 
            'title' => \App\Ressources\metadata::COND_DOC_FRM_TITLE, 
            'description' => \App\Ressources\metadata::COND_DOC_FRM_DESCRIPTION, 
            'keyword' => \App\Ressources\metadata::COND_DOC_FRM_KEYWORD 
        ); 
 
        return $this->render('main/Pages/Conduite/conduite_doc_ChoixFRM.html.twig', array( 
            'meta' => $meta 
        )); 
    } 
 
    /** 
     * @Route("/doc-DownloadguideFRM.html", name="download_guideFRM") 
     **/ 
    public function downloadGuideFRMAction(){ 
        $response = new BinaryFileResponse('_Assets/Media/CEREMH_guide_FRM.pdf'); 
        $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT,'CEREMH_guide_FRM.pdf'); 
        return $response; 
    } 
 
    /** 
     * @Route("/doc-DossierAdminEval.html", name="download_adminEval") 
     **/ 
    public function downloadAdminEval(){ 
        $response = new BinaryFileResponse('_Assets/Media/CEREMH_Admin_EvalConduite.pdf'); 
        $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT,'CEREMH_Admin_EvalConduite.pdf'); 
        return $response; 
    } 
 
}