hubzilla issue #810

This commit is contained in:
zotlabs 2017-06-06 17:38:34 -07:00
parent 83f8f8ebb8
commit e917b94929
2 changed files with 32 additions and 2 deletions

View File

@ -217,10 +217,10 @@ class Channel extends \Zotlabs\Web\Controller {
else {
if(x($category)) {
$sql_extra .= protect_sprintf(term_query('item', $category, TERM_CATEGORY));
$sql_extra2 .= protect_sprintf(term_item_parent_query(\App::$profile['profile_uid'],'item', $category, TERM_CATEGORY));
}
if(x($hashtags)) {
$sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
$sql_extra2 .= protect_sprintf(term_item_parent_query(\App::$profile['profile_uid'],'item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
}
if($datequery) {

View File

@ -44,6 +44,36 @@ function term_query($table,$s,$type = TERM_UNKNOWN, $type2 = '') {
}
function term_item_parent_query($uid,$table,$s,$type = TERM_UNKNOWN, $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",
intval($type),
intval($type2),
dbesc($s),
intval($uid)
);
}
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",
intval($type),
dbesc($s),
intval($uid)
);
}
if($r) {
$str = '';
foreach($r as $rv) {
if($str)
$str .= ',';
$str .= intval($rv['parent']);
}
return " AND " . (($table) ? dbesc($table) . '.' : '') . "id in ( $str ) ";
}
return " AND false ";
}
function store_item_tag($uid,$iid,$otype,$type,$term,$url = '') {
if(! $term)
return false;