2011-06-20 08:14:42 -04:00
< ? php
2017-04-30 00:07:00 -04:00
use Friendica\App ;
2017-08-26 02:04:21 -04:00
use Friendica\Core\System ;
2018-07-21 08:40:21 -04:00
use Friendica\Database\DBA ;
2017-04-30 00:07:00 -04:00
2017-01-09 07:14:25 -05:00
function msearch_post ( App $a ) {
2011-06-20 08:14:42 -04: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 12:02:59 -04:00
if ( ! strlen ( $search ))
2011-06-20 08:14:42 -04:00
killme ();
2011-07-06 02:23:43 -04: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') " ,
2018-07-21 09:10:13 -04:00
DBA :: escape ( $search )
2011-06-20 08:14:42 -04:00
);
2016-05-01 08:24:44 -04:00
2018-07-21 08:46:04 -04:00
if ( DBA :: isResult ( $r ))
2011-06-20 08:14:42 -04:00
$total = $r [ 0 ][ 'total' ];
2018-01-15 08:05:12 -05:00
$results = [];
2016-05-01 08:24:44 -04:00
2011-07-06 02:23:43 -04: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 " ,
2018-07-21 09:10:13 -04:00
DBA :: escape ( $search ),
2011-06-20 08:14:42 -04:00
intval ( $startrec ),
intval ( $perpage )
);
2018-07-21 08:46:04 -04:00
if ( DBA :: isResult ( $r )) {
2017-03-21 12:02:59 -04:00
foreach ( $r as $rr )
2018-01-15 08:05:12 -05:00
$results [] = [
2017-01-09 07:14:25 -05:00
'name' => $rr [ 'name' ],
2017-08-26 03:32:10 -04:00
'url' => System :: baseUrl () . '/profile/' . $rr [ 'nickname' ],
'photo' => System :: baseUrl () . '/photo/avatar/' . $rr [ 'uid' ] . '.jpg' ,
2018-01-15 08:05:12 -05:00
'tags' => str_replace ([ ',' , ' ' ],[ ' ' , ' ' ], $rr [ 'pub_keywords' ])
];
2011-06-20 08:14:42 -04:00
}
2018-01-15 08:05:12 -05:00
$output = [ 'total' => $total , 'items_page' => $perpage , 'page' => $page + 1 , 'results' => $results ];
2011-06-20 08:14:42 -04:00
echo json_encode ( $output );
killme ();
2016-02-07 09:11:34 -05:00
2016-05-01 08:24:44 -04:00
}