$WikiBody = Text::full_format($WikiBody); $Artists = Artists::get_artist($GroupID); if ($GroupCategoryID) { $DisplayName = '
'.$DisplayName; } if ($GroupYear > 0) { $Label = '
📅 '; $DisplayName .= $Label.$GroupYear; $AltName .= $Label.$GroupYear; } if ($GroupStudio) { $Label = ' 📍 '; $DisplayName .= $Label.$GroupStudio; } if ($GroupCatalogueNumber) { $Label = ' 🔑 '; $DisplayName .= $Label.$GroupCatalogueNumber; } if ($GroupTitle2 && $GroupTitle2 !== $GroupName) { $Label = '
🦠 '; $DisplayName .= "$Label$GroupTitle2"; } if ($GroupNameJP && $GroupNameJP !== $GroupName) { $DisplayName .= ' '.$GroupNameJP; } if ($Artists) { # Emoji in classes/astists.class.php $Label = ' '; $DisplayName .= $Label.Artists::display_artists($Artists, true); } $Tags = []; if ($TorrentTags !== '') { $TorrentTags = explode('|', $TorrentTags); $TorrentTagIDs = explode('|', $TorrentTagIDs); $TorrentTagUserIDs = explode('|', $TorrentTagUserIDs); foreach ($TorrentTags as $TagKey => $TagName) { $Tags[$TagKey]['name'] = $TagName; $Tags[$TagKey]['id'] = $TorrentTagIDs[$TagKey]; $Tags[$TagKey]['userid'] = $TorrentTagUserIDs[$TagKey]; $Split = Tags::get_name_and_class($TagName); $Tags[$TagKey]['display'] = $Split['name']; $Tags[$TagKey]['class'] = $Split['class']; } uasort($Tags, 'compare'); } $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 = []; $CoverArt = $DB->to_array(); if ($DB->has_results()) { $Cache->cache_value("torrents_cover_art_$GroupID", $CoverArt, 0); } } // Comments (must be loaded before View::show_header so that subscriptions and quote notifications are handled properly) list($NumComments, $Page, $Thread, $LastRead) = Comments::load('torrents', $GroupID); // Start output View::show_header( $Title, 'browse,comments,torrent,bbcode,recommend,cover_art,subscriptions,vendor/easymde.min', 'vendor/easymde.min' ); ?>

"; } # FreeTorrent is a string foreach ($TorrentList as $Torrent) { list($TorrentID, $Media, $Container, $Codec, $Resolution, $Version, $Censored, $Anonymous, $Archive, $FileCount, $Size, $Seeders, $Leechers, $Snatched, $FreeTorrent, $FreeLeechType, $TorrentTime, $Description, $FileList, $FilePath, $UserID, $LastActive, $InfoHash, $BadTags, $BadFolders, $BadFiles, $LastReseedRequest, $LogInDB, $HasFile, $PersonalFL, $IsSnatched, $IsSeeding, $IsLeeching ) = array_values($Torrent); $Reported = false; $Reports = Torrents::get_reports($TorrentID); $NumReports = count($Reports); if ($NumReports > 0) { $Reported = true; include(SERVER_ROOT.'/sections/reportsv2/array.php'); $ReportInfo = '
Torrents Size
".Format::get_size($Str[1])."
"; foreach ($Reports as $Report) { if (check_perms('admin_reports')) { $ReporterID = $Report['ReporterID']; $Reporter = Users::user_info($ReporterID); $ReporterName = $Reporter['Username']; $ReportLinks = "$ReporterNamereported it"; } else { $ReportLinks = 'Someone reported it'; } if (isset($Types[$GroupCategoryID][$Report['Type']])) { $ReportType = $Types[$GroupCategoryID][$Report['Type']]; } elseif (isset($Types['master'][$Report['Type']])) { $ReportType = $Types['master'][$Report['Type']]; } else { // There was a type but it wasn't an option! $ReportType = $Types['master']['other']; } $ReportInfo .= " '; } $ReportInfo .= "
This torrent has '.$NumReports.' active '.($NumReports === 1 ? 'report' : 'reports').":
$ReportLinks ".time_diff($Report['ReportedTime'], 2, true, true).' for the reason "'.$ReportType['title'].'":
'.Text::full_format($Report['UserComment']).'
"; } $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 Names' . $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 // Similar to Torrents::torrent_info() if ($Media) { $ExtraInfo .= ''.display_str($Media).''; } if ($Container) { $ExtraInfo .= $AddExtra.''.display_str($Container).''; } if ($Archive) { $ExtraInfo .= $AddExtra.''.display_str($Archive).''; } if ($Codec) { $ExtraInfo .= $AddExtra.''.display_str($Codec).''; } if ($Resolution) { $ExtraInfo .= $AddExtra.''.display_str($Resolution).''; } /* if ($Version) { $ExtraInfo.=$AddExtra.display_str($Version); $ExtraInfo .= $AddExtra.''.display_str($Version).''; } */ if ($Censored) { $ExtraInfo .= $AddExtra.'Yes'; } else { $ExtraInfo .= $AddExtra.'No'; } if (!$ExtraInfo) { $ExtraInfo = $GroupName; } if ($IsLeeching) { $ExtraInfo .= $AddExtra.Format::torrent_label('Leeching', 'important_text_semi'); } elseif ($IsSeeding) { $ExtraInfo .= $AddExtra.Format::torrent_label('Seeding', 'important_text_alt'); } elseif ($IsSnatched) { $ExtraInfo .= $AddExtra.Format::torrent_label('Snatched', 'bold'); } if ($FreeTorrent === '1') { $ExtraInfo .= $AddExtra.Format::torrent_label('Freeleech', 'important_text_alt'); } if ($FreeTorrent === '2') { $ExtraInfo .= $AddExtra.Format::torrent_label('Neutral Leech', 'bold'); } // Freleechizer if ($FreeLeechType === '3') { $DB->query(" SELECT UNIX_TIMESTAMP(ExpiryTime) FROM shop_freeleeches WHERE TorrentID = $TorrentID"); if ($DB->has_results()) { $ExpiryTime = $DB->next_record(MYSQLI_NUM, false)[0]; $ExtraInfo .= " (".str_replace(['month','week','day','hour','min'], ['m','w','d','h','m'], time_diff(max($ExpiryTime, time()), 1, false)).")"; } } if ($PersonalFL) { $ExtraInfo .= $AddExtra.Format::torrent_label('Personal Freeleech', 'important_text_alt'); } if ($Reported) { $HtmlReportType = ucfirst($Reports[0]['Type']); $HtmlReportComment = htmlentities(htmlentities($Reports[0]['UserComment'])); $ExtraInfo .= $AddExtra."".Format::torrent_label('Reported', 'important_text').""; } if (!empty($BadTags)) { $ExtraInfo .= $AddExtra.Format::torrent_label('Bad Tags', 'important_text'); } if (!empty($BadFolders)) { $ExtraInfo .= $AddExtra.Format::torrent_label('Bad Folders', 'important_text'); } if (!empty($BadFiles)) { $ExtraInfo .= $AddExtra.Format::torrent_label('Bad File Names', 'important_text'); } $TorrentDL = "torrents.php?action=download&id=".$TorrentID."&authkey=".$LoggedUser['AuthKey']."&torrent_pass=".$LoggedUser['torrent_pass']; if (!($TorrentFileName = $Cache->get_value('torrent_file_name_'.$TorrentID))) { $TorrentFile = file_get_contents(TORRENT_STORE.$TorrentID.'.torrent'); $Tor = new BencodeTorrent($TorrentFile, false, false); $TorrentFileName = $Tor->Dec['info']['name']; $Cache->cache_value('torrent_file_name_'.$TorrentID, $TorrentFileName); } ?> [ | FL | RP | ED | RM | PL ]
Uploaded by Anonymous Anonymous = 1209600) { ?>
Last active:
Last active: = 345678 && time() - strtotime($LastReseedRequest) >= 864000) || check_perms('users_mod')) { ?>
Request re-seed
'.Text::full_format($Description).''; } echo "\n
"; ?>
$Artist) { array_push($ArtistArray, $Artist['name']); } # Not sure if inline newlines are valid $ArtistString = (count($ArtistArray) > 3) ? implode("\n and ", $ArtistArray) : implode(' and ', $ArtistArray); # DOI number $BibtexDOI = (count($Screenshots) > 0) ? $Screenshots[0]['Image'] : null; # Starting newline necessary $BibtexCitation = <<
'; } ?>
0) { ?>
Requests () Show
70) { $RequestDesc = substr($RequestDesc, 0, 67) . '...'; } ?>
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 content is in collection 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 content is in personal collection 1) ? 's' : '')?> # torrents
 
  Mirrors () 0) { ?> Hide query(" SELECT UserID FROM torrents WHERE GroupID = $GroupID"); if (in_array($LoggedUser['ID'], $DB->collect('UserID')) || check_perms('torrents_edit') || check_perms('screenshots_add') || check_perms('screenshots_delete')) { ?> Add/Remove
Mirror links open in a new tab.

'; } ?>
  Publications () 0) { ?> Hide query(" SELECT UserID FROM torrents WHERE GroupID = $GroupID"); if (in_array($LoggedUser['ID'], $DB->collect('UserID')) || check_perms('torrents_edit') || check_perms('screenshots_add') || check_perms('screenshots_delete')) { ?> Add/Remove
Sci-Hub links open in a new tab.

'; } ?>
    '.$Screenshot['Image'].''; /* Image proxy integration $SSURL = ImageTools::process($Screenshot['Image']); $ThumbURL = ImageTools::process($Screenshot['Image'], 'thumb'); */ /* todo: Bring this back if (check_perms('users_mod')) { ?> - ' lightbox-img="" src="" />' lightbox-img="" src="" />
'pageid', 'InputID' => $GroupID, 'Action' => 'comments.php?page=torrents', 'InputAction' => 'take_post', 'TextareaCols' => 65, 'SubscribeBox' => true )); ?>