]> Raphaël G. Git Repositories - blogbundle/commitdiff
Use new prev and next links
authorRaphaël Gertz <git@rapsys.eu>
Tue, 12 Dec 2023 17:42:51 +0000 (18:42 +0100)
committerRaphaël Gertz <git@rapsys.eu>
Tue, 12 Dec 2023 17:42:51 +0000 (18:42 +0100)
Controller/KeywordController.php

index d76540405c7acfceeceff41b4286c78707d944c9..d4649a04e0f8e33428e2130938bdb20c579ac4d0 100644 (file)
@@ -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');
                }