<?php
namespace App\Controller;
use App\Entity\Tag;
use App\Entity\Job;
use App\Entity\Post;
use App\Entity\Referentie;
use App\Form\TagType;
use App\Form\TagChildType;
use App\Repository\TagRepository;
use App\Repository\JobRepository;
use App\Repository\PostRepository;
use App\Repository\ReferentieRepository;
use App\Entity\Professional;
use App\Repository\ProfessionalRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/subsite")
*/
class SubsiteController extends AbstractController
{
/**
* @Route("/{token}", name="subsite_index", methods={"GET"})
*/
public function index($token, ProfessionalRepository $professionalRepository): Response
{
$site = $professionalRepository->findOneBy(array('token' => $token));
//tag where parent = ..
// enkel tags die public staan..
// $realisations = "";
return $this->render('subsite/index.html.twig', [
'site' => $site,
]);
}
/**
* @Route("/{token}/{name}/{pageid}/", name="subsite_page", methods={"GET"})
*/
public function page($token,$pageid = null, ProfessionalRepository $professionalRepository): Response
{
$site = $professionalRepository->findOneBy(array('token' => $token));
switch($pageid){
case "1":
$titel = $site->getPagina1Titel();
$intro = $site->getPagina1Intro();
$content = $site->getPagina1Content();
break;
case "2":
$titel = $site->getPagina2Titel();
$intro = $site->getPagina2Intro();
$content = $site->getPagina2Content();
break;
case "3":
$titel = $site->getPagina3Titel();
$intro = $site->getPagina3Intro();
$content = $site->getPagina3Content();
break;
case "4":
$titel = $site->getPagina4Titel();
$intro = $site->getPagina4Intro();
$content = $site->getPagina4Content();
break;
case "5":
$titel = $site->getPagina5Titel();
$intro = $site->getPagina5Intro();
$content = $site->getPagina5Content();
break;
case "6":
$titel = $site->getPagina6Titel();
$intro = $site->getPagina6Intro();
$content = $site->getPagina6Content();
break;
}
return $this->render('subsite/page.html.twig', [
'site' => $site,
'titel' => $titel,
'intro' => $intro,
'content' => $content,
]);
}
/**
* @Route("/{token}/contact/", name="subsite_contact", methods={"GET"})
*/
public function contact($token, ProfessionalRepository $professionalRepository): Response
{
$site = $professionalRepository->findOneBy(array('token' => $token));
return $this->render('subsite/contact.html.twig', [
'site' => $site,
]);
}
/**
* @Route("/{token}/jobs/", name="subsite_jobs", methods={"GET"})
*/
public function jobs($token, ProfessionalRepository $professionalRepository): Response
{
$site = $professionalRepository->findOneBy(array('token' => $token));
return $this->render('subsite/jobs.html.twig', [
'site' => $site,
]);
}
/**
* @Route("/job/{{id}", name="subsite_job", methods={"GET"})
*/
public function job($id, JobRepository $jobrepo): Response
{
$job = $jobrepo->findOneBy(array('id' => $id));
$site = $job->getProfessional();
return $this->render('subsite/job.html.twig', [
'job' => $job,
'site' => $site,
]);
}
/**
* @Route("/{token}/blog/", name="subsite_blog", methods={"GET"})
*/
public function blog($token, ProfessionalRepository $professionalRepository, PostRepository $postRepository): Response
{
$site = $professionalRepository->findOneBy(array('token' => $token));
if($site->getToonVepablog()){
$posts = $postRepository->findBy(array('online' => 'true'), array('datum' => 'DESC'));
}else{
$posts = $postRepository->findBy(array('Professional' => $site->getId(),'online' => 'true'), array('datum' => 'DESC'));
}
return $this->render('subsite/posts.html.twig', [
'site' => $site,
'posts' => $posts,
]);
}
/**
* @Route("/post/{{id}/site/{token}", name="subsite_post", methods={"GET"})
*/
public function post($id, $token, ProfessionalRepository $professionalRepository, PostRepository $postrepo): Response
{
$post = $postrepo->findOneBy(array('id' => $id));
//$site = $post->getProfessional();
$site = $professionalRepository->findOneBy(array('token' => $token));
return $this->render('subsite/post.html.twig', [
'post' => $post,
'site' => $site,
]);
}
/**
* @Route("/{token}/interventieaanvraag/", name="subsite_interventieaanvraag", methods={"GET"})
*/
public function interventieaanvraag($token, ProfessionalRepository $professionalRepository): Response
{
$site = $professionalRepository->findOneBy(array('token' => $token));
return $this->render('subsite/interventieaanvraag.html.twig', [
'site' => $site,
]);
}
/**
* @Route("/{token}/realisaties/", name="subsite_realisaties", methods={"GET"})
*/
public function realisaties($token, ProfessionalRepository $professionalRepository): Response
{
$site = $professionalRepository->findOneBy(array('token' => $token));
return $this->render('subsite/realisaties.html.twig', [
'site' => $site,
]);
}
/**
* @Route("/realisatie/{{id}", name="subsite_realisatie", methods={"GET"})
*/
public function realisatie($id, ReferentieRepository $realisatierepository): Response
{
$realisatie = $realisatierepository->findOneBy(array('id' => $id));
$site = $realisatie->getProfessional();
return $this->render('subsite/realisatie.html.twig', [
'realisatie' => $realisatie,
'site' => $site,
]);
}
}