<?php
namespace App\Controller;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use App\Service\PublicFunction;
class testController extends AbstractController
{
private $client;
public function __construct(HttpClientInterface $client)
{
$this->client = $client;
}
/**
* @Route("/test-auditif-en-ligne/")
*/
public function renderTestAccueilPage()
{
return $this->render('./test/testaccueil.html.twig', array(
));
}
/**
* @Route("/test-auditif-en-ligne/test")
*/
public function renderTestPage()
{
return $this->render('./test/test.html.twig', array(
));
}
/**
* @Route("test-auditif-en-ligne/test/volume")
*/
public function renderTestVolumePage()
{
return $this->render('/test/tonal/calibrationVolume.html.twig', array(
));
}
/**
* @Route("test-auditif-en-ligne/test/annonce")
*/
public function renderTestAnnoncePage()
{
return $this->render('/test/tonal/annonce.html.twig', array(
));
}
/**
* @Route("test-auditif-en-ligne/test/tonalite")
*/
public function renderTestTonalitePage()
{
return $this->render('/test/tonal/tonalite.html.twig', array(
));
}
/**
* @Route("test-auditif-en-ligne/test/resultat")
*/
public function renderTestResultatPage( Request $request, PublicFunction $publicFunction)
{
$data = json_decode($request->getContent(), true);
$ch = curl_init();
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "{$_ENV['BASE_API']}test/client");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request->getContent());
$result = curl_exec($ch);
$client = json_decode($result);
curl_close($ch);
return $this->render('/test/tonal/resultat.html.twig', array(
"data" => $client,
));
}
/**
* @Route("/testvocal/{id}")
*/
public function renderTestVocalPage( int $id )
{
$response = $this->client->request(
'GET',
"{$_ENV['BASE_API']}questions"
);
$content = $response->toArray();
return $this->render('./test/testvocal.html.twig', array(
"questions" => json_encode($content),
"id" => $id,
));
}
/**
* @Route("test-auditif-en-ligne/testvocal/annonce")
*/
public function renderTestVocalAnnoncePage(Request $request)
{
$data = json_decode($request->getContent(), true);
return $this->render('/test/vocal/annonce.html.twig', array(
"step"=> $data['step'],
));
}
/**
* @Route("test-auditif-en-ligne/testvocal/question")
*/
public function renderTestVocalQuestion(Request $request)
{
$data = json_decode($request->getContent(), true);
return $this->render('/test/vocal/question.html.twig', array(
"dataCurrentQuestion" => $data['dataVocalDial'],
"etape"=> $data['etape'],
"dataCurrentAnswer" => $data['dataVocalAnswer'],
"questionid" => $data['id'],
"question" => $data['question'],
"numberQuestion" => $data['numberQuestion'],
"numberMot" => $data['numberMot'],
"step" => $data['step'],
));
}
/**
* @Route("test-auditif-en-ligne/testvocal/reponse")
*/
public function renderTestVocalReponse(Request $request)
{
$data = json_decode($request->getContent(), true);
return $this->render('/test/vocal/reponse.html.twig', array(
"dataCurrentAnswer" => $data['dataVocalAnswer'],
"questionid" => $data['id'],
"question" => $data['question'],
"numberQuestion" => $data['numberQuestion'],
"numberMot" => $data['numberMot'],
"step" => $data['step'],
));
}
/**
* @Route("test-auditif-en-ligne/testvocal/resultat")
*/
public function renderTestVocalResultat(Request $request, PublicFunction $publicFunction)
{
$data = json_decode($request->getContent(), true);
$id= $data['tonalId'];
$ch = curl_init();
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "{$_ENV['BASE_API']}test/client/$id");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $request->getContent());
$result = curl_exec($ch);
$client = json_decode($result);
curl_close($ch);
return $this->render('/test/vocal/resultat.html.twig', array(
"data" => $client,
));
}
}