Remove item query limit when using file param in mod/network

- Only mark items as seen on regular network page
This commit is contained in:
Hypolite Petovan 2019-03-09 18:36:11 -05:00
parent c7702a4c7a
commit db3f884a3e

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;