2011-06-20 14:14:42 +02:00
< ? php
2017-04-30 06:07:00 +02:00
use Friendica\App ;
2017-08-26 08:04:21 +02:00
use Friendica\Core\System ;
2017-04-30 06:07:00 +02:00
2017-01-09 13:14:25 +01:00
function msearch_post ( App $a ) {
2011-06-20 14:14:42 +02:00
$perpage = (( $_POST [ 'n' ]) ? $_POST [ 'n' ] : 80 );
$page = (( $_POST [ 'p' ]) ? intval ( $_POST [ 'p' ] - 1 ) : 0 );
$startrec = (( $page + 1 ) * $perpage ) - $perpage ;
$search = $_POST [ 's' ];
2017-03-21 17:02:59 +01:00
if ( ! strlen ( $search ))
2011-06-20 14:14:42 +02:00
killme ();
2011-07-06 08:23:43 +02:00
$r = q ( " SELECT COUNT(*) AS `total` FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 AND `user`.`hidewall` = 0 AND MATCH `pub_keywords` AGAINST ('%s') " ,
2011-06-20 14:14:42 +02:00
dbesc ( $search )
);
2016-05-01 14:24:44 +02:00
2016-12-14 09:41:33 +01:00
if ( dbm :: is_result ( $r ))
2011-06-20 14:14:42 +02:00
$total = $r [ 0 ][ 'total' ];
2016-05-01 14:24:44 +02:00
$results = array ();
2011-07-06 08:23:43 +02:00
$r = q ( " SELECT `pub_keywords`, `username`, `nickname`, `user`.`uid` FROM `user` LEFT JOIN `profile` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 AND `user`.`hidewall` = 0 AND MATCH `pub_keywords` AGAINST ('%s') LIMIT %d , %d " ,
2011-06-20 14:14:42 +02:00
dbesc ( $search ),
intval ( $startrec ),
intval ( $perpage )
);
2016-12-14 09:41:33 +01:00
if ( dbm :: is_result ( $r )) {
2017-03-21 17:02:59 +01:00
foreach ( $r as $rr )
2011-06-20 14:14:42 +02:00
$results [] = array (
2017-01-09 13:14:25 +01:00
'name' => $rr [ 'name' ],
2017-08-26 09:32:10 +02:00
'url' => System :: baseUrl () . '/profile/' . $rr [ 'nickname' ],
'photo' => System :: baseUrl () . '/photo/avatar/' . $rr [ 'uid' ] . '.jpg' ,
2011-07-04 09:46:23 +02:00
'tags' => str_replace ( array ( ',' , ' ' ), array ( ' ' , ' ' ), $rr [ 'pub_keywords' ])
2011-06-20 14:14:42 +02:00
);
}
$output = array ( 'total' => $total , 'items_page' => $perpage , 'page' => $page + 1 , 'results' => $results );
echo json_encode ( $output );
killme ();
2016-02-07 15:11:34 +01:00
2016-05-01 14:24:44 +02:00
}