Browse Source

add JSON response to search

Igor Wiedler 13 years ago
parent
commit
84b4486bca
1 changed files with 10 additions and 0 deletions
  1. 10 0
      src/Packagist/WebBundle/Controller/WebController.php

+ 10 - 0
src/Packagist/WebBundle/Controller/WebController.php

@@ -104,6 +104,16 @@ class WebController extends Controller
                 $paginator->setMaxPerPage(15);
                 $paginator->setCurrentPage($req->query->get('page', 1), false, true);
 
+                $acceptTypes = $req->getAcceptableContentTypes();
+                if ($acceptTypes && 'application/json' === $acceptTypes[0]) {
+                    $packages = array();
+                    foreach ($paginator as $doc) {
+                        $packages[] = $doc->getFields();
+                    }
+                    $data = array('packages' => $packages);
+                    return new Response(json_encode($data));
+                }
+
                 return $this->render('PackagistWebBundle:Web:search.html.twig', array('packages' => $paginator, 'form' => $form->createView()));
             }
         }