<?php
namespace App\Controller;
use App\Entity\Marka;
use App\Entity\Model;
use App\Entity\Rocznik;
use App\Entity\Silnik;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class ChipController extends AbstractController
{
/**
* @Route("/chiptuning", name="chiptuning")
*/
public function index()
{
$marka = $this->getDoctrine()
->getRepository(Marka::class)
->findAll();
// if (!$marka) {
// return $this->render('chip/notFound.html.twig');
// throw $this->createNotFoundException(
// 'Nie znaleziono żadnej marki.'
// );
// }
// var_dump($marka);die;
return $this->render('chip/index.html.twig', [
'marka' => $marka
]);
}
/**
* @Route("/chiptuning/{marka}", name="model")
*/
public function model($marka)
{
/** @var Marka $marks */
$marks = $this->getDoctrine()
->getRepository(Marka::class)
->findOneBy(
['marka' => $marka]
);
$logos = $this->getDoctrine()
->getRepository(Marka::class)
->findAll();
if (!$marks) {
return $this->render('chip/404.html.twig', [
'messages' => 'Nie znaleziono takiej marki.'
]);
}
$models = $marks->getModels();
return $this->render('chip/model.html.twig', [
'models' => $models,
'marka' => $marka,
'logos' => $logos
]);
}
/**
* @Route("/chiptuning/{marka}/{model}", name="rocznik")
*/
public function rocznik($marka, $model)
{
/** @var Model $models */
$models = $this->getDoctrine()
->getRepository(Model::class)
->findOneBy(
['model' => $model]
);
$logos = $this->getDoctrine()
->getRepository(Marka::class)
->findAll();
if (!$models) {
return $this->render('chip/404.html.twig', [
'messages' => 'Nie znaleziono takiego rocznika.'
]);
}
$roczniks = $models->getRoczniks();
return $this->render('chip/rocznik.html.twig', [
'roczniks' => $roczniks,
'marka' => $marka,
'model' => $model,
'logos' => $logos
]);
}
/**
* @Route("/chiptuning/{marka}/{model}/{rocznik}", name="silnik")
*/
public function silnik($marka, $model, $rocznik)
{
$petrol = 0;
$diesel = 0;
$models = $this->getDoctrine()
->getRepository(Model::class)
->findOneBy(
['model' => $model]
);
/** @var Rocznik $roczniks */
$roczniks = $this->getDoctrine()
->getRepository(Rocznik::class)
->findOneBy(
['rocznik' => $rocznik, 'model' => $models->getId()]
);
$logos = $this->getDoctrine()
->getRepository(Marka::class)
->findAll();
if (!$roczniks) {
throw $this->createNotFoundException(
'Nie znaleziono żadnego silnika.'
);
}
$silniks = $roczniks->getSilniks();
foreach ($silniks->getValues() as $row){
if (strtolower($row->getWersja()) == 'benzyna') {
$petrol = 1;
}
if (strtolower($row->getWersja()) == 'diesel') {
$diesel = 1;
}
}
return $this->render('chip/silnik.html.twig', [
'silniks' => $silniks,
'marka' => $marka,
'model' => $model,
'rocznik' => $rocznik,
'rocznikImg' => $roczniks->getImgRocznik(),
'logos' => $logos,
'petrol' => $petrol,
'diesel' => $diesel
]);
}
/**
* @Route("/chiptuning/{marka}/{model}/{rocznik}/{silnik}", name="etap1")
*/
public function etap1($marka, $model, $rocznik, $silnik, Request $request)
{
$etapEco = 0; $etap1 = 0;
$etap2 = 0; $etap3 = 0;
$etap4 = 0; $etapdsg6 = 0;
$etapdsg9 = 0;
if ($request->get('etap') == NULL) {
$idEtap = 1;
}else{
$etap_array = array(1, 2, 3, 4, 'eco', 'dsg6', 'dsg9');
$etapRequest = strtolower($request->get('etap'));
if (in_array($etapRequest, $etap_array)) {
$idEtap = $etapRequest;
} else {
$idEtap = 1;
}
}
$models = $this->getDoctrine()
->getRepository(Model::class)
->findOneBy(
['model' => $model]
);
$roczniks = $this->getDoctrine()
->getRepository(Rocznik::class)
->findOneBy(
['rocznik' => $rocznik, 'model' => $models->getId()]
);
//$etap = 0;
/** @var Silnik $silniks */
$silniks = $this->getDoctrine()
->getRepository(Silnik::class)
->findOneBy(
['silnik' => $silnik, 'rocznik' => $roczniks->getId()]
);
$logos = $this->getDoctrine()
->getRepository(Marka::class)
->findAll();
if (!$silniks) {
throw $this->createNotFoundException(
'Nie znaleziono żadnych danych.'
);
}
switch ($idEtap) {
case 1:
$etap = 'getEtap1s';
break;
case 2:
$etap = 'getEtap2s';
break;
case 3:
$etap = 'getEtap3s';
break;
case 4:
$etap = 'getEtap4s';
break;
case 'eco':
$etap = 'getEcos';
break;
case 'dsg6':
$etap = 'getDsg6s';
break;
case 'dsg9':
$etap = 'getDsg9s';
break;
}
$etaps = $silniks->$etap();
// if ($idEtap == 'eco') {
// $file = 'etaps';
// } else {
// $file = 'etap';
// }
if (!empty($silniks->getEcos()->getValues())) {
$etapEco = 1;
}
if (!empty($silniks->getEtap1s()->getValues())) {
$etap1 = 1;
}
if (!empty($silniks->getEtap2s()->getValues())) {
$etap2 = 1;
}
if (!empty($silniks->getEtap3s()->getValues())) {
$etap3 = 1;
}
if (!empty($silniks->getEtap4s()->getValues())) {
$etap4 = 1;
}
if (!empty($silniks->getDsg6s()->getValues())) {
$etapdsg6 = 1;
}
if (!empty($silniks->getDsg9s()->getValues())) {
$etapdsg9 = 1;
}
return $this->render('chip/etap.html.twig', [
'etaps' => $etaps,
'etap_route' => $idEtap,
'model' => $model,
'marka' => $marka,
'rocznik' => $rocznik,
'silnik' => $silnik,
'rocznikImg' =>$silniks->getRocznik()->getImgRocznik(),
'logos' => $logos,
'etap_eco' => $etapEco,
'etap1' => $etap1,
'etap2' => $etap2,
'etap3' => $etap3,
'etap4' => $etap4,
'etap_dsg6' => $etapdsg6,
'etap_dsg9' => $etapdsg9
]);
}
}