src/Controller/ContentPagesController.php line 180

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