mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Search controller
 | 
						|
 *
 | 
						|
 * @author Pierre HUBERT
 | 
						|
 */
 | 
						|
 | 
						|
class searchController
 | 
						|
{
 | 
						|
	/**
 | 
						|
	 * Peform a research on the database
 | 
						|
	 *
 | 
						|
	 * @url POST /search/user
 | 
						|
	 * @url POST /user/search
 | 
						|
	 */
 | 
						|
	public function search_user(){
 | 
						|
		user_login_required();
 | 
						|
 | 
						|
		//Check if the query was specified with the request
 | 
						|
		if(!isset($_POST['query']))
 | 
						|
			Rest_fatal_error(400, "Please specify search terms");
 | 
						|
		$query = $_POST['query'];
 | 
						|
 | 
						|
		//Check the query
 | 
						|
		if(strlen($query) < 1)
 | 
						|
			Rest_fatal_error(401, "Empty requests not allowed !");
 | 
						|
		
 | 
						|
		//Check for search limit
 | 
						|
		$searchLimit = (isset($_POST['searchLimit']) ? toInt($_POST['searchLimit']) : 5);
 | 
						|
 | 
						|
		//Check the limit
 | 
						|
		if($searchLimit < 1 || $searchLimit > 25)
 | 
						|
			Rest_fatal_error(401, "Invalid search limit !");
 | 
						|
		
 | 
						|
		//Perform research on the database and return results
 | 
						|
		$results = CS::get()->components->search->search_user($query, $searchLimit);
 | 
						|
		if($results === false)
 | 
						|
			Rest_fatal_error(500, "An error occured while trying to perform a research in user list !");
 | 
						|
		
 | 
						|
		//Return results
 | 
						|
		return $results;
 | 
						|
	}
 | 
						|
} |