summaryrefslogtreecommitdiffstats
path: root/lib/Db
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Db')
-rw-r--r--lib/Db/ItemMapperV2.php8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Db/ItemMapperV2.php b/lib/Db/ItemMapperV2.php
index 64b640a11..1365121fe 100644
--- a/lib/Db/ItemMapperV2.php
+++ b/lib/Db/ItemMapperV2.php
@@ -57,9 +57,10 @@ class ItemMapperV2 extends NewsMapperV2
$builder->select('items.*')
->from($this->tableName, 'items')
->innerJoin('items', FeedMapperV2::TABLE_NAME, 'feeds', 'items.feed_id = feeds.id')
- ->where('feeds.user_id = :user_id')
+ ->where('(feeds.user_id = :user_id AND items.shared_by = \'\') OR items.shared_with = :shared_with')
->andWhere('feeds.deleted_at = 0')
- ->setParameter('user_id', $userId, IQueryBuilder::PARAM_STR);
+ ->setParameter('user_id', $userId, IQueryBuilder::PARAM_STR)
+ ->setParameter('shared_with', $userId, IQueryBuilder::PARAM_STR);
foreach ($params as $key => $value) {
$builder->andWhere("${key} = " . $builder->createNamedParameter($value));
@@ -301,8 +302,9 @@ class ItemMapperV2 extends NewsMapperV2
$builder->select('items.*')
->from($this->tableName, 'items')
->innerJoin('items', FeedMapperV2::TABLE_NAME, 'feeds', 'items.feed_id = feeds.id')
- ->where('feeds.user_id = :userId')
+ ->where('(feeds.user_id = :userId AND items.shared_by = \'\') OR items.shared_with = :sharedWith')
->setParameter('userId', $userId)
+ ->setParameter('sharedWith', $userId)
->orderBy('items.last_modified', 'DESC')
->addOrderBy('items.id', 'DESC')
->setMaxResults(1);