]> git.mxchange.org Git - friendica.git/commitdiff
Issue 10287: Make block and ignore work for the API as well
authorMichael <heluecht@pirati.ca>
Sun, 23 May 2021 08:56:24 +0000 (08:56 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 23 May 2021 08:56:24 +0000 (08:56 +0000)
src/Module/Api/Mastodon/Timelines/PublicTimeline.php

index 87d0dc1d96ce952fdd44ce20f65d2496e27c4b4e..113a5cac2e6ab95fec20ea0d4eb7c2631369e542 100644 (file)
@@ -41,6 +41,8 @@ class PublicTimeline extends BaseApi
         */
        public static function rawContent(array $parameters = [])
        {
+               $uid = self::getCurrentUserID();
+
                $request = self::getRequest([
                        'local'           => false, // Show only local statuses? Defaults to false.
                        'remote'          => false, // Show only remote statuses? Defaults to false.
@@ -88,7 +90,12 @@ class PublicTimeline extends BaseApi
                        $condition = DBA::mergeConditions($condition, ['gravity' => GRAVITY_PARENT]);
                }
 
-               $items = Post::selectForUser(0, ['uri-id', 'uid'], $condition, $params);
+               if (!empty($uid)) {
+                       $condition = DBA::mergeConditions($condition,
+                               ["NOT EXISTS (SELECT `cid` FROM `user-contact` WHERE `uid` = ? AND `cid` = `parent-author-id` AND (`blocked` OR `ignored`))", $uid]);
+               }
+
+               $items = Post::selectForUser($uid, ['uri-id', 'uid'], $condition, $params);
 
                $statuses = [];
                while ($item = Post::fetch($items)) {