Explorar o código

Avoid showing virtual packages in search results, fixes #7310

Jordi Boggiano %!s(int64=7) %!d(string=hai) anos
pai
achega
af1dccb1fb
Modificáronse 1 ficheiros con 10 adicións e 2 borrados
  1. 10 2
      src/Composer/Repository/ComposerRepository.php

+ 10 - 2
src/Composer/Repository/ComposerRepository.php

@@ -201,9 +201,17 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
 
             $hostname = parse_url($url, PHP_URL_HOST) ?: $url;
             $json = $this->rfs->getContents($hostname, $url, false);
-            $results = JsonFile::parseJson($json, $url);
+            $search = JsonFile::parseJson($json, $url);
 
-            return $results['results'];
+            $results = array();
+            foreach ($search['results'] as $result) {
+                // do not show virtual packages in results as they are not directly useful from a composer perspective
+                if (empty($result['virtual'])) {
+                    $results[] = $result;
+                }
+            }
+
+            return $results;
         }
 
         if ($this->hasProviders()) {