getAuthInfo(); if(!$authInfo->getPerms('global')->check(Perm::G_FORUM_TOPIC_REDIRS_MANAGE)) Template::throwError(403); $forum = $msz->getForum(); 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]); $forum->createTopicRedirect($rTopicId, $authInfo->getUserInfo(), $rTopicURL); url_redirect('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]); $forum->deleteTopicRedirect($rTopicId); url_redirect('manage-forum-topic-redirs'); return; } $pagination = new Pagination($forum->countTopicRedirects(), 20); if(!$pagination->hasValidOffset()) Template::throwError(404); $redirs = $forum->getTopicRedirects(pagination: $pagination); Template::render('manage.forum.redirs', [ 'manage_redirs' => $redirs, 'manage_redirs_pagination' => $pagination, ]);