getAuthInfo(); if(!$authInfo->getPerms('user')->check(Perm::U_WARNINGS_MANAGE)) Template::throwError(403); $urls = $msz->getURLs(); $usersCtx = $msz->getUsersContext(); $users = $usersCtx->getUsers(); $warns = $usersCtx->getWarnings(); if($_SERVER['REQUEST_METHOD'] === 'GET' && filter_has_var(INPUT_GET, 'delete')) { if(!CSRF::validateRequest()) Template::throwError(403); try { $warnInfo = $warns->getWarning((string)filter_input(INPUT_GET, 'w')); } catch(RuntimeException $ex) { Template::throwError(404); } $warns->deleteWarnings($warnInfo); $msz->createAuditLog('WARN_DELETE', [$warnInfo->getId(), $warnInfo->getUserId()]); Tools::redirect($urls->format('manage-users-warnings', ['user' => $warnInfo->getUserId()])); return; } try { $userInfo = $users->getUser(filter_input(INPUT_GET, 'u', FILTER_SANITIZE_NUMBER_INT), 'id'); } catch(RuntimeException $ex) { Template::throwError(404); } $modInfo = $authInfo->getUserInfo(); while($_SERVER['REQUEST_METHOD'] === 'POST' && CSRF::validateRequest()) { $body = trim((string)filter_input(INPUT_POST, 'uw_body')); Template::set('warn_value_body', $body); $warnInfo = $warns->createWarning( $userInfo, $body, modInfo: $modInfo ); $msz->createAuditLog('WARN_CREATE', [$warnInfo->getId(), $userInfo->getId()]); Tools::redirect($urls->format('manage-users-warnings', ['user' => $userInfo->getId()])); return; } Template::render('manage.users.warning', [ 'warn_user' => $userInfo, ]);