From 3958739d605baaabc78dd7c4ca97e23678c028a3 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Tue, 21 Feb 2023 13:53:16 -0500 Subject: [PATCH 1/2] Add to Mastodon Status/Context filter for ignored and blocked user's comments --- src/Module/Api/Mastodon/Statuses/Context.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Module/Api/Mastodon/Statuses/Context.php b/src/Module/Api/Mastodon/Statuses/Context.php index 76677de4ad..f15f71744c 100644 --- a/src/Module/Api/Mastodon/Statuses/Context.php +++ b/src/Module/Api/Mastodon/Statuses/Context.php @@ -73,6 +73,13 @@ class Context extends BaseApi $condition = DBA::mergeConditions($condition, ["`uri-id` > ?", $request['min_id']]); $params['order'] = ['uri-id']; } + + if (!empty($uid)) { + $condition = DBA::mergeConditions( + $condition, + ["NOT `author-id` IN (SELECT `cid` FROM `user-contact` WHERE `uid` = ? AND (`blocked` OR `ignored`))", $uid] + ); + } $posts = Post::selectPosts(['uri-id', 'thr-parent-id'], $condition, $params); while ($post = Post::fetch($posts)) { From b06a3e877e9b542fa911d5da5cb4ad80b9ca8020 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Wed, 22 Feb 2023 11:45:42 -0500 Subject: [PATCH 2/2] Add show_all option to Mastodon status context to show ignored and blocked statuses --- src/Module/Api/Mastodon/Statuses/Context.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Module/Api/Mastodon/Statuses/Context.php b/src/Module/Api/Mastodon/Statuses/Context.php index f15f71744c..f683b01751 100644 --- a/src/Module/Api/Mastodon/Statuses/Context.php +++ b/src/Module/Api/Mastodon/Statuses/Context.php @@ -45,10 +45,11 @@ class Context extends BaseApi } $request = $this->getRequest([ - 'max_id' => 0, // Return results older than this id - 'since_id' => 0, // Return results newer than this id - 'min_id' => 0, // Return results immediately newer than this id - 'limit' => 40, // Maximum number of results to return. Defaults to 40. + 'max_id' => 0, // Return results older than this id + 'since_id' => 0, // Return results newer than this id + 'min_id' => 0, // Return results immediately newer than this id + 'limit' => 40, // Maximum number of results to return. Defaults to 40. + 'show_all' => false, // shows posts for all users including blocked and ignored users ], $request); $id = $this->parameters['id']; @@ -74,7 +75,7 @@ class Context extends BaseApi $params['order'] = ['uri-id']; } - if (!empty($uid)) { + if (!empty($uid) && !$request['show_all']) { $condition = DBA::mergeConditions( $condition, ["NOT `author-id` IN (SELECT `cid` FROM `user-contact` WHERE `uid` = ? AND (`blocked` OR `ignored`))", $uid]