Issue 9165: Make pager work for search
This commit is contained in:
parent
d0caf93a0a
commit
03157cc2f2
|
@ -440,6 +440,21 @@ class Tag
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Counts posts for given tag
|
||||||
|
*
|
||||||
|
* @param string $search
|
||||||
|
* @param integer $uid
|
||||||
|
* @return integer number of posts
|
||||||
|
*/
|
||||||
|
public static function countByTag(string $search, int $uid = 0)
|
||||||
|
{
|
||||||
|
$condition = ["`name` = ? AND (NOT `private` OR (`private` AND `uid` = ?))", $search, $uid];
|
||||||
|
$params = ['group_by' => ['uri-id']];
|
||||||
|
|
||||||
|
return DBA::count('tag-search-view', $condition, $params);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Search posts for given tag
|
* Search posts for given tag
|
||||||
*
|
*
|
||||||
|
|
|
@ -156,8 +156,9 @@ class Index extends BaseSearch
|
||||||
$params = ['order' => ['id' => true], 'group_by' => ['uri-id']];
|
$params = ['order' => ['id' => true], 'group_by' => ['uri-id']];
|
||||||
$items = Item::selectForUser(local_user(), [], ['uri-id' => $uriids], $params);
|
$items = Item::selectForUser(local_user(), [], ['uri-id' => $uriids], $params);
|
||||||
$r = Item::inArray($items);
|
$r = Item::inArray($items);
|
||||||
|
$count = Tag::countByTag($search, local_user());
|
||||||
} else {
|
} else {
|
||||||
$r = [];
|
$count = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Logger::info('Start fulltext search.', ['q' => $search]);
|
Logger::info('Start fulltext search.', ['q' => $search]);
|
||||||
|
@ -173,6 +174,7 @@ class Index extends BaseSearch
|
||||||
];
|
];
|
||||||
$items = Item::selectForUser(local_user(), [], $condition, $params);
|
$items = Item::selectForUser(local_user(), [], $condition, $params);
|
||||||
$r = Item::inArray($items);
|
$r = Item::inArray($items);
|
||||||
|
$count = DBA::count('item', $condition);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!DBA::isResult($r)) {
|
if (!DBA::isResult($r)) {
|
||||||
|
@ -194,7 +196,7 @@ class Index extends BaseSearch
|
||||||
|
|
||||||
$o .= conversation(DI::app(), $r, 'search', false, false, 'commented', local_user());
|
$o .= conversation(DI::app(), $r, 'search', false, false, 'commented', local_user());
|
||||||
|
|
||||||
$o .= $pager->renderMinimal(count($r));
|
$o .= $pager->renderMinimal($count);
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue