src/Controller/ContentPagesController.php line 141

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\ContentPages;
  4. use App\Form\ContentPagesType;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use Symfony\Component\Security\Http\Attribute\IsGranted;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Contracts\Translation\TranslatorInterface;
  11. use Doctrine\Persistence\ManagerRegistry;
  12. /**
  13.  * ContentPagesController controller.
  14.  *
  15.  * @package App\Controller
  16.  */
  17. class ContentPagesController extends AbstractController
  18. {
  19.     /**
  20.      * Lists all auction entities.
  21.      *
  22.      * @return \Symfony\Component\HttpFoundation\Response
  23.      */
  24.     #[Route(path'/ContentPages'name'contentPages_index'methods: ["GET"])]
  25.     #[IsGranted('ROLE_SUPER_ADMIN')]
  26.     public function indexAction(ManagerRegistry $doctrine)
  27.     {
  28.         $em $doctrine->getManager();
  29.         $contentPages $em->getRepository(ContentPages::class)->findAll();
  30.         $totalResult count($contentPages);
  31.         return $this->render('contentpages/index.html.twig', [
  32.             'contentpages' => $contentPages,
  33.             'totalResult' => $totalResult
  34.         ]);
  35.     }
  36.     /**
  37.      * Creates a new content pages entity.
  38.      *
  39.      * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
  40.      */
  41.     #[Route(path'/ContentPages/new'name'contentPages_new'methods: ["GET""POST"])]
  42.     #[IsGranted('ROLE_SUPER_ADMIN')]
  43.     public function newAction(Request $requestTranslatorInterface $translatorManagerRegistry $doctrine)
  44.     {
  45.         $em $doctrine->getManager();
  46.         $locale $request->getLocale();
  47.         $contentPages = new ContentPages();
  48.         $form    $this->createForm(ContentPagesType::class, $contentPages);
  49.         $form->handleRequest($request);
  50.         if ($form->isSubmitted() && $form->isValid()) {
  51.             $contentPages->setCreatedBy($this->getUser());
  52.             $em->persist($contentPages);
  53.             $em->flush();
  54.             $session $request->getSession();
  55.             $session->getFlashBag()->add('success',
  56.                 $translator->trans('Content Page added successfully', [], 'clients')
  57.             );
  58.             return $this->redirectToRoute('contentPages_index');
  59.         }
  60.         return $this->render('contentpages/new.html.twig', [
  61.             'contentpages' => $contentPages,
  62.             'form'    => $form->createView(),
  63.             'locale'          => $locale,
  64.         ]);
  65.     }
  66.     /**
  67.      * Displays a form to edit content  Pages entity.
  68.      *
  69.      * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
  70.      */
  71.     #[Route(path'/ContentPages/{id}/edit'name'contentPages_edit'methods: ["GET""POST"])]
  72.     #[IsGranted('ROLE_SUPER_ADMIN')]
  73.     public function editAction(Request $requestContentPages $contentPagesTranslatorInterface $translatorManagerRegistry $doctrine)
  74.     {
  75.         $doctrine->getManager();
  76.         $editForm   $this->createForm(ContentPagesType::class, $contentPages);
  77.         $editForm->handleRequest($request);
  78.         if ($editForm->isSubmitted() && $editForm->isValid()) {
  79.             $contentPages->setUpdatedBy($this->getUser());
  80.             $doctrine->getManager()->flush();
  81.             $session $request->getSession();
  82.             $session->getFlashBag()->add('success',
  83.                 $translator->trans('Content Page updated successfully', [], 'clients')
  84.             );
  85.             return $this->redirectToRoute('contentPages_edit', ['id' => $contentPages->getId()]);
  86.         }
  87.          return $this->render('contentpages/edit.html.twig', [
  88.             'contentpages' => $contentPages,
  89.             'form'   => $editForm->createView(),
  90.          ]);
  91.     }
  92.     /**
  93.      * Displays a form to view content  Pages entity.
  94.      *
  95.      * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
  96.      */
  97.     #[Route(path'/ContentPages/{id}/view'name'contentPages_view'methods: ["GET""POST"])]
  98.     #[IsGranted('ROLE_SUPER_ADMIN')]
  99.     public function viewAction(Request $requestContentPages $contentPagesManagerRegistry $doctrine)
  100.     {
  101.         $doctrine->getManager();
  102.         $locale $request->getLocale();
  103.         return $this->render('contentpages/view.html.twig', [
  104.             'contentpages' => $contentPages,
  105.             'locale'          => $locale,
  106.         ]);
  107.     }
  108.     /**
  109.      * Front pages action
  110.      *
  111.      * @param Request $request
  112.      *
  113.      * check Route params in this: \Symfony\Component\Routing\Route
  114.      * @return \Symfony\Component\HttpFoundation\Response
  115.      * @throws \Doctrine\ORM\NonUniqueResultException
  116.      */
  117.     #[Route(path'/content/{page}'name'content'options: ['debug' => true], methods: ["GET"])]
  118.     #[Route(path'/cnt/{page}'name'content_short_url'methods: ["GET"])]
  119.     public function contentPageAction(Request $requestManagerRegistry $doctrine){
  120.         $em $doctrine->getManager();
  121.         $locale $request->getLocale();
  122.         $page $request->get('page');
  123.         $content $em->getRepository(ContentPages::class)->findOneBy(['keyword' => $page]);
  124.         if(!$content){
  125.             return $this->redirectToRoute('homepage');
  126.         }else {
  127.         }
  128.          return $this->render('default/content.html.twig', [
  129.             'content' => $content,
  130.             'locale'          => $locale,
  131.         ]);
  132.     }
  133. }