Deprecated : Constant E_STRICT is deprecated in /var/www/html/k/kasscaffolding/vendor/symfony/error-handler/ErrorHandler.php on line 58
Deprecated : Constant E_STRICT is deprecated in /var/www/html/k/kasscaffolding/vendor/symfony/error-handler/ErrorHandler.php on line 76
Symfony Profiler
<?php
namespace App\Controller ;
use App\Entity\CaseStudies ;
use App\Entity\Testimonial ;
use App\Annotation\CmsComponent ;
use Doctrine\ORM\EntityManagerInterface ;
use Knp\Component\Pager\PaginatorInterface ;
use Symfony\Component\HttpFoundation\Request ;
use Symfony\Component\HttpFoundation\Response ;
use Symfony\Component\Routing\Annotation\Route ;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController ;
class CaseStudiesDefaultController extends AbstractController
{
public function __construct (private EntityManagerInterface $em , private PaginatorInterface $paginator )
{
}
/**
* @CmsComponent("Embed CaseStudies", active=true, routeName="embed_casestudies")
*/
#[ Route ( path : '/tlb-casestudies' , name : 'embed_casestudies' )]
public function embedCaseStudies ( Request $request ): Response
{
$perpage = 12 ;
$query = $this -> em -> createQuery ( 'SELECT e FROM App:CaseStudies e WHERE e.deleted = 0 AND e.active = 1' );
$paginatedCaseStudies = $this -> paginator -> paginate ( $query , $request -> query -> getInt ( 'page' , 1 ), $perpage );
return $this -> render ( '@theme/casestudies/casestudies.html.twig' , [
'studies' => $paginatedCaseStudies ,
]);
}
/**
* @CmsComponent("Featured Case Study", active=true, routeName="embed_casestudies_featured")
*
* @param mixed $request
*/
#[ Route ( path : '/tlb-casestudies/featured' , name : 'embed_casestudies_featured' )]
public function embedFeaturedCaseStudy ( Request $request ): Response
{
$study = $this -> em -> getRepository ( CaseStudies ::class)-> findLastestFeatured ();
return $this -> render ( '@theme/casestudies/featured_casestudy.html.twig' , [
'study' => $study ,
]);
}
/**
* @CmsComponent("Embed Featured Testimonial Slider", active=true, routeName="embed_testimonial_slider")
*/
#[ Route ( path : '/tlb-testimonials-slider' , name : 'embed_testimonial_slider' )]
public function embedTestimonialSlider ( Request $request ): Response
{
$testimonials = $this -> em -> getRepository ( Testimonial ::class)-> findBy ([ 'active' => true , 'deleted' => false , 'featured' => true ], [ 'sortOrder' => 'ASC' ]);
return $this -> render ( '@theme/casestudies/testimonial_slider.html.twig' , [
'testimonials' => $testimonials ,
]);
}
/**
* @CmsComponent("Embed Testimonials", active=true, routeName="embed_testimonials")
*/
#[ Route ( path : '/tlb-testimonials' , name : 'embed_testimonials' )]
public function embedTestimonialPage ( Request $request ): Response
{
$testimonials = $this -> em -> getRepository ( Testimonial ::class)-> findBy ([ 'active' => true , 'deleted' => false ], [ 'sortOrder' => 'ASC' ]);
return $this -> render ( '@theme/casestudies/testimonials.html.twig' , [
'testimonials' => $testimonials ,
]);
}
/**
* @CmsComponent("Single Case Study", slug="{caseStudy_slug}", slugEntity="CaseStudies", active=true, routeName="embed_casestudy_content")
*/
#[ Route ( '/tlb-casestudies/content/{caseStudy_slug}' , name : 'embed_casestudy_content' )]
public function embedCaseStudyContent ( mixed $caseStudy_slug ): Response
{
$prev = $next = null ;
$study = $this -> em -> getRepository ( CaseStudies ::class)-> findBySlugWithGallery ( $caseStudy_slug );
if (!$study ) {
return new Response ( 'Not Found' );
}
$next = $this -> em -> getRepository ( CaseStudies ::class)-> findNextPublished ( $study );
$prev = $this -> em -> getRepository ( CaseStudies ::class)-> findLastPublished ( $study );
return $this -> render ( '@theme/casestudies/casestudy.html.twig' , [
'study' => $study ,
'prev' => $prev ,
'next' => $next ,
]);
}
}