src/Controller/GuideController.php line 35

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Location\Town;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. /**
  8.  * @Route("/guide")
  9.  */
  10. class GuideController extends AbstractController
  11. {
  12.     /**
  13.      * @Route("", name="guide_index")
  14.      *
  15.      * @return Response
  16.      */
  17.     public function guide(): Response
  18.     {
  19.         return $this->render('guide/index.html.twig', [
  20.             'page' => 'guide',
  21.             'menu' => 'gameplay',
  22.         ]);
  23.     }
  24.     /**
  25.      * @Route("/{subpage}", name="guide_subpage")
  26.      *
  27.      * @param string $subpage
  28.      *
  29.      * @return Response
  30.      */
  31.     public function guideSubpage(string $subpage): Response
  32.     {
  33.         $subpage str_replace('-''_'$subpage);
  34.         // Validate $subpage
  35.         $projectRoot $this->getParameter('kernel.project_dir');
  36.         $templateFilePath $projectRoot '/templates/guide/' $subpage '.html.twig';
  37.         if (!file_exists($templateFilePath)) {
  38.             return $this->redirectToRoute('guide_index');
  39.         }
  40.         return $this->render('guide/' $subpage '.html.twig', [
  41.             'page' => 'guide',
  42.             'menu' => $subpage,
  43.             'pvpTownTypes' => Town::TOWN_TYPES_PVP,
  44.             'pveTownTypes' => Town::TOWN_TYPES_PVE,
  45.         ]);
  46.     }
  47.     /**
  48.      * @Route("/quickguide/resources", name="quickguide")
  49.      *
  50.      * @return Response
  51.      */
  52.     public function quickguide(): Response
  53.     {
  54.         return $this->render('quickguide/resources.html.twig');
  55.     }
  56.     /**
  57.      * @Route("/quickguide/army", name="quickguide_army")
  58.      *
  59.      * @return Response
  60.      */
  61.     public function quickguideArmy(): Response
  62.     {
  63.         return $this->render('quickguide/army.html.twig');
  64.     }
  65.     /**
  66.      * @Route("/quickguide/specop", name="quickguide_specop")
  67.      *
  68.      * @return Response
  69.      */
  70.     public function quickguideSpecop(): Response
  71.     {
  72.         return $this->render('quickguide/specop.html.twig');
  73.     }
  74.     /**
  75.      * @Route("/quickguide/tech", name="quickguide_tech")
  76.      *
  77.      * @return Response
  78.      */
  79.     public function quickguideTech(): Response
  80.     {
  81.         return $this->render('quickguide/techtree.html.twig');
  82.     }
  83. }