src/Controller/Frontend/VideoController.php line 92
<?phpnamespace App\Controller\Frontend;use App\Paging;use App\Repository\ActorRepository;use App\Repository\StudioRepository;use App\Repository\TagCategoryRepository;use App\Repository\TagRepository;use App\Repository\VideoRepository;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\Routing\Annotation\Route;class VideoController extends AbstractController{#[Route('/', name: 'video.index')]public function index(Request $request,VideoRepository $repo,StudioRepository $repoStudio,ActorRepository $repoActor,TagCategoryRepository $repoTagCat,TagRepository $repoTag,){$page = (int)$request->query->get('page');if ($page === 0) {$page = 1;}$search = $request->query->get('search');$selectedStudioId = $request->query->get('studio');$selectedActorId = $request->query->get('actor');$selectedTagIds = $request->query->get('tags');$selectedTagIds = ($selectedTagIds) ? explode(',', $selectedTagIds) : [];$query = $repo->getQueryAllWithImage($selectedStudioId, $selectedActorId, $selectedTagIds, $search);$count = $repo->countWithNativeQuery($query);$paging = new Paging($page, 9);$paging->setNumRecords($count);$query->setSQL($query->getSQL() . $paging->GetSQL());$videos = $query->getResult();$selectedActors = ($selectedActorId) ? $repoActor->findSelected([$selectedActorId]) : [];$selectedStudios = ($selectedStudioId) ? $repoStudio->findSelected([$selectedStudioId]) : [];$urlNextPage = null;if ($paging->getNextPage()) {$urlNextPage = $this->generateUrl('video.index');$urlNextPage .= '?page=' . $paging->getNextPage();if ($selectedStudioId) {$urlNextPage .= '&studio='.$selectedStudioId;}if ($selectedActorId) {$urlNextPage .= '&actor='.$selectedActorId;}if (count($selectedTagIds)) {$urlNextPage .= '&tags='.implode(',', $selectedTagIds);}if ($search) {$urlNextPage .= '&search='.urlencode($search);}}$categories = $repoTagCat->findAllIndexed();$tags = $repoTag->findAllGroupedByCategory();// echo '<pre>';//dump($categories);//dd($tags);return $this->render('Frontend/Video/Index.twig', ['videos' => $videos,'selectedActors' => $selectedActors,'selectedStudios' => $selectedStudios,'selectedTagIds' => $selectedTagIds,'search' => $search,'paging' => $paging,'url_next_page' => $urlNextPage,'categories' => $categories,'tags' => $tags,]);}#[Route('/video/{id}', name: 'video.show')]public function show($id, VideoRepository $repo){$video = $repo->find($id);return $this->render('Frontend/Video/Show.twig', ['video' => $video,]);}}