enforce_login();
$TorrentID = intval($_POST['torrentid']);
$FileCount = count($_FILES['logfiles']['name']);
$LogScore = 100;
$LogChecksum = 1;
$DB->query("
SELECT t.ID, t.GroupID
FROM torrents t
WHERE t.ID = {$TorrentID} AND t.HasLog='1' AND t.UserID = " . $LoggedUser['ID']);
$DetailsArray = array();
if ($TorrentID != 0 && $DB->has_results() && $FileCount > 0) {
list($TorrentID, $GroupID) = $DB->next_record(MYSQLI_BOTH);
$DB->query("DELETE FROM torrents_logs WHERE TorrentID='{$TorrentID}'");
ini_set('upload_max_filesize', 1000000);
foreach ($_FILES['logfiles']['name'] as $Pos => $File) {
if (!$_FILES['logfiles']['size'][$Pos]) {
break;
}
$FileName = $_FILES['logfiles']['tmp_name'][$Pos];
$LogFile = file_get_contents($_FILES['logfiles']['tmp_name'][$Pos]);
//detect & transcode unicode
if (Logchecker::detect_utf_bom_encoding($LogFile)) {
$LogFile = iconv("unicode", "UTF-8", $LogFile);
}
$Log = new Logchecker();
$Log->new_file($LogFile, $FileName);
list($Score, $Details, $Checksum, $LogText) = $Log->parse();
$Details = trim(implode("\r\n", $Details));
$DetailsArray[] = $Details;
$LogScore = min($LogScore, $Score);
$LogChecksum = min(intval($Checksum), $LogChecksum);
$Logs[] = array($Details, $LogText);
$DB->query("INSERT INTO torrents_logs (TorrentID, Log, Details, Score, `Checksum`, `FileName`) VALUES ($TorrentID, '".db_string($LogText)."', '".db_string($Details)."', $Score, '".enum_boolean($Checksum)."', '".db_string($File)."')");
}
$DB->query("UPDATE torrents SET HasLogDB='1', LogScore={$LogScore}, LogChecksum='".enum_boolean($LogChecksum)."' WHERE ID='{$TorrentID}'");
$Cache->delete_value("torrent_group_{$GroupID}");
$Cache->delete_value("torrents_details_{$GroupID}");
} else {
error('No log file uploaded or no torrent is selected.');
}
View::show_header();
echo <<
Upload another log file
Score: $LogScore (out of 100)"; if ($LogChecksum === 0) { echo << Trumpable For:
{$Text}