diff options
| author | winter | 2025-01-23 18:55:52 +0000 |
|---|---|---|
| committer | winter | 2025-01-23 18:55:58 +0000 |
| commit | bc9c83b6c33d460a574fbeb764c23bfbe941b4c0 (patch) | |
| tree | 5d9e816b56feea462d15e391544b0b13eeb47c8d /Digitigrade/Timeline/HomeTimeline.php | |
| parent | ddccaf16f39a4bf710266edc389fcde124e7ef56 (diff) | |
implement blocking users
it doesn't work yet for notifications! but i think i got it in most other places
Diffstat (limited to 'Digitigrade/Timeline/HomeTimeline.php')
| -rw-r--r-- | Digitigrade/Timeline/HomeTimeline.php | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Digitigrade/Timeline/HomeTimeline.php b/Digitigrade/Timeline/HomeTimeline.php index 0867541..9f420e5 100644 --- a/Digitigrade/Timeline/HomeTimeline.php +++ b/Digitigrade/Timeline/HomeTimeline.php @@ -1,6 +1,7 @@ <?php namespace Digitigrade\Timeline; +use Digitigrade\Model\Note; use Digitigrade\Model\UserAccount; use Digitigrade\Model\HomeTimelineItem; @@ -19,9 +20,13 @@ class HomeTimeline extends Timeline { } public function getItemsSince(\DateTimeInterface $when, ?int $limit = null, int $offset = 0): array { - return array_map( - fn(HomeTimelineItem $hti) => $hti->toTimelineItem(), - HomeTimelineItem::findAllForUser($this->user, $limit, $offset, $when) + return array_filter( + array_map( + fn(HomeTimelineItem $hti) => $hti->toTimelineItem(), + HomeTimelineItem::findAllForUser($this->user, $limit, $offset, $when) + ), + // filter out notes from blocked users + fn(TimelineItem $item) => !($item instanceof Note && $this->user->actor->block($item->author)) ); } }
\ No newline at end of file |
