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
HTML; if($LogScore == 100) { $Color = '#418B00'; } elseif($LogScore > 90) { $Color = '#74C42E'; } elseif($LogScore > 75) { $Color = '#FFAA00'; } elseif($LogScore > 50) { $Color = '#FF5E00'; } else { $Color = '#FF0000'; } echo "
Score: $LogScore (out of 100)
"; if ($LogChecksum === 0) { echo << Trumpable For:

Bad/No Checksum(s) HTML; } foreach ($Logs as $Log) { list($Details, $Text) = $Log; if (!empty($Details)) { $Details = explode("\r\n", $Details); print <<

Log validation report:

HTML; } View::show_footer();