From 65cd0e93df9e859e1e9c84104119355f62145529 Mon Sep 17 00:00:00 2001 From: Jill Stingray Date: Wed, 24 Jun 2020 15:25:43 +0000 Subject: [PATCH] Fix video pagination --- Web/Models/Repositories/Videos.php | 7 +++---- Web/Presenters/VideosPresenter.php | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Web/Models/Repositories/Videos.php b/Web/Models/Repositories/Videos.php index ef560136..8d99dd84 100644 --- a/Web/Models/Repositories/Videos.php +++ b/Web/Models/Repositories/Videos.php @@ -37,13 +37,12 @@ class Videos function getByUser(User $user, int $page = 1, ?int $perPage = NULL): \Traversable { $perPage = $perPage ?? OPENVK_DEFAULT_PER_PAGE; - foreach($this->videos->where("owner", $user->getId())->page($page, $perPage) as $video) - if(!$video->deleted) - yield new Video($video); + foreach($this->videos->where("owner", $user->getId())->where("deleted", 0)->page($page, $perPage) as $video) + yield new Video($video); } function getUserVideosCount(User $user): int { - return sizeof($this->videos->where("owner", $user->getId())); + return sizeof($this->videos->where("owner", $user->getId())->where("deleted", 0)); } } diff --git a/Web/Presenters/VideosPresenter.php b/Web/Presenters/VideosPresenter.php index 5732987f..72e59910 100644 --- a/Web/Presenters/VideosPresenter.php +++ b/Web/Presenters/VideosPresenter.php @@ -24,13 +24,13 @@ final class VideosPresenter extends OpenVKPresenter if(!$user) $this->notFound(); $this->template->user = $user; - $this->template->videos = $this->videos->getByUser($user, $this->queryParam("p") ?? 1); + $this->template->videos = $this->videos->getByUser($user, (int) ($this->queryParam("p") ?? 1)); $this->template->count = $this->videos->getUserVideosCount($user); $this->template->paginatorConf = (object) [ "count" => $this->template->count, - "page" => $this->queryParam("p") ?? 1, + "page" => (int) ($this->queryParam("p") ?? 1), "amount" => NULL, - "perPage" => OPENVK_DEFAULT_PER_PAGE, + "perPage" => 7, ]; }