Browse Source

Fix page param handling

Jordi Boggiano 5 years ago
parent
commit
4bd8a78ccb

+ 3 - 3
src/Packagist/WebBundle/Controller/PackageController.php

@@ -313,7 +313,7 @@ class PackageController extends Controller
             throw new NotFoundHttpException();
         }
 
-        $page = $req->query->get('page', 1);
+        $page = max(1, (int) $req->query->get('page', 1));
 
         /** @var PackageRepository $repo */
         $repo = $this->getDoctrine()->getRepository(Package::class);
@@ -936,7 +936,7 @@ class PackageController extends Controller
      */
     public function dependentsAction(Request $req, $name)
     {
-        $page = $req->query->get('page', 1);
+        $page = max(1, (int) $req->query->get('page', 1));
 
         /** @var PackageRepository $repo */
         $repo = $this->getDoctrine()->getRepository(Package::class);
@@ -965,7 +965,7 @@ class PackageController extends Controller
      */
     public function suggestersAction(Request $req, $name)
     {
-        $page = $req->query->get('page', 1);
+        $page = max(1, (int) $req->query->get('page', 1));
 
         /** @var PackageRepository $repo */
         $repo = $this->getDoctrine()->getRepository(Package::class);

+ 2 - 2
src/Packagist/WebBundle/Controller/UserController.php

@@ -225,7 +225,7 @@ class UserController extends Controller
         );
 
         $paginator->setMaxPerPage(15);
-        $paginator->setCurrentPage($req->query->get('page', 1), false, true);
+        $paginator->setCurrentPage(max(1, (int) $req->query->get('page', 1)), false, true);
 
         return array('packages' => $paginator, 'user' => $user);
     }
@@ -283,7 +283,7 @@ class UserController extends Controller
 
         $paginator = new Pagerfanta(new DoctrineORMAdapter($packages, true));
         $paginator->setMaxPerPage(15);
-        $paginator->setCurrentPage($req->query->get('page', 1), false, true);
+        $paginator->setCurrentPage(max(1, (int) $req->query->get('page', 1)), false, true);
 
         return $paginator;
     }