$WikiBody = $Text->full_format($WikiBody); $Artists = Artists::get_artist($GroupID); if ($Artists) { $DisplayName = ''.Artists::display_artists($Artists, true).$DisplayName.''; $AltName = display_str(Artists::display_artists($Artists, false)).$AltName; $Title = $AltName; } if ($GroupYear > 0) { $DisplayName.= " [$GroupYear]"; $AltName.= " [$GroupYear]"; $Title.= " [$GroupYear]"; } if ($GroupVanityHouse) { $DisplayName.=' [Vanity House]'; $AltName.=' [Vanity House]'; } if ($GroupCategoryID == 1) { $DisplayName.=' ['.$ReleaseTypes[$ReleaseType].']'; $AltName.=' ['.$ReleaseTypes[$ReleaseType].']'; } $Tags = array(); if ($TorrentTags != '') { $TorrentTags = explode('|',$TorrentTags); $TorrentTagIDs = explode('|',$TorrentTagIDs); $TorrentTagUserIDs = explode('|',$TorrentTagUserIDs); $TagPositiveVotes = explode('|',$TagPositiveVotes); $TagNegativeVotes = explode('|',$TagNegativeVotes); foreach ($TorrentTags as $TagKey => $TagName) { $Tags[$TagKey]['name'] = $TagName; $Tags[$TagKey]['score'] = ($TagPositiveVotes[$TagKey] - $TagNegativeVotes[$TagKey]); $Tags[$TagKey]['id'] = $TorrentTagIDs[$TagKey]; $Tags[$TagKey]['userid'] = $TorrentTagUserIDs[$TagKey]; } uasort($Tags, 'compare'); } /*if (check_perms('site_debug')) { print_r($TorrentTags); print_r($Tags); print_r($TorrentTagUserIDs); die(); }*/ $CoverArt = $Cache->get_value('torrents_cover_art_' . $GroupID); if (!$CoverArt) { $DB->query(" SELECT ID, Image, Summary, UserID, Time FROM cover_art WHERE GroupID = '$GroupID' ORDER BY Time ASC"); $CoverArt = array(); $CoverArt = $DB->to_array(); if ($DB->record_count() > 0) { $Cache->cache_value('torrents_cover_art_' . $GroupID, $CoverArt, 0); } } // Start output View::show_header($Title,'browse,comments,torrent,bbcode,recommend,cover_art'); ?>

"; } $LastRemasterYear = '-'; $LastRemasterTitle = ''; $LastRemasterRecordLabel = ''; $LastRemasterCatalogueNumber = ''; $EditionID = 0; foreach ($TorrentList as $Torrent) { //t.ID, t.Media, t.Format, t.Encoding, t.Remastered, t.RemasterYear, //t.RemasterTitle, t.RemasterRecordLabel, t.RemasterCatalogueNumber, t.Scene, //t.HasLog, t.HasCue, t.LogScore, t.FileCount, t.Size, t.Seeders, t.Leechers, //t.Snatched, t.FreeTorrent, t.Time, t.Description, t.FileList, //t.FilePath, t.UserID, t.last_action, HEX(t.info_hash), (bad tags), (bad folders), (bad filenames), //(cassette approved), (lossy master approved), (lossy web approved), t.LastReseedRequest, //LogInDB, (has file), Torrents::torrent_properties() list($TorrentID, $Media, $Format, $Encoding, $Remastered, $RemasterYear, $RemasterTitle, $RemasterRecordLabel, $RemasterCatalogueNumber, $Scene, $HasLog, $HasCue, $LogScore, $FileCount, $Size, $Seeders, $Leechers, $Snatched, $FreeTorrent, $TorrentTime, $Description, $FileList, $FilePath, $UserID, $LastActive, $InfoHash, $BadTags, $BadFolders, $BadFiles, $CassetteApproved, $LossymasterApproved, $LossywebApproved, $LastReseedRequest, $LogInDB, $HasFile, $PersonalFL, $IsSnatched) = array_values($Torrent); if ($Remastered && !$RemasterYear) { $FirstUnknown = !isset($FirstUnknown); } $Reported = false; unset($ReportedTimes); $Reports = $Cache->get_value('reports_torrent_'.$TorrentID); if ($Reports === false) { $DB->query("SELECT r.ID, r.ReporterID, r.Type, r.UserComment, r.ReportedTime FROM reportsv2 AS r WHERE TorrentID = $TorrentID AND Type != 'edited' AND Status != 'Resolved'"); $Reports = $DB->to_array(); $Cache->cache_value('reports_torrent_'.$TorrentID, $Reports, 0); } if (count($Reports) > 0) { $Reported = true; include(SERVER_ROOT.'/sections/reportsv2/array.php'); $ReportInfo = '
Torrents Size Snatches Seeders Leechers
".Format::get_size($Str[1])."
'; foreach ($Reports as $Report) { list($ReportID, $ReporterID, $ReportType, $ReportReason, $ReportedTime) = $Report; $Reporter = Users::user_info($ReporterID); $ReporterName = $Reporter['Username']; if (array_key_exists($ReportType, $Types[$GroupCategoryID])) { $ReportType = $Types[$GroupCategoryID][$ReportType]; } elseif (array_key_exists($ReportType,$Types['master'])) { $ReportType = $Types['master'][$ReportType]; } else { //There was a type but it wasn't an option! $ReportType = $Types['master']['other']; } $ReportInfo .= ""; } $ReportInfo .= "
This torrent has '.count($Reports).' active '.(count($Reports) > 1 ? "reports" : "report").':
".(check_perms('admin_reports') ? "$ReporterName reported it " : 'Someone reported it ') . time_diff($ReportedTime, 2, true, true) . ' for the reason "' . $ReportType['title'] . '":'; $ReportInfo .= "
".$Text->full_format($ReportReason)."
"; } $CanEdit = (check_perms('torrents_edit') || (($UserID == $LoggedUser['ID'] && !$LoggedUser['DisableWiki']) && !($Remastered && !$RemasterYear))); $RegenLink = check_perms('users_mod') ? ' Regenerate' : ''; $FileTable = ' '; if (substr($FileList, -3) == '}}}') { // Old style $FileListSplit = explode('|||', $FileList); foreach ($FileListSplit as $File) { $NameEnd = strrpos($File, '{{{'); $Name = substr($File, 0, $NameEnd); if ($Spaces = strspn($Name, ' ')) { $Name = str_replace(' ', ' ', substr($Name, 0, $Spaces)) . substr($Name, $Spaces); } $FileSize = substr($File, $NameEnd + 3, -3); $FileTable .= sprintf("\n", $Name, Format::get_size($FileSize)); } } else { $FileListSplit = explode("\n", $FileList); foreach ($FileListSplit as $File) { $FileInfo = Torrents::filelist_get_file($File); $FileTable .= sprintf("\n", $FileInfo['name'], Format::get_size($FileInfo['size'])); } } $FileTable .= '
File Name' . $RegenLink . '
' . ($FilePath ? "/$FilePath/" : '') . '
Size
%s%s
%s%s
'; $ExtraInfo = ''; // String that contains information on the torrent (e.g. format and encoding) $AddExtra = ''; // Separator between torrent properties $TorrentUploader = $Username; // Save this for "Uploaded by:" below // similar to Torrents::torrent_info() if ($Format) { $ExtraInfo.=display_str($Format); $AddExtra=' / '; } if ($Encoding) { $ExtraInfo.=$AddExtra.display_str($Encoding); $AddExtra=' / '; } if ($HasLog) { $ExtraInfo.=$AddExtra.'Log'; $AddExtra=' / '; } if ($HasLog && $LogInDB) { $ExtraInfo.=' ('.(int) $LogScore.'%)'; } if ($HasCue) { $ExtraInfo.=$AddExtra.'Cue'; $AddExtra=' / '; } if ($Scene) { $ExtraInfo.=$AddExtra.'Scene'; $AddExtra=' / '; } if (!$ExtraInfo) { $ExtraInfo = $GroupName ; $AddExtra=' / '; } if ($IsSnatched) { $ExtraInfo.=$AddExtra. Format::torrent_label('Snatched!'); $AddExtra=' / '; } if ($FreeTorrent == '1') { $ExtraInfo.=$AddExtra. Format::torrent_label('Freeleech!'); $AddExtra=' / '; } if ($FreeTorrent == '2') { $ExtraInfo.=$AddExtra. Format::torrent_label('Neutral Leech!'); $AddExtra=' / '; } if ($PersonalFL) { $ExtraInfo.=$AddExtra. Format::torrent_label('Personal Freeleech!'); $AddExtra=' / '; } if ($Reported) { $ExtraInfo.=$AddExtra. Format::torrent_label('Reported'); $AddExtra=' / '; } if (!empty($BadTags)) { $ExtraInfo.=$AddExtra. Format::torrent_label('Bad Tags'); $AddExtra=' / '; } if (!empty($BadFolders)) { $ExtraInfo.=$AddExtra. Format::torrent_label('Bad Folders'); $AddExtra=' / '; } if (!empty($CassetteApproved)) { $ExtraInfo.=$AddExtra. Format::torrent_label('Cassette Approved'); $AddExtra=' / '; } if (!empty($LossymasterApproved)) { $ExtraInfo.=$AddExtra. Format::torrent_label('Lossy Master Approved'); $AddExtra=' / '; } if (!empty($LossywebApproved)) { $ExtraInfo.=$AddExtra. Format::torrent_label('Lossy WEB Approved'); $AddExtra = ' / '; } if (!empty($BadFiles)) { $ExtraInfo.=$AddExtra. Format::torrent_label('Bad File Names'); $AddExtra=' / '; } if ($GroupCategoryID == 1 && ($RemasterTitle != $LastRemasterTitle || $RemasterYear != $LastRemasterYear || $RemasterRecordLabel != $LastRemasterRecordLabel || $RemasterCatalogueNumber != $LastRemasterCatalogueNumber || $FirstUnknown || $Media != $LastMedia)) { $EditionID++; ?> [ | FL | RP | ED | RM | PL ] »
Uploaded by = 1209600) { ?>
Last active:
Last active: = 345678 && time() - strtotime($LastReseedRequest) >= 864000) || check_perms('users_mod')) { ?>
Request re-seed
'.$Text->full_format($Description).'';} ?> 0) { $i = 0; ?>
Requests () Show
get_value("torrent_collages_$GroupID"); if (!is_array($Collages)) { $DB->query(" SELECT c.Name, c.NumTorrents, c.ID FROM collages AS c JOIN collages_torrents AS ct ON ct.CollageID = c.ID WHERE ct.GroupID = '$GroupID' AND Deleted = '0' AND CategoryID != '0'"); $Collages = $DB->to_array(); $Cache->cache_value('torrent_collages_'.$GroupID, $Collages, 3600 * 6); } if (count($Collages) > 0) { if (count($Collages) > MAX_COLLAGES) { // Pick some at random $Range = range(0, count($Collages) - 1); shuffle($Range); $Indices = array_slice($Range, 0, MAX_COLLAGES); $SeeAll = ' (See all)'; } else { $Indices = range(0, count($Collages) - 1); $SeeAll = ''; } ?>
 This album is in collage 1) ? 's' : '')?> # torrents
get_value("torrent_collages_personal_$GroupID"); if (!is_array($PersonalCollages)) { $DB->query(" SELECT c.Name, c.NumTorrents, c.ID FROM collages AS c JOIN collages_torrents AS ct ON ct.CollageID = c.ID WHERE ct.GroupID = '$GroupID' AND Deleted = '0' AND CategoryID = '0'"); $PersonalCollages = $DB->to_array(false, MYSQLI_NUM); $Cache->cache_value("torrent_collages_personal_$GroupID", $PersonalCollages, 3600 * 6); } if (count($PersonalCollages) > 0) { if (count($PersonalCollages) > MAX_PERS_COLLAGES) { // Pick some at random $Range = range(0,count($PersonalCollages) - 1); shuffle($Range); $Indices = array_slice($Range, 0, MAX_PERS_COLLAGES); $SeeAll = ' (See all)'; } else { $Indices = range(0, count($PersonalCollages) - 1); $SeeAll = ''; } ?>
 This album is in personal collage 1) ? 's' : '')?> # torrents
 
get_value("torrent_comments_$GroupID"); if ($Results === false) { $DB->query(" SELECT COUNT(c.ID) FROM torrents_comments as c WHERE c.GroupID = '$GroupID'"); list($Results) = $DB->next_record(); $Cache->cache_value("torrent_comments_$GroupID", $Results, 0); } if (isset($_GET['postid']) && is_number($_GET['postid']) && $Results > TORRENT_COMMENTS_PER_PAGE) { $DB->query(" SELECT COUNT(ID) FROM torrents_comments WHERE GroupID = $GroupID AND ID <= $_GET[postid]"); list($PostNum) = $DB->next_record(); list($Page, $Limit) = Format::page_limit(TORRENT_COMMENTS_PER_PAGE, $PostNum); } else { list($Page, $Limit) = Format::page_limit(TORRENT_COMMENTS_PER_PAGE, $Results); } //Get the cache catalogue $CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $CatalogueLimit = $CatalogueID * THREAD_CATALOGUE . ', ' . THREAD_CATALOGUE; //---------- Get some data to start processing // Cache catalogue from which the page is selected, allows block caches and future ability to specify posts per page $Catalogue = $Cache->get_value("torrent_comments_{$GroupID}_catalogue_$CatalogueID"); if ($Catalogue === false) { $DB->query(" SELECT c.ID, c.AuthorID, c.AddedTime, c.Body, c.EditedUserID, c.EditedTime, u.Username FROM torrents_comments as c LEFT JOIN users_main AS u ON u.ID = c.EditedUserID WHERE c.GroupID = '$GroupID' ORDER BY c.ID LIMIT $CatalogueLimit"); $Catalogue = $DB->to_array(false, MYSQLI_ASSOC); $Cache->cache_value("torrent_comments_{$GroupID}_catalogue_$CatalogueID", $Catalogue, 0); } //This is a hybrid to reduce the catalogue down to the page elements: We use the page limit % catalogue $Thread = array_slice($Catalogue, ((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) % THREAD_CATALOGUE), TORRENT_COMMENTS_PER_PAGE, true); ?> $Post) { list($PostID, $AuthorID, $AddedTime, $Body, $EditedUserID, $EditedTime, $EditedUsername) = array_values($Post); list($AuthorID, $Username, $PermissionID, $Paranoia, $Artist, $Donor, $Warned, $Avatar, $Enabled, $UserTitle) = array_values(Users::user_info($AuthorID)); ?>
Report = $AuthorInfo['Class']) { ?> - Warn  
full_format($Body)?>

« Last edited by
'groupid', 'InputID' => $GroupID, 'TextareaCols' => 65)); ?>