header('Location: /forum/topic/' . $TopicID); } else { header('Location: ' . $_SERVER['HTTP_REFERER']); } } else { Page::GenerateErrorPage($Smarty, 404); } } } } else { Page::GenerateErrorPage($Smarty, 404); } } else { if (Text::Match($_REQUEST['subcategory'], 'topic')) { if (Text::IsNull($_REQUEST['datatype'])) { $TopicData = Forums::GetTopicData($_REQUEST['lastcategory']); Forums::UpdateTopicViews($TopicData['category']['id'], $TopicData['topic']['id']); $Smarty->assign('CSRFToken', Session::GenerateCSRFToken()); $Smarty->assign('TopicData', $TopicData); $Smarty->assign('Page', Page::Info('forum', array('bodycss' => 'forums view-topic logged-in', 'pagetitle' => $TopicData['topic']['name'] . ' - '))); $Smarty->display('pages/forums_view_topic'); } else { switch ($_REQUEST['datatype']) { case 'post': if (Session::ValidateCSRFToken($_REQUEST['csrftoken'])) { Text::Request(); } break; case 'up': Text::Request(); break;