kopia lustrzana https://github.com/pixelfed/pixelfed
				
				
				
			Update SearchApiV2Service, improve account search results
							rodzic
							
								
									6deb09de28
								
							
						
					
					
						commit
						f6a588f9cf
					
				| 
						 | 
				
			
			@ -88,16 +88,17 @@ class SearchApiV2Service
 | 
			
		|||
		$offset = $this->query->input('offset') ?? 0;
 | 
			
		||||
		$rawQuery = $initalQuery ? $initalQuery : $this->query->input('q');
 | 
			
		||||
		$query = $rawQuery . '%';
 | 
			
		||||
		if(Str::substrCount($rawQuery, '@') >= 1 && Str::contains($rawQuery, config('pixelfed.domain.app'))) {
 | 
			
		||||
			$deliminatorCount = Str::substrCount($rawQuery, '@');
 | 
			
		||||
			$query = explode('@', $rawQuery)[$deliminatorCount == 1 ? 0 : 1];
 | 
			
		||||
		$webfingerQuery = $query;
 | 
			
		||||
		if(Str::substrCount($rawQuery, '@') == 1 && substr($rawQuery, 0, 1) !== '@') {
 | 
			
		||||
			$query = '@' . $query;
 | 
			
		||||
		}
 | 
			
		||||
		if(Str::substrCount($rawQuery, '@') == 1 && substr($rawQuery, 0, 1) == '@') {
 | 
			
		||||
			$query = substr($rawQuery, 1) . '%';
 | 
			
		||||
		if(substr($webfingerQuery, 0, 1) !== '@') {
 | 
			
		||||
			$webfingerQuery = '@' . $webfingerQuery;
 | 
			
		||||
		}
 | 
			
		||||
		$banned = InstanceService::getBannedDomains();
 | 
			
		||||
		$results = Profile::select('username', 'id', 'followers_count', 'domain')
 | 
			
		||||
			->where('username', 'like', $query)
 | 
			
		||||
			->orWhere('webfinger', 'like', $webfingerQuery)
 | 
			
		||||
			->orderByDesc('profiles.followers_count')
 | 
			
		||||
			->offset($offset)
 | 
			
		||||
			->limit($limit)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue