0) { $postInfo = forum_post_find($postId); if ($postInfo) { $topicId = (int)$postInfo['target_topic_id']; $postsOffset = floor($postInfo['preceeding_post_count'] / $postsRange) * $postsRange; } } $topic = forum_topic_fetch($topicId); if (!$topic) { echo render_error(404); return; } $perms = forum_perms_get_user(MSZ_FORUM_PERMS_GENERAL, $topic['forum_id'], $app->getUserId()); if (!perms_check($perms, MSZ_FORUM_PERM_VIEW_FORUM)) { echo render_error(403); return; } $posts = forum_post_listing($topic['topic_id'], $postsOffset, $postsRange); if (!$posts) { echo render_error(404); return; } forum_topic_mark_read($app->getUserId(), $topic['topic_id'], $topic['forum_id']); echo tpl_render('forum.topic', [ 'topic_breadcrumbs' => forum_get_breadcrumbs($topic['forum_id']), 'topic_info' => $topic, 'topic_posts' => $posts, 'topic_offset' => $postsOffset, 'topic_range' => $postsRange, ]);