src/Controller/SinistreController.php line 129
<?phpnamespace App\Controller;use App\Entity\Sinistre;use App\Form\SinistreType;use App\Entity\SinistreRepository;use Doctrine\ORM\EntityManagerInterface;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use App\Service\FileUploader;use DateTimeImmutable;#[Route('/sinistre')]class SinistreController extends AbstractController{#[Route('/liste_sinistre', name: 'app_sinistre_index', methods: ['GET'])]public function index(EntityManagerInterface $entityManager): Response{$sinistres = $entityManager->getRepository(Sinistre::class)->findAll();return $this->render('sinistre/index.html.twig', ['sinistres' => $sinistres,]);}#[Route('/new_sinistre', name: 'app_sinistre_new', methods: ['GET', 'POST'])]public function new(Request $request, EntityManagerInterface $entityManager, FileUploader $uploader): Response{$sinistre = new Sinistre();$form = $this->createForm(SinistreType::class, $sinistre);$form->handleRequest($request);if ($form->isSubmitted() && $form->isValid()) {$date = $request->request->get("date");$dateAccident= (\DateTimeImmutable::createFromFormat('Y-m-d H:i:s', $date . '00:00:00'));$assurance = $form['photo_assurance']->getData();$permis = $form['permis_conduire']->getData();$carteGrise = $form['carte_grise']->getData();$proces_verbal = $form['proces_verbal']->getData();$sinistre->setDateAccident($dateAccident)->setCreatedAt(new \DateTimeImmutable('now'))->setStatut(0);$entityManager->persist($sinistre);$entityManager->flush();$mat = "Document";$array = array("png", "PNG","jpg","JPG","jpeg","JPEG");if (empty($assurance) || empty($permis) || empty($carteGrise) || empty($proces_verbal)){$filename="";} else{$idSinistre = $sinistre->getId();$filename = $assurance->getClientOriginalName();$filename = explode('.' , $filename);$filename = $mat.'_assurance'.$idSinistre.'.'.$filename[1];$extension=substr(strrchr($filename,'.'),1);$filename1 = $permis->getClientOriginalName();$filename1 = explode('.' , $filename1);$filename1 = $mat.'_permis'.$idSinistre.'.'.$filename1[1];$extension=substr(strrchr($filename1,'.'),1);$filename2 = $permis->getClientOriginalName();$filename2 = explode('.' , $filename2);$filename2 = $mat.'carteGrise'.$idSinistre.'.'.$filename2[1];$extension=substr(strrchr($filename2,'.'),1);$filename3 = $permis->getClientOriginalName();$filename3 = explode('.' , $filename3);$filename3 = $mat.'proces_verbal'.$idSinistre.'.'.$filename3[1];$extension=substr(strrchr($filename3,'.'),1);if (in_array($extension, $array, true)){// $uploader->upload($upload7, $document, $filename);$uploader->upload("../public/images/assurances", $assurance, $filename);$uploader->upload("../public/images/permis", $permis, $filename1);$uploader->upload("../public/images/carteGrises", $carteGrise, $filename2);$uploader->upload("../public/images/proces_verbal", $proces_verbal, $filename3);// $protocol = 'http';$protocol = 'https';$HTTP_HOST = $_SERVER['HTTP_HOST'];// $REQUEST_URI = $_SERVER['REQUEST_URI'];$lienDocument = $protocol. '://'.$HTTP_HOST.'/'.'images/assurances/'.$filename;$lienDocument1 = $protocol. '://'.$HTTP_HOST.'/'.'images/permis/'.$filename1;$lienDocument2 = $protocol. '://'.$HTTP_HOST.'/'.'images/carteGrises/'.$filename2;$lienDocument3 = $protocol. '://'.$HTTP_HOST.'/'.'images/proces_verbal/'.$filename3;}else{$this->addFlash('warning', "Ce format de fichier pour l'image n'est pas accepté par le système!!");return $this->redirectToRoute('app_sinistre_new', [], Response::HTTP_SEE_OTHER);}}$sinistre->setPhotoAssurance($lienDocument)->setPermisConduire($lienDocument1)->setProcesVerbal($lienDocument3)->setCarteGrise($lienDocument2);$entityManager->persist($sinistre);$entityManager->flush();$this->addFlash('success', 'Votre déclaration sinistre a été envoyer avec succès.');return $this->redirectToRoute('app_home', [], Response::HTTP_SEE_OTHER);}return $this->renderForm('sinistre/new.html.twig', ['sinistre' => $sinistre,'form' => $form,]);}}