34 lines
		
	
	
		
			837 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			837 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * Name: Autocomplete
 | |
|  * Author: Daku <admin@codeanimu.net>
 | |
|  * Description: Adds autocomplete to search & tagging.
 | |
|  */
 | |
| 
 | |
| class AutoComplete extends Extension {
 | |
| 	public function onPageRequest(PageRequestEvent $event) {
 | |
| 		global $page, $database;
 | |
| 
 | |
| 		if($event->page_matches("api/internal/autocomplete")) {
 | |
| 			if(!isset($_GET["s"])) return;
 | |
| 
 | |
| 			//$limit = 0;
 | |
| 			$limitSQL = "";
 | |
| 			$SQLarr = array("search"=>$_GET["s"]."%");
 | |
| 			if(isset($_GET["limit"]) && $_GET["limit"] !== 0){
 | |
| 				$limitSQL = "LIMIT :limit";
 | |
| 				$SQLarr['limit'] = $_GET["limit"];
 | |
| 			}
 | |
| 
 | |
| 			$res = $database->get_col(
 | |
| 					"SELECT tag FROM tags WHERE tag LIKE :search AND count > 0 $limitSQL", $SQLarr);
 | |
| 
 | |
| 			$page->set_mode("data");
 | |
| 			$page->set_type("application/json");
 | |
| 			$page->set_data(json_encode($res));
 | |
| 		}
 | |
| 
 | |
| 		$this->theme->build_autocomplete($page);
 | |
| 	}
 | |
| }
 |