diff options
author | Marco Nassabain <marco.nassabain@hotmail.com> | 2021-01-28 17:24:15 +0100 |
---|---|---|
committer | Sean Molenaar <SMillerDev@users.noreply.github.com> | 2021-04-08 22:31:21 +0200 |
commit | b27226d4ae011a130f07433683606e139424a201 (patch) | |
tree | 82a2f9497b3e01a0d032400d6c3db61c1169405d | |
parent | e78153c051b7f62a657ade7129dcca2d0cbe9f3d (diff) |
🚑 Fix bug - other user feeds show for shared item
- findAllFeeds doesn't return feeds of shared articles
- Disable feed cache handling for shared items
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
-rw-r--r-- | js/controller/ContentController.js | 14 | ||||
-rw-r--r-- | lib/Db/FeedMapper.php | 6 |
2 files changed, 12 insertions, 8 deletions
diff --git a/js/controller/ContentController.js b/js/controller/ContentController.js index c87362557..97520f72c 100644 --- a/js/controller/ContentController.js +++ b/js/controller/ContentController.js @@ -89,7 +89,9 @@ app.controller('ContentController', function (Publisher, FeedResource, ItemResou if (!item.keepUnread && item.unread === true) { ItemResource.markItemRead(itemId); - FeedResource.markItemOfFeedRead(item.feedId); + if (item.isShared === false) { + FeedResource.markItemOfFeedRead(item.feedId); + } } }; @@ -100,8 +102,10 @@ app.controller('ContentController', function (Publisher, FeedResource, ItemResou this.toggleKeepUnread = function (itemId) { var item = ItemResource.get(itemId); if (!item.unread) { - FeedResource.markItemOfFeedUnread(item.feedId); ItemResource.markItemRead(itemId, false); + if (item.isShared === false) { + FeedResource.markItemOfFeedUnread(item.feedId); + } } item.keepUnread = !item.keepUnread; @@ -136,8 +140,10 @@ app.controller('ContentController', function (Publisher, FeedResource, ItemResou itemIds.forEach(function (itemId) { var item = ItemResource.get(itemId); if (!item.keepUnread) { - ids.push(itemId); - feedIds.push(item.feedId); + if (item.isShared === false) { + ids.push(itemId); + feedIds.push(item.feedId); + } } }); diff --git a/lib/Db/FeedMapper.php b/lib/Db/FeedMapper.php index 45901b8d0..917e282c4 100644 --- a/lib/Db/FeedMapper.php +++ b/lib/Db/FeedMapper.php @@ -76,9 +76,7 @@ class FeedMapper extends NewsMapper // POSSIBLE SQL INJECTION RISK WHEN MODIFIED WITHOUT THOUGHT. // think twice when changing this 'AND `items`.`unread` = ? ' . - 'WHERE (`feeds`.`user_id` = ? OR `feeds`.`id` IN (' . - 'SELECT `feed_id` FROM `*PREFIX*news_items` WHERE `shared_with` = ?)' . - ') ' . + 'WHERE `feeds`.`user_id` = ? ' . 'AND (`feeds`.`folder_id` IS NULL ' . 'OR `folders`.`deleted_at` = 0 ' . ') ' . @@ -86,7 +84,7 @@ class FeedMapper extends NewsMapper 'GROUP BY `feeds`.`id` ' . ') `item_numbers` ' . 'ON `item_numbers`.`id` = `feeds`.`id` '; - $params = [true, $userId, $userId]; + $params = [true, $userId]; return $this->findEntities($sql, $params); } |