Issue 9165: Make pager work for search
This commit is contained in:
parent
d0caf93a0a
commit
03157cc2f2
2 changed files with 19 additions and 2 deletions
|
@ -440,6 +440,21 @@ class Tag
|
|||
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
|
||||
*
|
||||
|
|
|
@ -156,8 +156,9 @@ class Index extends BaseSearch
|
|||
$params = ['order' => ['id' => true], 'group_by' => ['uri-id']];
|
||||
$items = Item::selectForUser(local_user(), [], ['uri-id' => $uriids], $params);
|
||||
$r = Item::inArray($items);
|
||||
$count = Tag::countByTag($search, local_user());
|
||||
} else {
|
||||
$r = [];
|
||||
$count = 0;
|
||||
}
|
||||
} else {
|
||||
Logger::info('Start fulltext search.', ['q' => $search]);
|
||||
|
@ -173,6 +174,7 @@ class Index extends BaseSearch
|
|||
];
|
||||
$items = Item::selectForUser(local_user(), [], $condition, $params);
|
||||
$r = Item::inArray($items);
|
||||
$count = DBA::count('item', $condition);
|
||||
}
|
||||
|
||||
if (!DBA::isResult($r)) {
|
||||
|
@ -194,7 +196,7 @@ class Index extends BaseSearch
|
|||
|
||||
$o .= conversation(DI::app(), $r, 'search', false, false, 'commented', local_user());
|
||||
|
||||
$o .= $pager->renderMinimal(count($r));
|
||||
$o .= $pager->renderMinimal($count);
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue