From 654b7d88a927d5ec5aabdaf6adc1594335f61877 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Tue, 12 Dec 2023 18:42:51 +0100 Subject: [PATCH] Use new prev and next links --- Controller/KeywordController.php | 35 +++++++------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/Controller/KeywordController.php b/Controller/KeywordController.php index d765404..d4649a0 100644 --- a/Controller/KeywordController.php +++ b/Controller/KeywordController.php @@ -30,39 +30,18 @@ class KeywordController extends AbstractController { * @return Response The rendered view */ public function index(Request $request): Response { - //With keywords - if ($count = $this->doctrine->getRepository(Keyword::class)->findCountAsInt()) { - //Negative page or over page - if (($page = (int) $request->get('page', 0)) < 0 || $page > $count / $this->limit) { - //Throw 404 - throw $this->createNotFoundException($this->translator->trans('Unable to find keywords (page: %page%)', ['%page%' => $page])); - } - - //Without keywords - if (empty($this->context['keywords'] = $this->doctrine->getRepository(Keyword::class)->findAllAsArray($page, $this->limit))) { - //Throw 404 - throw $this->createNotFoundException($this->translator->trans('Unable to find keywords')); - } - - //With prev link - if ($page > 0) { - //Set keywords older - $this->context['head']['prev'] = $this->context['keywords_prev'] = $this->generateUrl($request->attributes->get('_route'), ['page' => $page - 1]+$request->attributes->get('_route_params')); - } - - //With next link - if ($count > ($page + 1) * $this->limit) { - //Set keywords newer - $this->context['head']['next'] = $this->context['keywords_next'] = $this->generateUrl($request->attributes->get('_route'), ['page' => $page + 1]+$request->attributes->get('_route_params')); - } + //With not enough keywords + if (($this->count = $this->doctrine->getRepository(Keyword::class)->findCountAsInt()) < $this->page * $this->limit) { + //Throw 404 + throw $this->createNotFoundException($this->translator->trans('Unable to find keywords')); + } + //Get keywords + if ($this->context['keywords'] = $this->doctrine->getRepository(Keyword::class)->findAllAsArray($this->page, $this->limit)) { //Set modified $this->modified = max(array_map(function ($v) { return $v['modified']; }, $this->context['keywords'])); //Without keywords } else { - //Set empty keywords - $this->context['keywords'] = []; - //Set empty modified $this->modified = new \DateTime('-1 year'); } -- 2.41.0