Merge pull request #6844 from MrPetovan/bug/6823-fix-filer-pagination

Remove item query limit when using file param in mod/network
This commit is contained in:
Michael Vogel 2019-03-10 06:52:44 +01:00 committed by GitHub
commit ca303ece9c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,6 +24,7 @@ use Friendica\Model\Contact;
use Friendica\Model\Group; use Friendica\Model\Group;
use Friendica\Model\Item; use Friendica\Model\Item;
use Friendica\Model\Profile; use Friendica\Model\Profile;
use Friendica\Model\Term;
use Friendica\Module\Login; use Friendica\Module\Login;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
use Friendica\Util\Proxy as ProxyUtils; use Friendica\Util\Proxy as ProxyUtils;
@ -445,11 +446,13 @@ function networkFlatView(App $a, $update = 0)
networkPager($a, $pager, $update); networkPager($a, $pager, $update);
$item_params = ['order' => ['id' => true]];
if (strlen($file)) { if (strlen($file)) {
$condition = ["`term` = ? AND `otype` = ? AND `type` = ? AND `uid` = ?", $term_condition = ["`term` = ? AND `otype` = ? AND `type` = ? AND `uid` = ?",
$file, TERM_OBJ_POST, TERM_FILE, local_user()]; $file, Term::OBJECT_TYPE_POST, Term::FILE, local_user()];
$params = ['order' => ['tid' => true], 'limit' => [$pager->getStart(), $pager->getItemsPerPage()]]; $term_params = ['order' => ['tid' => true], 'limit' => [$pager->getStart(), $pager->getItemsPerPage()]];
$result = DBA::select('term', ['oid'], $condition, $params); $result = DBA::select('term', ['oid'], $term_condition, $term_params);
$posts = []; $posts = [];
while ($term = DBA::fetch($result)) { while ($term = DBA::fetch($result)) {
@ -460,18 +463,16 @@ function networkFlatView(App $a, $update = 0)
if (count($posts) == 0) { if (count($posts) == 0) {
return ''; return '';
} }
$condition = ['uid' => local_user(), 'id' => $posts]; $item_condition = ['uid' => local_user(), 'id' => $posts];
} else { } else {
$condition = ['uid' => local_user()]; $item_condition = ['uid' => local_user()];
$item_params['limit'] = [$pager->getStart(), $pager->getItemsPerPage()];
networkSetSeen(['unseen' => true, 'uid' => local_user()]);
} }
$params = ['order' => ['id' => true], 'limit' => [$pager->getStart(), $pager->getItemsPerPage()]]; $result = Item::selectForUser(local_user(), [], $item_condition, $item_params);
$result = Item::selectForUser(local_user(), [], $condition, $params);
$items = Item::inArray($result); $items = Item::inArray($result);
$condition = ['unseen' => true, 'uid' => local_user()];
networkSetSeen($condition);
$o .= networkConversation($a, $items, $pager, 'network-new', $update); $o .= networkConversation($a, $items, $pager, 'network-new', $update);
return $o; return $o;