allow wildcard tag and category searches
This commit is contained in:
parent
8e5c56dcc2
commit
a346399fe6
@ -325,8 +325,8 @@ class Channel extends \Zotlabs\Web\Controller {
|
|||||||
'$order' => '',
|
'$order' => '',
|
||||||
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
|
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
|
||||||
'$file' => '',
|
'$file' => '',
|
||||||
'$cats' => (($category) ? $category : ''),
|
'$cats' => (($category) ? urlencode($category) : ''),
|
||||||
'$tags' => (($hashtags) ? $hashtags : ''),
|
'$tags' => (($hashtags) ? urlencode($hashtags) : ''),
|
||||||
'$mid' => $mid,
|
'$mid' => $mid,
|
||||||
'$verb' => '',
|
'$verb' => '',
|
||||||
'$dend' => $datequery,
|
'$dend' => $datequery,
|
||||||
|
@ -325,8 +325,8 @@ class Network extends \Zotlabs\Web\Controller {
|
|||||||
'$xchan' => $xchan,
|
'$xchan' => $xchan,
|
||||||
'$order' => $order,
|
'$order' => $order,
|
||||||
'$file' => $file,
|
'$file' => $file,
|
||||||
'$cats' => $category,
|
'$cats' => urlencode($category),
|
||||||
'$tags' => $hashtags,
|
'$tags' => urlencode($hashtags),
|
||||||
'$dend' => $datequery,
|
'$dend' => $datequery,
|
||||||
'$mid' => '',
|
'$mid' => '',
|
||||||
'$verb' => $verb,
|
'$verb' => $verb,
|
||||||
|
@ -46,8 +46,16 @@ function term_query($table,$s,$type = TERM_UNKNOWN, $type2 = '') {
|
|||||||
|
|
||||||
function term_item_parent_query($uid,$table,$s,$type = TERM_UNKNOWN, $type2 = '') {
|
function term_item_parent_query($uid,$table,$s,$type = TERM_UNKNOWN, $type2 = '') {
|
||||||
|
|
||||||
|
// Allow asterisks for wildcard search
|
||||||
|
// In theory this means '%' will also do a wildcard search, but there appear to be multiple escape
|
||||||
|
// issues with '%' in term names and trying to fix this with '\\%' here did not help.
|
||||||
|
// Ideally I think we want '*' to indicate wildcards and allow '%' literally in names, but that is being
|
||||||
|
// left for another developer on another day.
|
||||||
|
|
||||||
|
$s = str_replace('*','%',$s);
|
||||||
|
|
||||||
if($type2) {
|
if($type2) {
|
||||||
$r = q("select parent from item left join term on term.oid = item.id where term.ttype in (%d, %d) and term.term = '%s' and term.uid = %d and term.otype = 1",
|
$r = q("select parent from item left join term on term.oid = item.id where term.ttype in (%d, %d) and term.term like '%s' and term.uid = %d and term.otype = 1",
|
||||||
intval($type),
|
intval($type),
|
||||||
intval($type2),
|
intval($type2),
|
||||||
dbesc($s),
|
dbesc($s),
|
||||||
@ -55,12 +63,13 @@ function term_item_parent_query($uid,$table,$s,$type = TERM_UNKNOWN, $type2 = ''
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$r = q("select parent from item left join term on term.oid = item.id where term.ttype = %d and term.term = '%s' and term.uid = %d and term.otype = 1",
|
$r = q("select parent from item left join term on term.oid = item.id where term.ttype = %d and term.term like '%s' and term.uid = %d and term.otype = 1",
|
||||||
intval($type),
|
intval($type),
|
||||||
dbesc($s),
|
dbesc($s),
|
||||||
intval($uid)
|
intval($uid)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($r) {
|
if($r) {
|
||||||
$str = '';
|
$str = '';
|
||||||
foreach($r as $rv) {
|
foreach($r as $rv) {
|
||||||
|
Reference in New Issue
Block a user