src/Controller/ProjetController.php line 23
<?phpnamespace App\Controller;use App\Entity\Categorie;use App\Entity\Projet;use App\Form\ProjetType;use App\Form\ContactFormType;use App\Repository\CategorieRepository;use App\Repository\ProjetRepository;use Symfony\Component\HttpFoundation\File\UploadedFile;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use Doctrine\ORM\EntityManagerInterface;use Symfony\Component\Mailer\MailerInterface;use Symfony\Component\Mime\Email;class ProjetController extends AbstractController{#[Route('/', name: 'projet', methods: ['GET'])]public function index(ProjetRepository $projetRepository, CategorieRepository $categorieRepository): Response{return $this->render('projets/index.html.twig', ['projets' => $projetRepository->findAll(),'categories' => $categorieRepository->findAll()]);}#[Route('admin/projet', name: 'app_projet_index', methods: ['GET'])]public function showAll(ProjetRepository $projetRepository): Response{return $this->render('projet/index.html.twig', ['projets' => $projetRepository->findAll(),]);}#[Route('admin/projet/new', name: 'app_projet_new', methods: ['GET', 'POST'])]public function new(Request $request, EntityManagerInterface $em){$article = new Projet();$form = $this->createForm(ProjetType::class, $article);$form->handleRequest($request);if ($form->isSubmitted() && $form->isValid()) {/** @var UploadedFile $file */$file = $form->get('imagePresentation')->getData();$file2 = $form->get('image2')->getData();$file3 = $form->get('image3')->getData();$file4 = $form->get('image4')->getData();$file5 = $form->get('image5')->getData();$file6 = $form->get('image6')->getData();$fileName = md5(uniqid()).'.'.$file->guessExtension();$file->move($this->getParameter('image_directory'),$fileName);$fileName2 = md5(uniqid()).'.'.$file2->guessExtension();$file2->move($this->getParameter('image_directory'),$fileName2);$fileName3 = md5(uniqid()).'.'.$file3->guessExtension();$file3->move($this->getParameter('image_directory'),$fileName3);$fileName4 = md5(uniqid()).'.'.$file4->guessExtension();$file4->move($this->getParameter('image_directory'),$fileName4);$fileName5 = md5(uniqid()).'.'.$file5->guessExtension();$file5->move($this->getParameter('image_directory'),$fileName5);$fileName6 = md5(uniqid()).'.'.$file6->guessExtension();$file6->move($this->getParameter('image_directory'),$fileName6);$article->setImagePresentation($fileName);$article->setImage2($fileName2);$article->setImage3($fileName3);$article->setImage4($fileName4);$article->setImage5($fileName5);$article->setImage6($fileName6);$em->persist($article);$em->flush();return $this->redirectToRoute('app_projet_index');// Enregistrez le nom du fichier en base de données}return $this->render('projet/new.html.twig', ['form' => $form->createView(),'projet' => $article,]);}#[Route('projet/{id}', name: 'app_projet_show', methods: ['GET'])]public function show(Projet $projet,ProjetRepository $projetRepository): Response{return $this->render('projets/show.html.twig', ['projet' => $projet,'projets' => $projetRepository->findAll(),]);}#[Route('admin/projet/{id}/edit', name: 'app_projet_edit', methods: ['GET', 'POST'])]public function edit(Request $request, Projet $projet, ProjetRepository $projetRepository): Response{$form = $this->createForm(ProjetType::class, $projet);$form->handleRequest($request);if ($form->isSubmitted() && $form->isValid()) {$file = $form->get('imagePresentation')->getData();$file2 = $form->get('image2')->getData();$file3 = $form->get('image3')->getData();$file4 = $form->get('image4')->getData();$file5 = $form->get('image5')->getData();$file6 = $form->get('image6')->getData();$fileName = md5(uniqid()).'.'.$file->guessExtension();$file->move($this->getParameter('image_directory'),$fileName);$fileName2 = md5(uniqid()).'.'.$file2->guessExtension();$file2->move($this->getParameter('image_directory'),$fileName2);$fileName3 = md5(uniqid()).'.'.$file3->guessExtension();$file3->move($this->getParameter('image_directory'),$fileName3);$fileName4 = md5(uniqid()).'.'.$file4->guessExtension();$file4->move($this->getParameter('image_directory'),$fileName4);$fileName5 = md5(uniqid()).'.'.$file5->guessExtension();$file5->move($this->getParameter('image_directory'),$fileName5);$fileName6 = md5(uniqid()).'.'.$file6->guessExtension();$file6->move($this->getParameter('image_directory'),$fileName6);$article->setImagePresentation($fileName);$article->setImage2($fileName2);$article->setImage3($fileName3);$article->setImage4($fileName4);$article->setImage5($fileName5);$article->setImage6($fileName6);$em->persist($article);$em->flush();$projetRepository->save($projet, true);return $this->redirectToRoute('app_projet_index');return $this->redirectToRoute('app_projet_index', [], Response::HTTP_SEE_OTHER);}return $this->renderForm('projet/edit.html.twig', ['projet' => $projet,'form' => $form,]);}#[Route('admin/projet/{id}', name: 'app_projet_delete', methods: ['POST'])]public function delete(Request $request, Projet $projet, ProjetRepository $projetRepository): Response{if ($this->isCsrfTokenValid('delete'.$projet->getId(), $request->request->get('_token'))) {$projetRepository->remove($projet, true);}return $this->redirectToRoute('app_projet_index', [], Response::HTTP_SEE_OTHER);}#[Route('metiers', name: 'app_projet_metiers', methods: ['GET'])]public function metier(ProjetRepository $projetRepository, CategorieRepository $categorieRepository): Response{return $this->render('metiers.html.twig', ['projets' => $projetRepository->findAll(),'categories' => $categorieRepository->findAll(),]);}}