blob: 18d47a6e6b0d5ff753f7ce6ed6a0680fdaf9f10d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<?php
/**
* JSON autocomplete endpoint — returns component titles matching ?q=
* Used by add_component.tpl datalist.
*
* @package stock
*/
namespace Bitweaver\Stock;
require_once '../../kernel/includes/setup_inc.php';
global $gBitDb, $gBitUser;
if( !$gBitUser->hasPermission( 'p_stock_view' ) ) {
header( 'Content-Type: application/json' );
echo '[]';
exit;
}
$q = trim( $_GET['q'] ?? '' );
if( strlen( $q ) < 2 ) {
header( 'Content-Type: application/json' );
echo '[]';
exit;
}
$rows = $gBitDb->getArray(
"SELECT FIRST 30 lc.content_id, lc.title
FROM liberty_content lc
WHERE lc.content_type_guid=? AND LOWER(lc.title) LIKE ?
ORDER BY lc.title",
[ 'stockcomponent', '%'.strtolower( $q ).'%' ]
);
header( 'Content-Type: application/json' );
echo json_encode( array_values( $rows ?? [] ) );
exit;
|