src/Controller/ConfigMessengerController.php line 34

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Service\GlobalAdmin;
  4. use App\Entity\ConfigMessenger ;
  5. use App\Entity\Langue ;
  6. use App\Entity\CommMedia ;
  7. use App\Repository\SocialLinksRepository;
  8. use DateTime;
  9. use App\Repository\AdministrateursRepository;
  10. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  11. use Symfony\Component\HttpFoundation\Request;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use Symfony\Component\HttpFoundation\JsonResponse;
  15. use App\Repository\GroupeRestrictionRepository;
  16. use App\Repository\GroupeRestrictionPageRepository;
  17. use Symfony\Component\Filesystem\Filesystem;
  18. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  19. use Symfony\Component\DependencyInjection\ContainerInterface as Container;
  20. use Doctrine\ORM\EntityManagerInterface;
  21. class ConfigMessengerController extends AbstractController
  22. {
  23.     public function __construct(SessionInterface $session Container $container EntityManagerInterface $em )
  24.     {
  25.         
  26.         $this->em $em ;
  27.         $this->session $session ;
  28.     }
  29.     /**
  30.      * @Route("/config_messenger", name="config_messenger", methods={"GET","POST"} , options={"expose"=true})
  31.      */
  32.     public function config_messenger(Request $request,GroupeRestrictionRepository $groupeRestrictionRepository,AdministrateursRepository $AdministrateursRepository,
  33.     GroupeRestrictionPageRepository $grouprestrictionpageRepository): Response
  34.     {
  35.         $accessArray=[];
  36.         $niveauAcessPages = [];
  37.         $groupeRestrictions = [];
  38.         if( ($this->session->get('susrD3p9LjjY86') == 'gA64ya3G5N') && ($request->hasSession()) ){
  39.             $admin $this->session->get('supAdT9m2XJzn4');
  40.         }else if(($this->session->get('supAdT9m2XJzn4') != null) && ($request->hasSession())){
  41.             $admin $AdministrateursRepository->findOneBy(['email'=>$this->session->get('supAdT9m2XJzn4')['email']]);
  42.             $adminId $admin->getId();
  43.             $groupeRestrictions $groupeRestrictionRepository->findByAdminId($adminId);
  44.             $restrictionPages $grouprestrictionpageRepository->findByRestriction($groupeRestrictions[0]->getId());
  45.             $accessArray $restrictionPages[0]->getAccess();
  46.             $niveauAcessPagesCollection $restrictionPages[0]->getNiveauAcessPages();
  47.             $niveauAcessPagesCollection->initialize();
  48.             $niveauAcessPages $niveauAcessPagesCollection->toArray();
  49.         }else {
  50.             return $this->redirectToRoute('connexion');
  51.         }
  52.         return $this->render('config_messenger/index.html.twig', [
  53.             'admin' => $admin,
  54.             'groupeRestrictions' => $groupeRestrictions
  55.             'pages' => $niveauAcessPages,
  56.             'access' => $accessArray,
  57.         ]);
  58.     }
  59.     /**
  60.      * @Route("/loadConfig", name="loadConfig", methods={"GET","POST"} , options={"expose"=true})
  61.      */
  62.     public function loadConfig(EntityManagerInterface $entityManager): JsonResponse {
  63.         $config $entityManager->getRepository(ConfigMessenger::class)->find(1); 
  64.         return new JsonResponse([
  65.             'proposition' => $config $config->getProposition() : null,
  66.             'preference' => $config $config->getPreference() : null,
  67.             'messenger' => $config $config->getMessenger() : null,
  68.         ]);
  69.     }
  70.     /**
  71.      * @Route("/saveConfig", name="saveConfig", methods={"GET","POST"} , options={"expose"=true})
  72.      */
  73.     public function saveConfig(Request $requestEntityManagerInterface $entityManager): JsonResponse {
  74.         $data json_decode($request->getContent(), true);
  75.         $config $entityManager->getRepository(ConfigMessenger::class)->find(1) ?? new ConfigMessenger();
  76.         $config->setProposition($data['proposition']);
  77.         $config->setPreference($data['preference']);
  78.         $config->setMessenger($data['messenger']);
  79.         $config->setDateUpdate(new \DateTime());
  80.         $entityManager->persist($config);
  81.         $entityManager->flush();
  82.         return new JsonResponse(['status' => 'success']);
  83.     }
  84. }