public function search($query, $mode = 0, $type = null)
    {
        $regex = '{(?:'.implode('|', preg_split('{\s+}', $query)).')}i';

        $matches = array();
        foreach ($this->getPackages() as $package) {
            $name = $package->getName();
            if (isset($matches[$name])) {
                continue;
            }
            if (preg_match($regex, $name)
                || ($mode === self::SEARCH_FULLTEXT && $package instanceof CompletePackageInterface && preg_match($regex, implode(' ', (array) $package->getKeywords()) . ' ' . $package->getDescription()))
            ) {
                if (null !== $type && $package->getType() !== $type) {
                    continue;
                }

                $matches[$name] = array(
                    'name' => $package->getPrettyName(),
                    'description' => $package instanceof CompletePackageInterface ? $package->getDescription() : null,
                );
            }
        }

        return array_values($matches);
    }
public function search($query, $mode = 0, $type = null)
    {
        $regex = '{(?:'.implode('|', preg_split('{\s+}', $query)).')}i';

        $matches = array();
        foreach ($this->getPackages() as $package) {
            $name = $package->getName();
            if (isset($matches[$name])) {
                continue;
            }
            if (preg_match($regex, $name)
                || ($mode === self::SEARCH_FULLTEXT && $package instanceof CompletePackageInterface && preg_match($regex, implode(' ', (array) $package->getKeywords()) . ' ' . $package->getDescription()))
            ) {
                if (null !== $type && $package->getType() !== $type) {
                    continue;
                }

                $matches[$name] = array(
                    'name' => $package->getPrettyName(),
                    'description' => $package instanceof CompletePackageInterface ? $package->getDescription() : null,
                );
            }
        }

        return array_values($matches);
    }
public function search ( $ query , $ mode = 0 , $ type = null ) { $ regex = '{(?:' . implode ( '|' , preg_split ( '{\s+}' , $ query ) ) . ')}i' ; $ matches = array ( ) ; foreach ( $ this -> getPackages ( ) as $ package ) { $ name = $ package -> getName ( ) ; if ( isset ( $ matches [ $ name ] ) ) { continue ; } if ( preg_match ( $ regex , $ name ) || ( $ mode === self :: SEARCH_FULLTEXT && $ package instanceof CompletePackageInterface && preg_match ( $ regex , implode ( ' ' , ( array ) $ package -> getKeywords ( ) ) . ' ' . $ package -> getDescription ( ) ) ) ) { if ( null !== $ type && $ package -> getType ( ) !== $ type ) { continue ; } $ matches [ $ name ] = array ( 'name' => $ package -> getPrettyName ( ) , 'description' => $ package instanceof CompletePackageInterface ? $ package -> getDescription ( ) : null , ) ; } } return array_values ( $ matches ) ; }
{@inheritDoc}
{