Main::getEmotes(), 'bbcodes' => Main::getBBcodes(), ]; // Check if we're in reply mode if ($mode != 'f') { // Attempt to get the topic $topic = Forum::getTopic($topicId, true); // Prompt an error if the topic doesn't exist if(!$topic) { // Add page specific things $renderData['page'] = [ 'redirect' => (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $urls->format('FORUM_INDEX')), 'message' => 'The requested thread does not exist.', ]; // Render information page print Templates::render('global/information.tpl', $renderData); exit; } // Check if we're in quote mode if ($mode == 'p' && isset($_GET['quote']) && $_GET['quote'] == $_GET['p'] && array_key_exists($_GET['p'], $topic['posts'])) { // Reassign post for ease $post = $topic['posts'][$_GET['p']]; // Add subject to render data $posting['text'] = '[quote]' . $post['post_text'] . '[/quote]'; } // Add subject to render data $posting['subject'] = 'Re: '. $topic['topic']['topic_title']; } // Check if a post is being made if (isset($_POST['post'])) { // Set post mode switch($_POST['parseMode']) { // BBcode case '1': $parse = '1'; break; // Markdown case '2': $parse = '2'; break; // Raw default: $parse = '0'; } // Attempt to make the post $makePost = Forum::createPost($currentUser->data['user_id'], $_POST['subject'], $_POST['text'], $forumId, $topicId, $parse); // Add page specific things $renderData['page'] = [ 'redirect' => $urls->format('FORUM_THREAD', [$makePost[3]]), 'message' => 'Made the post!', 'success' => $makePost[0], ]; // Print page contents or if the AJAX request is set only display the render data print isset($_REQUEST['ajax']) ? ( $renderData['page']['message'] . '|' . $renderData['page']['success'] . '|' . $renderData['page']['redirect'] ) : Templates::render('global/information.tpl', $renderData); exit; } // Set additional render data $renderData = array_merge($renderData, [ 'posting' => $posting, ]); print Templates::render('forum/posting.tpl', $renderData);