prepared_query(" SELECT `Username` FROM `users_main` WHERE `ID` = $ID"); list($Username) = $DB->next_record(); if ($Username) { $Title = "$Username's in-progress reports"; } else { $Title = "$ID's in-progress reports"; } $Where = " WHERE r.`Status` = 'InProgress' AND r.`ResolverID` = $ID"; break; case 'resolver': $DB->prepared_query(" SELECT `Username` FROM `users_main` WHERE `ID` = $ID"); list($Username) = $DB->next_record(); if ($Username) { $Title = "$Username's resolved reports"; } else { $Title = "$ID's resolved reports"; } $Where = " WHERE r.`Status` = 'Resolved' AND r.`ResolverID` = $ID"; $Order = 'ORDER BY r.`LastChangeTime` DESC'; break; case 'group': $Title = "Unresolved reports for the group $ID"; $Where = " WHERE r.`Status` != 'Resolved' AND tg.`id` = $ID"; break; case 'torrent': $Title = "All reports for the torrent $ID"; $Where = "WHERE r.`TorrentID` = $ID"; break; case 'report': $Title = "Viewing resolution of report $ID"; $Where = "WHERE r.`ID` = $ID"; break; case 'reporter': $DB->prepared_query(" SELECT `Username` FROM `users_main` WHERE `ID` = $ID"); list($Username) = $DB->next_record(); if ($Username) { $Title = "All torrents reported by $Username"; } else { $Title = "All torrents reported by user $ID"; } $Where = "WHERE r.`ReporterID` = $ID"; $Order = 'ORDER BY r.`ReportedTime` DESC'; break; case 'uploader': $DB->prepared_query(" SELECT `Username` FROM `users_main` WHERE `ID` = $ID"); list($Username) = $DB->next_record(); if ($Username) { $Title = "All reports for torrents uploaded by $Username"; } else { $Title = "All reports for torrents uploaded by user $ID"; } $Where = " WHERE r.`Status` != 'Resolved' AND t.`UserID` = $ID"; break; case 'type': $Title = 'All new reports for the chosen type'; $Where = " WHERE r.`Status` = 'New' AND r.`Type` = '$ID'"; break; default: error(404); break; } } /** * The large query */ $DB->prepared_query(" SELECT SQL_CALC_FOUND_ROWS r.`ID`, r.`ReporterID`, reporter.`Username`, r.`TorrentID`, r.`Type`, r.`UserComment`, r.`ResolverID`, resolver.`Username`, r.`Status`, r.`ReportedTime`, r.`LastChangeTime`, r.`ModComment`, r.`Track`, r.`Image`, r.`ExtraID`, r.`Link`, r.`LogMessage`, COALESCE(NULLIF(tg.`title`, ''), NULLIF(tg.`subject`, ''), tg.`object`) AS Name, tg.`id`, CASE COUNT(ta.`GroupID`) WHEN 1 THEN ag.`ArtistID` ELSE '0' END AS `ArtistID`, CASE COUNT(ta.`GroupID`) WHEN 1 THEN ag.`Name` WHEN 0 THEN '' ELSE 'Various Artists' END AS ArtistName, tg.`year`, tg.`category_id`, t.`Time`, t.`Media`, t.`Size`, t.`UserID` AS UploaderID, uploader.`Username` FROM `reportsv2` AS r LEFT JOIN `torrents` AS t ON t.`ID` = r.`TorrentID` LEFT JOIN `torrents_group` AS tg ON tg.`id` = t.`GroupID` LEFT JOIN `torrents_artists` AS ta ON ta.`GroupID` = tg.`id` LEFT JOIN `artists_group` AS ag ON ag.`ArtistID` = ta.`ArtistID` LEFT JOIN `users_main` AS resolver ON resolver.`ID` = r.`ResolverID` LEFT JOIN `users_main` AS reporter ON reporter.`ID` = r.`ReporterID` LEFT JOIN `users_main` AS uploader ON uploader.`ID` = t.`UserID` $Where GROUP BY r.`ID` $Order LIMIT $Limit"); $Reports = $DB->to_array(); $DB->prepared_query('SELECT FOUND_ROWS()'); list($Results) = $DB->next_record(); $PageLinks = Format::get_pages($Page, $Results, REPORTS_PER_PAGE, 11); View::show_header('Reports V2!', 'reportsv2'); ?>