src\Controller\Site\VideosController.php line 79

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Site;
  3. use App\Controller\BaseController;
  4. use App\Entity\VideoVisit;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Cookie;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use Knp\Component\Pager\PaginatorInterface;
  12. use App\Entity\Video;
  13. use App\Repository\VideoRepository;
  14. use App\Repository\CategorieVideoRepository;
  15. class VideosController extends BaseController
  16. {
  17.     private $em,$paginator;
  18.     public function __construct(EntityManagerInterface $emPaginatorInterface $paginator)
  19.     {
  20.         $this->em=$em;
  21.         $this->paginator $paginator;
  22.     }
  23.     #[Route(path'/videos'name'site_videos')]
  24.     public function index(Request $requestVideoRepository $VideoRepository,CategorieVideoRepository $CategorieVideoRepository):Response
  25.     {
  26.           $status=true;          
  27.           $q=$request->query->get('q') ?: '';
  28.           $all$VideoRepository->findBylist($status,$q);
  29.           $paginedData=$this->paginator->paginate($all,$request->query->getInt('page'1),9);
  30.           //dd($all);
  31.         return $this->render('site/videos/videos.html.twig', [
  32.             'title' => 'Vidéos'
  33.             //'videos'=>  $VideoRepository->findBylist($status),
  34.             'ALL'=> $paginedData,
  35.             'categories'=>$CategorieVideoRepository->FindAll(),
  36.         ]);
  37.     }
  38.     #[Route(path'/videos/show/{id}/{cat?}'name'site_videos_show')]
  39.     public function show(Request $request,VideoRepository $VideoRepository,Video $Video,CategorieVideoRepository $CategorieVideoRepository):Response
  40.     {
  41.          $cat=$request->attributes->get('cat');
  42.          //if ($Video->getPremium()){
  43.              if ($this->isGranted('IS_AUTHENTICATED_FULLY')){
  44.                  $visit = (new VideoVisit())->setUser($this->getUser())
  45.                  ->setVideo($Video)
  46.                  ->setIp($request->getClientIp())
  47.                  ->setUserAgent($_SERVER['HTTP_USER_AGENT']);
  48.                  $this->em->persist($visit);
  49.                  $this->em->flush();
  50.              }else{
  51.                  //$request->headers->set('referer','');
  52.                  return $this->redirectToRoute('app_login');
  53.              }
  54.          //}
  55.          $status=true;
  56.          // dd($cat);
  57.         return $this->render('site/videos/detailsvideos.html.twig', [
  58.             'title' => 'Details Vidéos',
  59.             'videos' => $VideoRepository->findBycateg($status,$cat),
  60.             'video' => $Video,
  61.             //'cat'=>$cat,
  62.             'categories'=>$CategorieVideoRepository->FindAll(),
  63.         ]);
  64.     }
  65.     
  66.     #[Route(path'/videos/categorie/{id}'name'site_videos_cat')]
  67.     public function VideoCat(Request $request,VideoRepository $VideoRepository,CategorieVideoRepository $CategorieVideoRepository):Response
  68.     {
  69.       $cat=$request->attributes->get('id');
  70.        $status=true;
  71.         return $this->render('site/videos/videocat.html.twig', [
  72.             'title' => 'Details Vidéos',
  73.             'videos' => $VideoRepository->findBycateg($status,$cat),
  74.             'cat'=>$cat,
  75.             'categories'=>$CategorieVideoRepository->FindAll(),
  76.         ]);
  77.     }
  78.     #[Route(path'/voeux/{id}'name'voeux_show'methods: ['GET'])]
  79.     public function Voeuxshow(Video $video): Response
  80.     {
  81.         return $this->render('site/videos/voeux.html.twig', [
  82.             'video' => $video,
  83.         ]);
  84.     }
  85. }