src/Controller/HomePageController.php line 67

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use App\Entity\Applications;
  5. use App\Entity\Settings;
  6. use App\Entity\Rules;
  7. use App\Entity\RulesCrime;
  8. use App\Entity\Faq;
  9. use App\Entity\Groups;
  10. use Doctrine\Persistence\ManagerRegistry;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  14. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  15. use Symfony\Contracts\Translation\TranslatorInterface;
  16. class HomePageController extends AbstractController
  17. {
  18.     /**
  19.      * @Route("/", name="app_home")
  20.      */
  21.     public function home(ManagerRegistry $doctrineTranslatorInterface $translator): Response
  22.     {
  23.         $settingsRepo $doctrine->getRepository(Settings::class);
  24.         $applicationsRepo $doctrine->getRepository(Applications::class);
  25.         $usersRepo $doctrine->getRepository(User::class);
  26.         $stats['applications'] = [
  27.             'all' => $applicationsRepo->countEm(),
  28.             'denied'    => $applicationsRepo->countByStatus(2),
  29.             'accepted'    => $applicationsRepo->countByStatus(1),
  30.         ];
  31.         $stats['users'] = $usersRepo->countEm();
  32.         return $this->render('frontend/pages/homepage/index.html.twig', [
  33.             'title' => $translator->trans('app.homepage') . ' :: ' $settingsRepo->find(1)->getContent()['pageTitle'],
  34.             'stats' => $stats,
  35.             'pageColor' => $settingsRepo->find(1)->getContent()['pageColor'],
  36.             'settings'  => $settingsRepo->find(1)->getContent()
  37.         ]);
  38.     }
  39.     /**
  40.      * @Route("/rules", name="app_guidelines")
  41.      */
  42.     public function guidelines(ManagerRegistry $doctrineTranslatorInterface $translator): Response
  43.     {
  44.         $settingsRepo $doctrine->getRepository(Settings::class);
  45.         return $this->render('frontend/pages/homepage/guidelines.html.twig', [
  46.             'title' => $translator->trans('app.tos') . ' :: ' $settingsRepo->find(1)->getContent()['pageTitle'],
  47.             'pageTitle' => $translator->trans('app.tos'),
  48.             'breadcrumb'    => [
  49.                 [$translator->trans('app.homepage'), $this->generateUrl('app_home')],
  50.                 [$translator->trans('app.tos'), $this->generateUrl('app_guidelines')]
  51.             ],
  52.             'pageColor' => $settingsRepo->find(1)->getContent()['pageColor'],
  53.             'rules'     => $doctrine->getRepository(Rules::class)->find(1)->getContent()
  54.         ]);
  55.     }
  56.     /**
  57.      * @Route("/rules/crime", name="app_guidelines_crime")
  58.      */
  59.     public function guidelines2(ManagerRegistry $doctrineTranslatorInterface $translator): Response
  60.     {
  61.         $settingsRepo $doctrine->getRepository(Settings::class);
  62.         return $this->render('frontend/pages/homepage/guidelines_crime.html.twig', [
  63.             'title' => $translator->trans('app.tos') . ' :: ' $settingsRepo->find(1)->getContent()['pageTitle'],
  64.             'pageTitle' => $translator->trans('app.tos'),
  65.             'breadcrumb'    => [
  66.                 [$translator->trans('app.homepage'), $this->generateUrl('app_home')],
  67.                 [$translator->trans('app.tos'), $this->generateUrl('app_guidelines_crime')]
  68.             ],
  69.             'pageColor' => $settingsRepo->find(1)->getContent()['pageColor'],
  70.             'rules'     => $doctrine->getRepository(RulesCrime::class)->find(1)->getContent()
  71.         ]);
  72.     }
  73.     /**
  74.      * @Route("/faq", name="app_faq")
  75.      */
  76.     public function faq(ManagerRegistry $doctrineTranslatorInterface $translator): Response
  77.     {
  78.         $settingsRepo $doctrine->getRepository(Settings::class);
  79.         return $this->render('frontend/pages/faq/index.html.twig', [
  80.             'title' => $translator->trans('app.faq') . ' :: ' $settingsRepo->find(1)->getContent()['pageTitle'],
  81.             'pageTitle' => $translator->trans('app.faq'),
  82.             'breadcrumb'    => [
  83.                 [$translator->trans('app.homepage'), $this->generateUrl('app_home')],
  84.                 [$translator->trans('app.faq'), $this->generateUrl('app_faq')]
  85.             ],
  86.             'pageColor' => $settingsRepo->find(1)->getContent()['pageColor'],
  87.             'faqs'     => $doctrine->getRepository(Faq::class)->findAll()
  88.         ]);
  89.     }
  90. }