소스 검색

Fix search metachar escaping, fixes #429

Jordi Boggiano 11 년 전
부모
커밋
d435f2fbdf
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      src/Packagist/WebBundle/Controller/WebController.php

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

@@ -287,11 +287,11 @@ class WebController extends Controller
                 $form->bind($req);
                 if ($form->isValid()) {
                     $escapedQuery = $select->getHelper()->escapeTerm($form->getData()->getQuery());
-                    $escapedQuery = preg_replace('/(^| )\\\\-/', '$1-', $escapedQuery);
+                    $escapedQuery = preg_replace('/(^| )\\\\-(\S)/', '$1-$2', $escapedQuery);
+                    $escapedQuery = preg_replace('/(^| )\\\\\+(\S)/', '$1+$2', $escapedQuery);
                     if ((substr_count($escapedQuery, '"') % 2) == 0) {
                         $escapedQuery = str_replace('\\"', '"', $escapedQuery);
                     }
-                    $escapedQuery = str_replace('\\+', '+', $escapedQuery);
                     $select->setQuery($escapedQuery);
                 }
             }