query("SELECT Type FROM reports WHERE ID = ".$ReportID); list($Type) = $DB->next_record(); if (!check_perms('admin_reports')) { if (check_perms('site_moderate_forums')) { if (!in_array($Type, array('collages_comment', 'post', 'requests_comment', 'thread', 'torrents_comment'))) { error($Type); } } elseif (check_perms('project_team')) { if ($Type != 'request_update') { error(403); } } } $DB->query("UPDATE reports SET Status='Resolved', ResolvedTime='".sqltime()."', ResolverID='".$LoggedUser['ID']."' WHERE ID='".db_string($ReportID)."'"); $Channels = array(); if ($Type == 'request_update') { $Channels[] = '#requestedits'; $Cache->decrement('num_update_reports'); } if (in_array($Type, array('collages_comment', 'post', 'requests_comment', 'thread', 'torrents_comment'))) { $Channels[] = '#forumreports'; $Cache->decrement('num_forum_reports'); } $DB->query("SELECT COUNT(ID) FROM reports WHERE Status = 'New'"); list($Remaining) = $DB->next_record(); foreach ($Channels as $Channel) { send_irc("PRIVMSG ".$Channel." :Report ".$ReportID." resolved by ".preg_replace("/^(.{2})/", "$1ยท", $LoggedUser['Username'])." on site (".(int)$Remaining." remaining)."); } $Cache->delete_value('num_other_reports'); header('Location: reports.php'); ?>