浏览代码

Rollbar form BC fixes that broke the search again... fixes #630, refs #618

Jordi Boggiano 9 年之前
父节点
当前提交
2371780c48
共有 1 个文件被更改,包括 13 次插入9 次删除
  1. 13 9
      src/Packagist/WebBundle/Controller/WebController.php

+ 13 - 9
src/Packagist/WebBundle/Controller/WebController.php

@@ -49,7 +49,9 @@ class WebController extends Controller
 
         $this->computeSearchQuery($req, $filteredOrderBys);
 
-        $form->handleRequest($req);
+        if ($req->query->has('search_query')) {
+            $form->submit($req);
+        }
 
         $orderBysViewModel = $this->getOrderBysViewModel($req, $normalizedOrderBys);
         return $this->render('PackagistWebBundle:Web:searchForm.html.twig', array(
@@ -109,16 +111,18 @@ class WebController extends Controller
                 $select->addSorts($normalizedOrderBys);
             }
 
-            $form->handleRequest($req);
+            if ($req->query->has('search_query')) {
+                $form->submit($req);
 
-            if ($form->isValid()) {
-                $escapedQuery = $select->getHelper()->escapeTerm($form->getData()->getQuery());
-                $escapedQuery = preg_replace('/(^| )\\\\-(\S)/', '$1-$2', $escapedQuery);
-                $escapedQuery = preg_replace('/(^| )\\\\\+(\S)/', '$1+$2', $escapedQuery);
-                if ((substr_count($escapedQuery, '"') % 2) == 0) {
-                    $escapedQuery = str_replace('\\"', '"', $escapedQuery);
+                if ($form->isValid()) {
+                    $escapedQuery = $select->getHelper()->escapeTerm($form->getData()->getQuery());
+                    $escapedQuery = preg_replace('/(^| )\\\\-(\S)/', '$1-$2', $escapedQuery);
+                    $escapedQuery = preg_replace('/(^| )\\\\\+(\S)/', '$1+$2', $escapedQuery);
+                    if ((substr_count($escapedQuery, '"') % 2) == 0) {
+                        $escapedQuery = str_replace('\\"', '"', $escapedQuery);
+                    }
+                    $select->setQuery($escapedQuery);
                 }
-                $select->setQuery($escapedQuery);
             }
 
             $paginator = new Pagerfanta(new SolariumAdapter($solarium, $select));