72 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| function search_ac_init(&$a){
 | |
| 	if(!local_user())
 | |
| 		return "";
 | |
| 
 | |
| 
 | |
| 	$start = (x($_REQUEST,'start')?$_REQUEST['start']:0);
 | |
| 	$count = (x($_REQUEST,'count')?$_REQUEST['count']:100);
 | |
| 	$search = (x($_REQUEST,'search')?$_REQUEST['search']:"");
 | |
| 
 | |
| 	if(x($_REQUEST,'query') && strlen($_REQUEST['query'])) {
 | |
| 		$search = $_REQUEST['query'];
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	$sql_extra = '';
 | |
| 
 | |
| 	$x = array();
 | |
| 	$x['query'] = $search;
 | |
| 	$x['photos'] = array();
 | |
| 	$x['links'] = array();
 | |
| 	$x['suggestions'] = array();
 | |
| 	$x['data'] = array();
 | |
| 
 | |
| 
 | |
| 	// Priority to people searches
 | |
| 
 | |
| 	if ($search) {
 | |
| 		$people_sql_extra = protect_sprintf(" AND `xchan_name` LIKE '%". dbesc($search) . "%' ");
 | |
| 		$tag_sql_extra = protect_sprintf(" AND term LIKE '%". dbesc($search) . "%' ");
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	$r = q("SELECT `abook_id`, `xchan_name`, `xchan_photo_s`, `xchan_url` FROM `abook` left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d 
 | |
| 		$people_sql_extra
 | |
| 		ORDER BY `xchan_name` ASC ",
 | |
| 		intval(local_user())
 | |
| 	);
 | |
| 
 | |
| 	if($r) {
 | |
| 		foreach($r as $g) {
 | |
| 			$x['photos'][] = $g['xchan_photo_s'];
 | |
| 			$x['links'][] = $g['xchan_url'];
 | |
| 			$x['suggestions'][] = '@' . $g['xchan_name'];
 | |
| 			$x['data'][] = 'cid=' . intval($g['abook_id']);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	$r = q("select distinct term, tid, url from term where type = %d $tag_sql_extra group by term order by term asc",
 | |
| 		intval(TERM_HASHTAG)
 | |
| 	);
 | |
| 
 | |
| 	if(count($r)) {
 | |
| 		foreach($r as $g) {
 | |
| 			$x['photos'][] = $a->get_baseurl() . '/images/hashtag.png';
 | |
| 			$x['links'][] = $g['url'];
 | |
| 			$x['suggestions'][] = '#' . $g['term'];
 | |
| 			$x['data'][] = intval($g['tid']);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	header("content-type: application/json");
 | |
| 	echo json_encode($x);
 | |
| 
 | |
| 	logger('search_ac: ' . print_r($x,true));
 | |
| 
 | |
| 	killme();
 | |
| }
 | |
| 
 | |
| 
 |