aboutsummaryrefslogtreecommitdiffhomepage
path: root/routes/note.php
diff options
context:
space:
mode:
Diffstat (limited to 'routes/note.php')
-rw-r--r--routes/note.php4
1 files changed, 4 insertions, 0 deletions
diff --git a/routes/note.php b/routes/note.php
index 90009d2..2612f0f 100644
--- a/routes/note.php
+++ b/routes/note.php
@@ -2,21 +2,25 @@
use Digitigrade\HttpResponseStatus\Forbidden;
use Digitigrade\HttpResponseStatus\NotFound;
+use Digitigrade\HttpResponseStatus\PolicyRejected;
use Digitigrade\HttpResponseStatus\TemporaryRedirect;
use Digitigrade\Model\Instance;
use Digitigrade\Model\Note;
use Digitigrade\Model\NotePrivacyScope;
use Digitigrade\Model\UserAccount;
+use Digitigrade\PolicyManager;
use Digitigrade\Router;
Router::getInstance()->mount('/note/:id', function (array $args) {
$note = Note::find($args['id']);
+ $instance = Instance::findByRequestHeaders();
if ($note == null || $note->deleted) {
throw new NotFound("i don't know that note");
}
if (!$note->author->isLocal) {
throw new NotFound("i don't want to tell you about non local notes sorry");
}
+ PolicyManager::getInstance()->checkFederationOrThrow($note, $instance);
if (isset($_SERVER['HTTP_ACCEPT']) && str_contains($_SERVER['HTTP_ACCEPT'], 'text/html')) {
throw new TemporaryRedirect('/@/' . $note->author->handle . "/note/$note->id");
}