diff options
| author | winter | 2025-01-17 17:16:53 +0000 |
|---|---|---|
| committer | winter | 2025-01-17 17:16:53 +0000 |
| commit | 3bd6cf6cd2eda9aa95c734df58af11bbae57ce04 (patch) | |
| tree | 2416a76d5e441196d54df638b84b0be557e03d75 /Digitigrade | |
| parent | db52d0961e695a22ad7bbbfbb6e92187d466f8b6 (diff) | |
don't leak private notes on actor profile page
Diffstat (limited to 'Digitigrade')
| -rw-r--r-- | Digitigrade/Model/Note.php | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Digitigrade/Model/Note.php b/Digitigrade/Model/Note.php index 64a2168..f6f492d 100644 --- a/Digitigrade/Model/Note.php +++ b/Digitigrade/Model/Note.php @@ -164,6 +164,16 @@ class Note extends PushableModel implements TimelineIncludeable { return array_unique(array_filter($instances, fn(?Instance $i) => $i != null)); } + public function isViewableBy(?UserAccount $viewer): bool { + if ($this->privacy->scope == NotePrivacyScope::PUBLIC ) { + return true; + } + if ($viewer == null) { + return false; + } + return in_array($viewer->actor, $this->getRelevantActors()); + } + /** * Gets this note's formatted content in the given mimetype or null if there isn't one * @param string $mimetype content type to return |
