<?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;
}
}