<?php
namespace App\Controller;
use App\Entity\Slide;
use App\Entity\Agenda;
use App\Service\FileUploader;
use App\Repository\MenuRepository;
use App\Repository\SlideRepository;
use App\Repository\AgendaRepository;
use App\Repository\AnnoncesRepository;
use App\Repository\ActualitesRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class HomeController extends AbstractController
{
private $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
#[Route('/', name: 'app_home')]
public function index(MenuRepository $menuRepository,AgendaRepository $agendaRepository, ActualitesRepository $actualitesRepository, AnnoncesRepository $annoncesRepository, SlideRepository $slideRepository): Response
{$imagelink=null;
return $this->render('home/index.html.twig', [
'menus'=> $menuRepository->findBy(array(),
array('position'=>'ASC')),
'agenda'=>$agendaRepository->findBy(array(),
array('id'=>'DESC'),
2),
'actualites'=>$actualitesRepository->findBy(array(),
array('id'=>'DESC'),
3),
'annonces'=>$annoncesRepository->findBy(array(),
array('id'=>'ASC'),
3),
'slids'=>$slideRepository->findAll(),
'imagelink'=>$imagelink
]);
}
/* #[Route('/slide', name: 'app_slide')]
public function home_slide(FileUploader $fileUploader, ValidatorInterface $validator, Request $request,SlideRepository $slideRepository,MenuRepository $menuRepository): Response
{
$submit = $request->request->get('submit');
$errors = null;
if ($submit) {
$slide = new Slide();
$slide->setIntitule($request->request->get('libelle'));
if ($request->files->get('file')) {
$FileName = $fileUploader->upload($request->files->get('file'));
$slide->setImage($FileName);
}
$errors = $validator->validate($slide);
if (count($errors) > 0) {
$errorsString = (string) $errors;
} else {
$this->em->persist($slide);
$this->em->flush();
return $this->redirectToRoute('app_slide', [], Response::HTTP_SEE_OTHER);
}
}
return $this->render('slide/index.html.twig', [
'slids'=> $slideRepository->findAll(),
'menus' => $menuRepository->findAll(),
'errors' => $errors,
]);
} */
/* #[Route('slide/update/{id}/', name: 'app_slide_', methods: ['GET', 'POST'])]
public function edit(FileUploader $fileUploader, ValidatorInterface $validator, Request $request, Slide $slide): Response
{
$submit = $request->request->get('submit');
/* $oldphoto = $sousmenu2->getImage();
$oldvideo = $sousmenu2->getVideo(); /
$errors = null;
if ($submit) {
$slide->setIntitule($request->request->get('libelle'));
// $reportage->setPath($request->request->get('path'));
$errors = $validator->validate($slide);
$tab = null;
if ($request->files->get('file')) {
// $FileName = $fileUploader->upload($request->files->get('file'));
foreach ($request->files->get('file') as $value) {
$FileName = $fileUploader->upload($value);
$tab[] = $FileName;
}
$slide->setImage($tab);
} /* else {
if ($oldphoto) {
foreach ($oldphoto as $value) {
$tab[] = $value;
}
$sousmenu2->setImage($tab);
}
} */
/* else {
if ($oldvideo) {
foreach ($oldvideo as $value) {
$tabvid[] = $value;
}
$sousmenu2->setVideo($tabvid);
}
} /
if (count($errors) > 0) {
$errorsString = (string) $errors;
}else {
$this->em->persist($slide);
$this->em->flush();
return $this->redirectToRoute('app_slide_index', [], Response::HTTP_SEE_OTHER);
}
}
return $this->renderForm('slide/update.html.twig', [
'idSlide'=> $slide->getId(),
'slide' => $slide,
'errors' => $errors,
]);
} */
/* #[Route('slide/supprimer/{id}', name: 'app_slide_delete', methods: ['POST'])]
public function delete(Request $request, Slide $slide, MenuRepository $menuRepository): Response
{
//dd( $menu);
if ($this->isCsrfTokenValid('delete'.$slide->getId(), $request->request->get('_token'))) {
$this->em->remove($slide);
$this->em->flush();
}
return $this->redirectToRoute('app_slide_index', [], Response::HTTP_SEE_OTHER);
}*/
}