2011-03-28 14:21:28 +00:00
< ?
2012-02-03 08:00:22 +00:00
include ( SERVER_ROOT . '/sections/requests/functions.php' ); // get_request_tags()
2011-03-28 14:21:28 +00:00
2013-02-04 08:00:13 +00:00
function get_group_info ( $GroupID , $Return = true , $RevisionID = 0 , $PersonalProperties = true ) {
2011-03-28 14:21:28 +00:00
global $Cache , $DB ;
2012-10-16 08:00:18 +00:00
if ( ! $RevisionID ) {
2012-12-07 08:00:19 +00:00
$TorrentCache = $Cache -> get_value ( 'torrents_details_' . $GroupID );
2012-10-16 08:00:18 +00:00
2012-12-07 08:00:19 +00:00
// This block can be used to test if the cached data predates structure changes
if ( isset ( $TorrentCache [ 0 ][ 0 ])) {
$OutdatedCache = true ;
} else {
$Torrent = current ( $TorrentCache [ 1 ]);
if ( ! isset ( $Torrent [ 'InfoHash' ])) {
$OutdatedCache = true ;
}
}
}
if ( $RevisionID || ! is_array ( $TorrentCache ) || isset ( $OutdatedCache )) {
2011-03-28 14:21:28 +00:00
// Fetch the group details
$SQL = " SELECT " ;
2012-10-16 08:00:18 +00:00
if ( ! $RevisionID ) {
$SQL .= "
2011-03-28 14:21:28 +00:00
g . WikiBody ,
g . WikiImage , " ;
} else {
2012-10-16 08:00:18 +00:00
$SQL .= "
2011-03-28 14:21:28 +00:00
w . Body ,
w . Image , " ;
}
$SQL .= "
g . ID ,
g . Name ,
g . Year ,
g . RecordLabel ,
g . CatalogueNumber ,
g . ReleaseType ,
g . CategoryID ,
g . Time ,
2011-08-09 21:03:28 +00:00
g . VanityHouse ,
2011-03-28 14:21:28 +00:00
GROUP_CONCAT ( DISTINCT tags . Name SEPARATOR '|' ),
GROUP_CONCAT ( DISTINCT tags . ID SEPARATOR '|' ),
GROUP_CONCAT ( tt . UserID SEPARATOR '|' ),
GROUP_CONCAT ( tt . PositiveVotes SEPARATOR '|' ),
GROUP_CONCAT ( tt . NegativeVotes SEPARATOR '|' )
FROM torrents_group AS g
LEFT JOIN torrents_tags AS tt ON tt . GroupID = g . ID
LEFT JOIN tags ON tags . ID = tt . TagID " ;
2012-10-16 08:00:18 +00:00
if ( $RevisionID ) {
$SQL .= "
2011-03-28 14:21:28 +00:00
LEFT JOIN wiki_torrents AS w ON w . PageID = '".db_string($GroupID)."' AND w . RevisionID = '".db_string($RevisionID)."' " ;
}
2012-10-16 08:00:18 +00:00
$SQL .= "
2011-03-28 14:21:28 +00:00
WHERE g . ID = '".db_string($GroupID)."'
GROUP BY NULL " ;
$DB -> query ( $SQL );
2012-10-16 08:00:18 +00:00
$TorrentDetails = $DB -> next_record ( MYSQLI_ASSOC );
2011-03-28 14:21:28 +00:00
// Fetch the individual torrents
$DB -> query ( "
SELECT
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 ,
2012-12-07 08:00:19 +00:00
HEX ( t . info_hash ) AS InfoHash ,
2012-10-16 08:00:18 +00:00
tbt . TorrentID AS BadTags ,
tbf . TorrentID AS BadFolders ,
tfi . TorrentID AS BadFiles ,
ca . TorrentID AS CassetteApproved ,
lma . TorrentID AS LossymasterApproved ,
lwa . TorrentID AS LossywebApproved ,
2011-03-28 14:21:28 +00:00
t . LastReseedRequest ,
tln . TorrentID AS LogInDB ,
2011-07-04 08:00:07 +00:00
t . ID AS HasFile
2011-03-28 14:21:28 +00:00
FROM torrents AS t
LEFT JOIN torrents_bad_tags AS tbt ON tbt . TorrentID = t . ID
LEFT JOIN torrents_bad_folders AS tbf on tbf . TorrentID = t . ID
LEFT JOIN torrents_bad_files AS tfi on tfi . TorrentID = t . ID
2011-08-09 21:03:28 +00:00
LEFT JOIN torrents_cassette_approved AS ca on ca . TorrentID = t . ID
LEFT JOIN torrents_lossymaster_approved AS lma on lma . TorrentID = t . ID
2012-05-31 08:00:14 +00:00
LEFT JOIN torrents_lossyweb_approved AS lwa on lwa . TorrentID = t . ID
2011-08-09 21:03:28 +00:00
LEFT JOIN torrents_logs_new AS tln ON tln . TorrentID = t . ID
2011-03-28 14:21:28 +00:00
WHERE t . GroupID = '".db_string($GroupID)."'
GROUP BY t . ID
2011-09-04 08:00:07 +00:00
ORDER BY t . Remastered ASC , ( t . RemasterYear <> 0 ) DESC , t . RemasterYear ASC , t . RemasterTitle ASC , t . RemasterRecordLabel ASC , t . RemasterCatalogueNumber ASC , t . Media ASC , t . Format , t . Encoding , t . ID " );
2011-03-28 14:21:28 +00:00
2012-10-16 08:00:18 +00:00
$TorrentList = $DB -> to_array ( 'ID' , MYSQLI_ASSOC );
if ( count ( $TorrentList ) == 0 ) {
2012-11-27 08:00:18 +00:00
header ( " Location: log.php?search= " . ( empty ( $_GET [ 'torrentid' ]) ? " Group+ $GroupID " : " Torrent+ $_GET[torrentid] " ));
2012-09-27 08:00:20 +00:00
die ();
2011-03-28 14:21:28 +00:00
}
2012-10-16 08:00:18 +00:00
if ( in_array ( 0 , $DB -> collect ( 'Seeders' ))) {
2011-03-28 14:21:28 +00:00
$CacheTime = 600 ;
} else {
$CacheTime = 3600 ;
}
// Store it all in cache
2012-10-16 08:00:18 +00:00
if ( ! $RevisionID ) {
$Cache -> cache_value ( 'torrents_details_' . $GroupID , array ( $TorrentDetails , $TorrentList ), $CacheTime );
2011-03-28 14:21:28 +00:00
}
} else { // If we're reading from cache
2012-10-16 08:00:18 +00:00
$TorrentDetails = $TorrentCache [ 0 ];
$TorrentList = $TorrentCache [ 1 ];
2011-03-28 14:21:28 +00:00
}
2013-02-04 08:00:13 +00:00
if ( $PersonalProperties ) {
// Fetch all user specific torrent and group properties
$TorrentDetails [ 'Flags' ] = array ( 'IsSnatched' => false );
foreach ( $TorrentList as & $Torrent ) {
Torrents :: torrent_properties ( $Torrent , $TorrentDetails [ 'Flags' ]);
}
2012-12-06 08:00:17 +00:00
}
2012-10-16 08:00:18 +00:00
if ( $Return ) {
return array ( $TorrentDetails , $TorrentList );
2011-03-28 14:21:28 +00:00
}
}
//Check if a givin string can be validated as a torrenthash
function is_valid_torrenthash ( $Str ) {
//6C19FF4C 6C1DD265 3B25832C 0F6228B2 52D743D5
$Str = str_replace ( ' ' , '' , $Str );
2013-04-13 08:00:19 +00:00
if ( preg_match ( '/^[0-9a-fA-F]{40}$/' , $Str ))
2011-03-28 14:21:28 +00:00
return $Str ;
return false ;
}
//After adjusting / deleting logs, recalculate the score for the torrent.
function set_torrent_logscore ( $TorrentID ) {
global $DB ;
$DB -> query ( " UPDATE torrents SET LogScore = (SELECT FLOOR(AVG(Score)) FROM torrents_logs_new WHERE TorrentID = " . $TorrentID . " ) WHERE ID = " . $TorrentID );
}
2012-02-03 08:00:22 +00:00
function get_group_requests ( $GroupID ) {
2012-10-16 08:00:18 +00:00
if ( empty ( $GroupID ) || ! is_number ( $GroupID )) {
return array ();
}
2012-02-03 08:00:22 +00:00
global $DB , $Cache ;
2013-02-22 08:00:24 +00:00
2012-02-03 08:00:22 +00:00
$Requests = $Cache -> get_value ( 'requests_group_' . $GroupID );
2013-04-13 08:00:19 +00:00
if ( $Requests === false ) {
2012-02-05 08:00:20 +00:00
$DB -> query ( " SELECT ID FROM requests WHERE GroupID = $GroupID AND TimeFilled = '0000-00-00 00:00:00' " );
2012-02-03 08:00:22 +00:00
$Requests = $DB -> collect ( 'ID' );
$Cache -> cache_value ( 'requests_group_' . $GroupID , $Requests , 0 );
}
2012-10-11 08:00:15 +00:00
$Requests = Requests :: get_requests ( $Requests );
2012-02-03 08:00:22 +00:00
return $Requests [ 'matches' ];
2012-05-31 08:00:14 +00:00
}
2013-04-17 08:00:58 +00:00
//Used to get reports info on a unison cache in both browsing pages and torrent pages.
function get_reports ( $TorrentID ){
global $Cache , $DB ;
$Reports = $Cache -> get_value ( 'reports_torrent_' . $TorrentID );
if ( $Reports === false ) {
2013-04-19 08:00:55 +00:00
$DB -> query ( " SELECT r.ID,
2013-04-17 08:00:58 +00:00
r . ReporterID ,
r . Type ,
r . UserComment ,
r . ReportedTime
FROM reportsv2 AS r
WHERE TorrentID = $TorrentID
2013-04-19 08:00:55 +00:00
AND Type != 'edited'
AND Status != 'Resolved' " );
$Reports = $DB -> to_array ();
$Cache -> cache_value ( 'reports_torrent_' . $TorrentID , $Reports , 0 );
2013-04-17 08:00:58 +00:00
}
return $Reports ;
}
//Used by both sections/torrents/details.php and sections/reportsv2/report.php
function build_torrents_table ( $Cache , $DB , $LoggedUser , $GroupID , $GroupName , $GroupCategoryID , $ReleaseType , $TorrentList , $Types , $Text , $Username , $ReportedTimes ) {
2013-04-19 08:00:55 +00:00
function filelist ( $Str ) {
return '</td><td>' . Format :: get_size ( $Str [ 1 ]) . '</td></tr>' ;
}
2013-04-17 08:00:58 +00:00
2013-04-19 08:00:55 +00:00
$LastRemasterYear = '-' ;
$LastRemasterTitle = '' ;
$LastRemasterRecordLabel = '' ;
$LastRemasterCatalogueNumber = '' ;
2013-04-17 08:00:58 +00:00
2013-04-19 08:00:55 +00:00
$EditionID = 0 ;
foreach ( $TorrentList as $Torrent ) {
2013-04-17 08:00:58 +00:00
//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 ) {
2013-04-19 08:00:55 +00:00
$FirstUnknown = ! isset ( $FirstUnknown );
2013-04-17 08:00:58 +00:00
}
$Reported = false ;
unset ( $ReportedTimes );
$Reports = $Cache -> get_value ( 'reports_torrent_' . $TorrentID );
if ( $Reports === false ) {
2013-04-19 08:00:55 +00:00
$DB -> query ( " SELECT r.ID,
2013-04-17 08:00:58 +00:00
r . ReporterID ,
r . Type ,
r . UserComment ,
r . ReportedTime
FROM reportsv2 AS r
WHERE TorrentID = $TorrentID
AND Type != 'edited'
AND Status != 'Resolved' " );
2013-04-19 08:00:55 +00:00
$Reports = $DB -> to_array ();
$Cache -> cache_value ( 'reports_torrent_' . $TorrentID , $Reports , 0 );
2013-04-17 08:00:58 +00:00
}
if ( count ( $Reports ) > 0 ) {
2013-04-19 08:00:55 +00:00
$Reported = true ;
include ( SERVER_ROOT . '/sections/reportsv2/array.php' );
$ReportInfo = '<table><tr class="colhead_dark" style="font-weight: bold;"><td>This torrent has ' . count ( $Reports ) . ' active ' . ( count ( $Reports ) > 1 ? " reports " : " report " ) . ':</td></tr>' ;
2013-04-17 08:00:58 +00:00
2013-04-19 08:00:55 +00:00
foreach ( $Reports as $Report ) {
2013-04-17 08:00:58 +00:00
list ( $ReportID , $ReporterID , $ReportType , $ReportReason , $ReportedTime ) = $Report ;
$Reporter = Users :: user_info ( $ReporterID );
$ReporterName = $Reporter [ 'Username' ];
if ( array_key_exists ( $ReportType , $Types [ $GroupCategoryID ])) {
2013-04-19 08:00:55 +00:00
$ReportType = $Types [ $GroupCategoryID ][ $ReportType ];
2013-04-17 08:00:58 +00:00
} else if ( array_key_exists ( $ReportType , $Types [ 'master' ])) {
2013-04-19 08:00:55 +00:00
$ReportType = $Types [ 'master' ][ $ReportType ];
2013-04-17 08:00:58 +00:00
} else {
2013-04-19 08:00:55 +00:00
//There was a type but it wasn't an option!
$ReportType = $Types [ 'master' ][ 'other' ];
2013-04-17 08:00:58 +00:00
}
2013-04-19 08:00:55 +00:00
$ReportInfo .= '<tr><td>' . ( check_perms ( 'admin_reports' ) ? " <a href= \" user.php?id= $ReporterID\ " > $ReporterName </ a > < a href = \ " reportsv2.php?view=report&id= $ReportID\ " > reported it </ a > " : 'Someone reported it ') . time_diff( $ReportedTime , 2, true, true) . ' for the reason " ' . $ReportType[' title '] . ' " :';
$ReportInfo .= '<blockquote>' . $Text -> full_format ( $ReportReason ) . '</blockquote></td></tr>' ;
}
$ReportInfo .= '</table>' ;
2013-04-17 08:00:58 +00:00
}
$CanEdit = ( check_perms ( 'torrents_edit' ) || (( $UserID == $LoggedUser [ 'ID' ] && ! $LoggedUser [ 'DisableWiki' ]) && ! ( $Remastered && ! $RemasterYear )));
$RegenLink = check_perms ( 'users_mod' ) ? ' <a href="torrents.php?action=regen_filelist&torrentid=' . $TorrentID . '" class="brackets">Regenerate</a>' : '' ;
$FileTable = '
< table class = " filelist_table " >
2013-04-19 08:00:55 +00:00
< tr class = " colhead_dark " >
< td >
< div class = " filelist_title " style = " float: left; " > File name ' . $RegenLink . ' </ div >
< div class = " filelist_path " style = " float: right; " > ' . ($FilePath ? "/$FilePath/" : ' ') . ' </ div >
</ td >
< td >
< strong > Size </ strong >
</ td >
</ tr > ' ;
2013-04-17 08:00:58 +00:00
if ( substr ( $FileList , - 3 ) == '}}}' ) { // Old style
2013-04-19 08:00:55 +00:00
$FileListSplit = explode ( '|||' , $FileList );
foreach ( $FileListSplit as $File ) {
2013-04-17 08:00:58 +00:00
$NameEnd = strrpos ( $File , '{{{' );
$Name = substr ( $File , 0 , $NameEnd );
if ( $Spaces = strspn ( $Name , ' ' )) {
2013-04-19 08:00:55 +00:00
$Name = str_replace ( ' ' , ' ' , substr ( $Name , 0 , $Spaces )) . substr ( $Name , $Spaces );
2013-04-17 08:00:58 +00:00
}
$FileSize = substr ( $File , $NameEnd + 3 , - 3 );
$FileTable .= sprintf ( " \n <tr><td>%s</td><td>%s</td></tr> " , $Name , Format :: get_size ( $FileSize ));
2013-04-19 08:00:55 +00:00
}
2013-04-17 08:00:58 +00:00
} else {
2013-04-19 08:00:55 +00:00
$FileListSplit = explode ( " \n " , $FileList );
foreach ( $FileListSplit as $File ) {
2013-04-17 08:00:58 +00:00
$FileInfo = Torrents :: filelist_get_file ( $File );
$FileTable .= sprintf ( " \n <tr><td>%s</td><td>%s</td></tr> " , $FileInfo [ 'name' ], Format :: get_size ( $FileInfo [ 'size' ]));
2013-04-19 08:00:55 +00:00
}
2013-04-17 08:00:58 +00:00
}
$FileTable .= '
</ table > ' ;
$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 ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= display_str ( $Format );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $Encoding ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . display_str ( $Encoding );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $HasLog ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . 'Log' ;
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $HasLog && $LogInDB ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= ' (' . ( int ) $LogScore . '%)' ;
2013-04-17 08:00:58 +00:00
}
if ( $HasCue ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . 'Cue' ;
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $Scene ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . 'Scene' ;
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( ! $ExtraInfo ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo = $GroupName ;
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $IsSnatched ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Snatched!' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $FreeTorrent == '1' ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Freeleech!' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $FreeTorrent == '2' ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Neutral Leech!' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $PersonalFL ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Personal Freeleech!' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $Reported ) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Reported' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( ! empty ( $BadTags )) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Bad Tags' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( ! empty ( $BadFolders )) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Bad Folders' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( ! empty ( $CassetteApproved )) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Cassette Approved' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( ! empty ( $LossymasterApproved )) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Lossy Master Approved' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( ! empty ( $LossywebApproved )) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Lossy WEB Approved' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( ! empty ( $BadFiles )) {
2013-04-19 08:00:55 +00:00
$ExtraInfo .= $AddExtra . Format :: torrent_label ( 'Bad File Names' );
$AddExtra = ' / ' ;
2013-04-17 08:00:58 +00:00
}
if ( $GroupCategoryID == 1
&& ( $RemasterTitle != $LastRemasterTitle
|| $RemasterYear != $LastRemasterYear
|| $RemasterRecordLabel != $LastRemasterRecordLabel
|| $RemasterCatalogueNumber != $LastRemasterCatalogueNumber
|| $FirstUnknown
|| $Media != $LastMedia )) {
2013-04-19 08:00:55 +00:00
$EditionID ++ ;
2013-04-17 08:00:58 +00:00
?>
2013-04-19 08:00:55 +00:00
< tr class = " releases_<?= $ReleaseType ?> groupid_<?= $GroupID ?> edition group_torrent " >
< td colspan = " 5 " class = " edition_info " >< strong >< a href = " # " onclick = " toggle_edition(<?= $GroupID ?>, <?= $EditionID ?>, this, event) " title = " Collapse this edition. Hold "Ctrl" while clicking to collapse all editions in this torrent group. " >& minus ; </ a > < ? = Torrents :: edition_string ( $Torrent , $TorrentDetails ) ?> </strong></td>
</ tr >
< ?
2013-04-17 08:00:58 +00:00
}
$LastRemasterTitle = $RemasterTitle ;
$LastRemasterYear = $RemasterYear ;
$LastRemasterRecordLabel = $RemasterRecordLabel ;
$LastRemasterCatalogueNumber = $RemasterCatalogueNumber ;
$LastMedia = $Media ;
2013-04-19 08:00:55 +00:00
?>
2013-04-17 08:00:58 +00:00
< tr class = " torrent_row releases_<?= $ReleaseType ?> groupid_<?= $GroupID ?> edition_<?= $EditionID ?> group_torrent<?= $IsSnatched ? ' snatched_torrent' : '' ?> " style = " font-weight: normal; " id = " torrent<?= $TorrentID ?> " >
< td >
< span > [ < a href = " torrents.php?action=download&id=<?= $TorrentID ?>&authkey=<?= $LoggedUser['AuthKey'] ?>&torrent_pass=<?= $LoggedUser['torrent_pass'] ?> " title = " Download " >< ? = $HasFile ? 'DL' : 'Missing' ?> </a>
2013-04-19 08:00:55 +00:00
< ? if ( Torrents :: can_use_token ( $Torrent )) { ?>
| < a href = " torrents.php?action=download&id=<?= $TorrentID ?>&authkey=<?= $LoggedUser['AuthKey'] ?>&torrent_pass=<?= $LoggedUser['torrent_pass'] ?>&usetoken=1 " title = " Use a FL Token " onclick = " return confirm('Are you sure you want to use a freeleech token here?'); " > FL </ a >
< ? } ?>
2013-04-17 08:00:58 +00:00
| < a href = " reportsv2.php?action=report&id=<?= $TorrentID ?> " title = " Report " > RP </ a >
2013-04-19 08:00:55 +00:00
< ? if ( $CanEdit ) { ?>
| < a href = " torrents.php?action=edit&id=<?= $TorrentID ?> " title = " Edit " > ED </ a >
< ? }
if ( check_perms ( 'torrents_delete' ) || $UserID == $LoggedUser [ 'ID' ]) { ?>
| < a href = " torrents.php?action=delete&torrentid=<?= $TorrentID ?> " title = " Remove " > RM </ a >
< ? } ?>
2013-04-17 08:00:58 +00:00
| < a href = " torrents.php?torrentid=<?= $TorrentID ?> " title = " Permalink " > PL </ a >
] </ span >
& raquo ; < a href = " # " onclick = " $ ('#torrent_<?= $TorrentID ?>').toggle(); return false; " >< ? = $ExtraInfo ; ?> </a>
</ td >
< td class = " nobr " >< ? = Format :: get_size ( $Size ) ?> </td>
< td >< ? = number_format ( $Snatched ) ?> </td>
< td >< ? = number_format ( $Seeders ) ?> </td>
< td >< ? = number_format ( $Leechers ) ?> </td>
</ tr >
2013-04-19 08:00:55 +00:00
< tr class = " releases_<?= $ReleaseType ?> groupid_<?= $GroupID ?> edition_<?= $EditionID ?> torrentdetails pad<? if (!isset( $_GET['torrentid'] ) || $_GET['torrentid'] != $TorrentID ) { ?> hidden<? } ?> " id = " torrent_<?= $TorrentID ; ?> " >
2013-04-17 08:00:58 +00:00
< td colspan = " 5 " >
< blockquote >
Uploaded by < ? = Users :: format_username ( $UserID , false , false , false ) ?> <?= time_diff($TorrentTime); ?>
2013-04-19 08:00:55 +00:00
< ? if ( $Seeders == 0 ) {
if ( $LastActive != '0000-00-00 00:00:00' && time () - strtotime ( $LastActive ) >= 1209600 ) { ?>
< br />< strong > Last active : < ? = time_diff ( $LastActive ); ?> </strong>
< ? } else { ?>
2013-04-17 08:00:58 +00:00
< br /> Last active : < ? = time_diff ( $LastActive ); ?>
2013-04-19 08:00:55 +00:00
< ? }
if ( $LastActive != '0000-00-00 00:00:00' && time () - strtotime ( $LastActive ) >= 345678 && time () - strtotime ( $LastReseedRequest ) >= 864000 ) { ?>
2013-04-17 08:00:58 +00:00
< br />< a href = " torrents.php?action=reseed&torrentid=<?= $TorrentID ?>&groupid=<?= $GroupID ?> " class = " brackets " > Request re - seed </ a >
2013-04-19 08:00:55 +00:00
< ? }
} ?>
2013-04-17 08:00:58 +00:00
</ blockquote >
2013-04-19 08:00:55 +00:00
< ? if ( check_perms ( 'site_moderate_requests' )) { ?>
< div class = " linkbox " >
< a href = " torrents.php?action=masspm&id=<?= $GroupID ?>&torrentid=<?= $TorrentID ?> " class = " brackets " > Mass PM snatchers </ a >
</ div >
< ? } ?>
2013-04-17 08:00:58 +00:00
< div class = " linkbox " >
< a href = " # " class = " brackets " onclick = " show_peers('<?= $TorrentID ?>', 0);return false; " > View peer list </ a >
2013-04-19 08:00:55 +00:00
< ? if ( check_perms ( 'site_view_torrent_snatchlist' )) { ?>
< a href = " # " class = " brackets " onclick = " show_downloads('<?= $TorrentID ?>', 0);return false; " title = " View the list of users that have clicked the "DL" button. " > View download list </ a >
< a href = " # " class = " brackets " onclick = " show_snatches('<?= $TorrentID ?>', 0);return false; " title = " View the list of users that have reported a snatch to the tracker. " > View snatch list </ a >
< ? } ?>
2013-04-17 08:00:58 +00:00
< a href = " # " class = " brackets " onclick = " show_files('<?= $TorrentID ?>');return false; " > View file list </ a >
2013-04-19 08:00:55 +00:00
< ? if ( $Reported ) { ?>
< a href = " # " class = " brackets " onclick = " show_reported('<?= $TorrentID ?>');return false; " > View report information </ a >
< ? } ?>
2013-04-17 08:00:58 +00:00
</ div >
< div id = " peers_<?= $TorrentID ?> " class = " hidden " ></ div >
< div id = " downloads_<?= $TorrentID ?> " class = " hidden " ></ div >
< div id = " snatches_<?= $TorrentID ?> " class = " hidden " ></ div >
< div id = " files_<?= $TorrentID ?> " class = " hidden " >< ? = $FileTable ?> </div>
2013-04-19 08:00:55 +00:00
< ? if ( $Reported ) { ?>
< div id = " reported_<?= $TorrentID ?> " class = " hidden " >< ? = $ReportInfo ?> </div>
< ? }
2013-04-17 08:00:58 +00:00
if ( ! empty ( $Description )) {
2013-04-19 08:00:55 +00:00
echo '<blockquote>' . $Text -> full_format ( $Description ) . '</blockquote>' ;
2013-04-17 08:00:58 +00:00
}
?>
</ td >
</ tr >
2013-04-19 08:00:55 +00:00
< ?
}
2013-04-17 08:00:58 +00:00
}