src/Controller/MagazineController.php line 54

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Magazine;
  4. use App\Service\FileUploader;
  5. use App\Repository\MenuRepository;
  6. use App\Repository\MagazineRepository;
  7. use App\Repository\SousmenuRepository;
  8. use App\Repository\Sousmenu2Repository;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. use Symfony\Component\Validator\Validator\ValidatorInterface;
  14. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  15. class MagazineController extends AbstractController
  16. {
  17.     private $em;
  18.     public function __construct(EntityManagerInterface $em)
  19.     {
  20.         $this->em $em;
  21.     }
  22.     #[Route('/admin/magazine/{id}/desactive-status'name'app_magazine_desactive_status'methods: ['GET','POST'])]
  23.     public function desactiveStatus(Magazine $magazineRequest $request)
  24.     {
  25.         
  26.         $magazine->setStatut(false);
  27.         $this->em->persist($magazine);
  28.         $this->em->flush();
  29.         return $this->redirectToRoute('app_magazine_index', [], Response::HTTP_SEE_OTHER);
  30.     }
  31.     #[Route('/admin/magazine/{id}/active-status'name'app_magazine_active_status'methods: ['GET','POST'])]
  32.     public function activeStatus(Magazine $magazineRequest $request)
  33.     {
  34.        
  35.        
  36.         $magazine->setStatut(true);
  37.         $this->em->persist($magazine);
  38.         $this->em->flush();
  39.         return $this->redirectToRoute('app_magazine_index', [], Response::HTTP_SEE_OTHER);
  40.     }
  41.     
  42.     #[Route('/admin/magazine'name'app_magazine_index'methods: ['GET','POST'])]
  43.     public function index(MagazineRepository $magazineRepository): Response
  44.     {
  45.         return $this->render('magazine/index.html.twig', [
  46.             'magazines' => $magazineRepository->findAll(),
  47.         ]);
  48.     }
  49.     
  50.     
  51.     #[Route('/admin/magazine/new'name'app_magazine_new'methods: ['GET''POST'])]
  52.     public function new(FileUploader $fileUploaderValidatorInterface $validatorRequest $request,Sousmenu2Repository $sousmenu2RepositorySousmenuRepository $sousmenuRepositoryMenuRepository $menuRepositoryMagazineRepository $magazineRepository): Response
  53.     {
  54.         
  55.         $submit $request->request->get('submit');
  56.         $errors null;
  57.         if ($submit) {
  58.             //dd($request);
  59.             $menu = new Magazine();
  60.             $menu->setMenu($menuRepository->find($request->request->get('menu')));
  61.             $menu->setSousmenu($sousmenuRepository->find($request->request->get('sousmenu')));
  62.             $menu->setPath($request->request->get('path'));
  63.             $menu->setSousmenu2($sousmenu2Repository->find($request->request->get('sousmenu2')));
  64.             $menu->setSurtitre($request->request->get('surtitre'));
  65.             $menu->setTitle($request->request->get('title'));
  66.             $menu->setSignature($request->request->get('signature'));
  67.             $menu->setSoustitre($request->request->get('soustitre'));
  68.             $menu->setStatut($request->request->get('statut'));
  69.             
  70.            /*  $menu->setPath($request->request->get('path')); */
  71.             $menu->setContent1($request->request->get('content1')); 
  72.             $menu->setContent2($request->request->get('content2')); 
  73.             $menu->setContent3($request->request->get('content3')); 
  74.             $tab  null;
  75.             $tabvid  null;
  76.             if ($request->files->get('file')) {
  77.                 foreach ($request->files->get('file') as  $value) {
  78.                     $FileName $fileUploader->upload($value);
  79.                     $tab[] = $FileName;
  80.                 }
  81.                 $menu->setImages($tab);
  82.             }
  83.             /* if ($request->files->get('video')) {
  84.                 foreach ($request->files->get('video') as  $value) {
  85.                     $FileName = $fileUploader->upload($value);
  86.                     $tabvid[] = $FileName;
  87.                 }
  88.                 $menu->setVideo($tabvid);
  89.             } */
  90.             $errors $validator->validate($menu);
  91.             if (count($errors) > 0) {  
  92.                 $errorsString = (string) $errors;
  93.             }else {
  94.                 $this->em->persist($menu);
  95.                 $this->em->flush();
  96.                 return $this->redirectToRoute('app_magazine_index', [], Response::HTTP_SEE_OTHER);
  97.             }
  98.         }
  99.        
  100.         $sousmenu=$sousmenuRepository->findOneBy(['path' => 'app_sousmenu_formations']);
  101.         $sousmenu2=$sousmenuRepository->findOneBy(['path' => 'app_sousmenu_telechargements']);
  102.         return $this->renderForm('magazine/new.html.twig', [
  103.             'menus' => $menuRepository->findAll(),
  104.             'sousmenus'=> $sousmenu,
  105.             'sousmenus2'=>$sousmenu2,
  106.             'magazines'=> $magazineRepository->findAll(),
  107.             'sousmenu2s'=> $sousmenu2Repository->findAll(),
  108.             
  109.             'errors' => $errors,
  110.         ]);
  111.     }
  112.     
  113.     
  114.   
  115.     #[Route('/admin/magazine/edit/{id}'name'app_magazine_edit'methods: ['GET''POST'])]
  116.     public function edit(FileUploader $fileUploader,ValidatorInterface $validatorRequest $request,Sousmenu2Repository $sousmenu2RepositorySousmenuRepository $sousmenuRepositoryMenuRepository $menuRepository,  Magazine $magazine): Response
  117.     {
  118.         $submit $request->request->get('submit');
  119.         /* $oldphoto = $sousmenu->getImage();
  120.         $oldvideo = $sousmenu->getVideo(); */
  121.         $errors null;
  122.         if ($submit) {
  123.             $magazine->setMenu($menuRepository->find($request->request->get('menu')));
  124.             $magazine->setSousmenu($sousmenuRepository->find($request->request->get('sousmenu')));
  125.             $magazine->setSousmenu2($sousmenu2Repository->find($request->request->get('sousmenu2')));
  126.             $magazine->setPath($request->request->get('path'));
  127.             $magazine->setSurtitre($request->request->get('surtitre'));
  128.             $magazine->setTitle($request->request->get('title'));
  129.             $magazine->setSignature($request->request->get('signature'));
  130.             $magazine->setSoustitre($request->request->get('soustitre'));
  131.             $magazine->setStatut($request->request->get('statut'));
  132.             
  133.            /*  $menu->setPath($request->request->get('path')); */
  134.             $magazine->setContent1($request->request->get('content1')); 
  135.             $magazine->setContent2($request->request->get('content2')); 
  136.             $magazine->setContent3($request->request->get('content3')); 
  137.             $tab  null;
  138.             $tabvid  null;
  139.             if ($request->files->get('file')) {
  140.                 foreach ($request->files->get('file') as  $value) {
  141.                     $FileName $fileUploader->upload($value);
  142.                     $tab[] = $FileName;
  143.                 }
  144.                 $magazine->setImages($tab);
  145.             } /* else {
  146.                 if ($oldphoto) {
  147.                     foreach ($oldphoto as  $value) {
  148.                     $tab[] = $value;
  149.                 }
  150.                  $sousmenu->setImage($tab);
  151.                 }
  152.             } */
  153.             /* if ($request->files->get('video')) {
  154.                 foreach ($request->files->get('video') as  $value) {
  155.                     $FileName = $fileUploader->upload($value);
  156.                     $tabvid[] = $FileName;
  157.                 }
  158.                 $agenda->setVideo($tabvid);
  159.             } *//* else {
  160.                 if ($oldvideo) {
  161.                     foreach ($oldvideo as  $value) {
  162.                     $tabvid[] = $value;
  163.                 }
  164.                  $sousmenu->setVideo($tabvid);
  165.                 }
  166.             } */
  167.             $errors $validator->validate($magazine);
  168.             if (count($errors) > 0) {
  169.                 $errorsString = (string) $errors;
  170.             } else {
  171.                 $this->em->persist($magazine);
  172.                 $this->em->flush();
  173.                 return $this->redirectToRoute('app_magazine_index', [], Response::HTTP_SEE_OTHER);
  174.             }
  175.         }
  176.         return $this->renderForm('magazine/edit.html.twig', [
  177.             'idMenu' => $magazine->getMenu()->getId(),
  178.             'idSousmenu' => $magazine->getSousmenu()->getId(),
  179.             'idSousmenu2' => $magazine->getSousmenu2()->getId(),
  180.             'idMagazine'=> $magazine->getId(),
  181.             'magazine' => $magazine,
  182.             'menus' => $menuRepository->findAll(),
  183.             'sousmenus'=> $sousmenuRepository->findAll(),
  184.             'sousmenu2s'=> $sousmenu2Repository->findAll(),
  185.             'errors' => $errors,
  186.         ]);
  187.     }
  188.     #[Route('/admin/magazine/supprimer/{id}'name'app_magazine_delete'methods: ['POST'])]
  189.     public function delete(Request $requestMagazine $magazineMenuRepository $menuRepository): Response
  190.     {   
  191.         //dd( $menu);
  192.         if ($this->isCsrfTokenValid('delete'.$magazine->getId(), $request->request->get('_token'))) {
  193.             $this->em->remove($magazine);
  194.             $this->em->flush();
  195.         }
  196.         return $this->redirectToRoute('app_magazine_index', [], Response::HTTP_SEE_OTHER);
  197.     }
  198.     
  199. }