src/Controller/Uniqskills/StaticPageController.php line 31

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Uniqskills;
  3. use App\Entity\Gos\PortalSettings;
  4. use App\Entity\Gos\StaticPage;
  5. use App\Utils\Uniqskills\StaticPageUtils;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. /**
  11.  * @Route("/{_locale}")
  12.  */
  13. class StaticPageController extends AbstractController
  14. {
  15.     private $em;
  16.     private $staticPageUtils;
  17.     public function __construct(EntityManagerInterface $_emStaticPageUtils $staticPageUtils)
  18.     {
  19.         $this->em $_em;
  20.         $this->staticPageUtils $staticPageUtils;
  21.     }
  22.     /**
  23.      * @Route("/page/{slug}", name="fmUniqskillsStaticPage")
  24.      * @Route("/s/{category}/{slug}/", name="fmUniqskillsStaticPageCategory")
  25.      */
  26.     public function indexAction(Request $request$slug$category null)
  27.     {
  28.         $pSettings $this->em->getRepository(PortalSettings::class)->findOneByHash($_ENV['US_PORTAL_SETTINGS']);
  29.         $staticPage $this->em->getRepository(StaticPage::class)->findOneActiveBySlug($slug$pSettings);
  30.         if ($staticPage === null
  31.             || ($staticPage->getCategory() && $category &&  $staticPage->getCategory()->getCategorySlug() !== $category))
  32.         {
  33.             throw $this->createNotFoundException();
  34.         }
  35.         if ($category === null && $staticPage->getCategory())
  36.         {
  37.             return $this->redirectToRoute(
  38.                 'fmUniqskillsStaticPageCategory',
  39.                 array(
  40.                     'category'  => $staticPage->getCategory()->getCategorySlug(),
  41.                     'slug'      => $slug
  42.                 ),
  43.                 301
  44.             );
  45.         }
  46.         return $this->render('/uniqskills/staticpage/index.html.twig', array(
  47.             'static' => $staticPage,
  48.             'statics' => $this->em->getRepository(StaticPage::class)->findAllByPortalSettingsAndLanguage($pSettings$request->getLocale())
  49.         ));
  50.     }
  51.     /**
  52.      * @Route("/sitemap.xml", defaults={"_format"="xml"}, name="usSitemap")
  53.      */
  54.     public function sitemapAction(Request $request)
  55.     {
  56.         $locale $request->getLocale();
  57.         $urls $this->staticPageUtils->getAllUrls($locale);
  58.         return $this->render('/uniqskills/sitemap.xml.twig', ['urls' => $urls]);
  59.     }
  60. }