Bläddra i källkod

Fix search metachar escaping, fixes #429

Jordi Boggiano 11 år sedan
förälder
incheckning
d435f2fbdf
1 ändrade filer med 2 tillägg och 2 borttagningar
  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);
                 }
             }