id = $postId; if (!$db->fetch($item) || $item->deleted) { http_response_code(404); msg_error(__("No post exists with this id")); exit; } $topicAuthor = new User(); $topicAuthor->id = $item->authorId; if (!$db->fetch($topicAuthor)) $topicAuthor = null; $canEdit = ($currentUser->id === $topicAuthor?->id && $topicAuthor?->hasPermission(UserPermissions::EDIT_OWN_POST)) || ($currentUser->hasPermission(UserPermissions::EDIT_OTHER_POST)); $topic = new Topic(); $topic->id = $item->topicId; if (!$db->fetch($topic)) $topic = null; if ($topic->isLocked) { http_response_code(403); msg_error(__("This topic has been locked")); exit; } if (!$canEdit) { http_response_code(403); msg_error(__("You don't have permission to edit this post")); exit; } render("edit_post.twig", [ "post" => $item, "topicAuthor" => $topicAuthor, "topic" => $topic, ]);