authInfo->getPerms('global')->check(Perm::G_FORUM_TOPIC_REDIRS_MANAGE)) Template::throwError(403); if($_SERVER['REQUEST_METHOD'] === 'POST') { if(!CSRF::validateRequest()) throw new \Exception("Request verification failed."); $rTopicId = (string)filter_input(INPUT_POST, 'topic_redir_id'); $rTopicURL = trim((string)filter_input(INPUT_POST, 'topic_redir_url')); $msz->createAuditLog('FORUM_TOPIC_REDIR_CREATE', [$rTopicId]); $msz->forumCtx->topicRedirects->createTopicRedirect($rTopicId, $msz->authInfo->userInfo, $rTopicURL); Tools::redirect($msz->urls->format('manage-forum-topic-redirs')); return; } if(filter_input(INPUT_GET, 'm') === 'explode') { if(!CSRF::validateRequest()) throw new \Exception("Request verification failed."); $rTopicId = (string)filter_input(INPUT_GET, 't'); $msz->createAuditLog('FORUM_TOPIC_REDIR_REMOVE', [$rTopicId]); $msz->forumCtx->topicRedirects->deleteTopicRedirect($rTopicId); Tools::redirect($msz->urls->format('manage-forum-topic-redirs')); return; } $pagination = Pagination::fromInput($msz->forumCtx->topicRedirects->countTopicRedirects(), 20); if(!$pagination->validOffset) Template::throwError(404); $redirs = $msz->forumCtx->topicRedirects->getTopicRedirects(pagination: $pagination); Template::render('manage.forum.redirs', [ 'manage_redirs' => $redirs, 'manage_redirs_pagination' => $pagination, ]);