Deprecated: Symfony\Component\Translation\t(): Implicitly marking parameter $domain as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/t/taurushr/vendor/symfony/translation/Resources/functions.php on line 18

Deprecated: Symfony\Component\Dotenv\Dotenv::loadEnv(): Implicitly marking parameter $envKey as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/t/taurushr/vendor/symfony/dotenv/Dotenv.php on line 110

Deprecated: Symfony\Component\Runtime\GenericRuntime::getResolver(): Implicitly marking parameter $reflector as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/t/taurushr/vendor/symfony/runtime/GenericRuntime.php on line 89

Deprecated: Symfony\Component\Runtime\RuntimeInterface::getResolver(): Implicitly marking parameter $reflector as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/t/taurushr/vendor/symfony/runtime/RuntimeInterface.php on line 26

Deprecated: Symfony\Component\Console\Input\ArgvInput::__construct(): Implicitly marking parameter $argv as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/t/taurushr/vendor/symfony/console/Input/ArgvInput.php on line 46

Deprecated: Symfony\Component\Console\Input\ArgvInput::__construct(): Implicitly marking parameter $definition as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/t/taurushr/vendor/symfony/console/Input/ArgvInput.php on line 46

Deprecated: Symfony\Component\Console\Input\Input::__construct(): Implicitly marking parameter $definition as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/t/taurushr/vendor/symfony/console/Input/Input.php on line 36

Deprecated: Constant E_STRICT is deprecated in /var/www/html/t/taurushr/vendor/symfony/error-handler/ErrorHandler.php on line 58

Deprecated: Constant E_STRICT is deprecated in /var/www/html/t/taurushr/vendor/symfony/error-handler/ErrorHandler.php on line 76
Symfony Profiler

src/Controller/CaseStudiesDefaultController.php line 56

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\CaseStudies;
  4. use App\Annotation\CmsComponent;
  5. use App\Service\ServiceController;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Knp\Component\Pager\PaginatorInterface;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. class CaseStudiesDefaultController extends AbstractController
  13. {
  14.     public function __construct(private readonly ServiceController $serviceController) {}
  15.     /**
  16.      * @CmsComponent("Embed CaseStudies", active=true, routeName="embed_casestudies")
  17.      */
  18.     #[Route(path'/pcgc-casestudies'name'embed_casestudies')]
  19.     public function embedCaseStudies(Request $requestEntityManagerInterface $emPaginatorInterface $paginator): Response
  20.     {
  21.         $perpage 10;
  22.         if ($this->isGranted('ROLE_ADMIN')) {
  23.             $query $em->createQuery('SELECT e FROM App:CaseStudies e WHERE e.deleted = 0');
  24.         } else {
  25.             $query $em->createQuery('SELECT e FROM App:CaseStudies e WHERE e.deleted = 0 AND e.active = 1');
  26.         }
  27.         $paginatedCaseStudies $paginator->paginate($query$request->query->getInt('page'1), $perpage);
  28.         return $this->render('@theme/casestudies/casestudies.html.twig', [
  29.             'studies' => $paginatedCaseStudies,
  30.         ]);
  31.     }
  32.     /**
  33.      * @CmsComponent("Embed CaseStudy Article", slug="{casestudy_slug}", slugEntity="CaseStudies", active=true, routeName="embed_casestudy")
  34.      */
  35.     #[Route(path'/pcgc-casestudy/{casestudy_slug}'name'embed_casestudy')]
  36.     public function embedCaseStudy(Request $requestEntityManagerInterface $em$casestudy_slug): Response
  37.     {
  38.         if ($this->isGranted('ROLE_ADMIN')) {
  39.             $caseStudy $em->getRepository(CaseStudies::class)->findOneBy(['slug' => $casestudy_slug'deleted' => 0]);
  40.         } else {
  41.             $caseStudy $em->getRepository(CaseStudies::class)->findOneBy(['slug' => $casestudy_slug'deleted' => 0'active' => 1]);
  42.         }
  43.         if (!$caseStudy) {
  44.             return $this->serviceController->componentRedirect('/case-study-not-found');
  45.         }
  46.         return $this->render('@theme/casestudies/casestudy.html.twig', [
  47.             'study' => $caseStudy,
  48.         ]);
  49.     }
  50.     /**
  51.      * @CmsComponent("Embed Featured Case Studies", active=true, routeName="embed_featured_casestudies")
  52.      */
  53.     #[Route(path'/pcgc-casestudies/featured'name'embed_featured_casestudies')]
  54.     public function embedFeaturedCasestudies(Request $requestEntityManagerInterface $em): \Symfony\Component\HttpFoundation\Response
  55.     {
  56.         $studies $em->getRepository(CaseStudies::class)->findBy(['featured' => true]);
  57.         return $this->render('@theme/casestudies/featured.html.twig', [
  58.             'studies' => $studies,
  59.         ]);
  60.     }
  61. }