diff --git a/classes/class_votes.php b/classes/class_votes.php index b3b0a25c..a8015463 100644 --- a/classes/class_votes.php +++ b/classes/class_votes.php @@ -1,4 +1,4 @@ - ( Vote: - Up - Up - Down - Down + + + + x ) @@ -160,7 +160,9 @@ private function inverse_ncdf($p) { */ public static function binomial_score($Ups, $Total) { // Confidence level for binomial scoring (p-value .95) - define(Z_VAL, 1.645211440143815); + //define(Z_VAL, 1.645211440143815); + // Confidence level for binomial scoring (p-value .90) + define(Z_VAL, 1.281728756502709); if (($Total <= 0) || ($Ups < 0)) { return 0; @@ -168,5 +170,127 @@ public static function binomial_score($Ups, $Total) { $phat = $Ups/$Total; return ($phat + Z_VAL*Z_VAL/(2*$Total) - Z_VAL*sqrt(($phat*(1-$phat)+Z_VAL*Z_VAL/(4*$Total))/$Total))/(1+Z_VAL*Z_VAL/$Total); } + + /** + * Gets where this album ranks overall, for its year, and for its decade. This is really just a wrapper. + * @param int $GroupID GroupID of the album + * @param int $Year Year it was released + * @return array ('overall'=>, 'year'=>, 'decade'=>) + */ + public static function get_ranking($GroupID, $Year) { + $GroupID = (int)$GroupID; + $Year = (int)$Year; + if ($GroupID <= 0 || $Year <= 0) { + return false; + } + + return array('overall'=>Votes::get_rank_all($GroupID), + 'year' =>Votes::get_rank_year($GroupID, $Year), + 'decade' =>Votes::get_rank_decade($GroupID, $Year)); + } + + /** + * Gets where this album ranks overall. + * @global CACHE $Cache + * @global DB_MYSQL $DB + * @param int $GroupID GroupID of the album + * @return int Rank + */ + public static function get_rank_all($GroupID) { + global $Cache, $DB; + + $GroupID = (int)$GroupID; + if ($GroupID <= 0) { + return false; + } + + $Rankings = $Cache->get_value('voting_ranks_overall'); + if ($Rankings === FALSE) { + $Rankings = array(); + $i = 0; + $DB->query("SELECT GroupID FROM torrents_votes ORDER BY Score DESC LIMIT 100"); + while (list($GID) = $DB->next_record()) { + $Rankings[$GID] = ++$i; + } + $Cache->cache_value('voting_ranks_overall', $Rankings); + } + + return isset($Rankings[$GroupID])?$Rankings[$GroupID]:false; + } + + /** + * Gets where this album ranks in its year. + * @global CACHE $Cache + * @global DB_MYSQL $DB + * @param int $GroupID GroupID of the album + * @param int $Year Year it was released + * @return int Rank for its year + */ + public static function get_rank_year($GroupID, $Year) { + global $Cache, $DB; + + $GroupID = (int)$GroupID; + $Year = (int)$Year; + if ($GroupID <= 0 || $Year <= 0) { + return false; + } + + $Rankings = $Cache->get_value('voting_ranks_year_'.$Year); + if ($Rankings === FALSE) { + $Rankings = array(); + $i = 0; + $DB->query("SELECT GroupID + FROM torrents_votes AS v + JOIN torrents_group AS g ON g.ID = v.GroupID + WHERE g.Year = $Year + ORDER BY Score DESC LIMIT 100"); + while (list($GID) = $DB->next_record()) { + $Rankings[$GID] = ++$i; + } + $Cache->cache_value('voting_ranks_year_'.$Year , $Rankings); + } + + return isset($Rankings[$GroupID])?$Rankings[$GroupID]:false; + } + + /** + * Gets where this album ranks in its decade. + * @global CACHE $Cache + * @global DB_MYSQL $DB + * @param int $GroupID GroupID of the album + * @param int $Year Year it was released + * @return int Rank for its year + */ + public static function get_rank_decade($GroupID, $Year) { + global $Cache, $DB; + + $GroupID = (int)$GroupID; + $Year = (int)$Year; + $Year = (int)$Year; + if ((int)$GroupID <= 0 || (int)$Year <= 0) { + return false; + } + + // First year of the decade + $Year = $Year - ($Year % 10); + + $Rankings = $Cache->get_value('voting_ranks_decade_'.$Year); + if ($Rankings === FALSE) { + $Rankings = array(); + $i = 0; + $DB->query("SELECT GroupID + FROM torrents_votes AS v + JOIN torrents_group AS g ON g.ID = v.GroupID + WHERE g.Year BETWEEN $Year AND ".($Year+9)." + AND g.CategoryID = 1 + ORDER BY Score DESC LIMIT 100"); + while (list($GID) = $DB->next_record()) { + $Rankings[$GID] = ++$i; + } + $Cache->cache_value('voting_ranks_decade_'.$Year , $Rankings); + } + + return isset($Rankings[$GroupID])?$Rankings[$GroupID]:false; + } } ?> \ No newline at end of file diff --git a/sections/ajax/better/transcode.php b/sections/ajax/better/transcode.php index e76cb923..761d21ec 100644 --- a/sections/ajax/better/transcode.php +++ b/sections/ajax/better/transcode.php @@ -1,7 +1,11 @@ 3) { error(0); } +if(!isset($_GET['type']) || !is_number($_GET['type']) || $_GET['type'] > 3) { + error(0); +} $Options = array('v0','v2','320'); +$Encodings = array('V0 (VBR)', 'V2 (VBR)', '320'); +$EncodingKeys = array_fill_keys($Encodings, true); if ($_GET['type'] == 3) { $List = "!(v0 | v2 | 320)"; @@ -13,94 +17,113 @@ $_GET['type'] = display_str($_GET['type']); } } - -$Query = '@format FLAC @encoding '.$List; - +$SphQL = new SphinxQL_Query(); +$SphQL->select('id, groupid') + ->from('better_transcode') + ->where('logscore', 100) + ->where_match('FLAC', 'format') + ->where_match($List, 'encoding', false) + ->order_by('RAND()') + ->limit(0, TORRENTS_PER_PAGE, TORRENTS_PER_PAGE); if(!empty($_GET['search'])) { - $Query.=' @(groupname,artistname,yearfulltext) '.$SS->escape_string($_GET['search']); + $SphQL->where_match($_GET['search'], '(groupname,artistname,year,taglist)'); } -$SS->SetFilter('logscore', array(100)); -$SS->SetSortMode(SPH_SORT_EXTENDED, "@random"); -$SS->limit(0, TORRENTS_PER_PAGE); +$SphQLResult = $SphQL->query(); +$TorrentCount = $SphQLResult->get_meta('total'); -$SS->set_index(SPHINX_INDEX.' delta'); - -$Results = $SS->search($Query, '', 0, array(), '', ''); - -if(count($Results) == 0) { error('No results found!'); } -/* -// If some were fetched from memcached, get their artists -if(!empty($Results['matches'])) { // Fetch the artists for groups - $GroupIDs = array_keys($Results['matches']); - $Artists = Artists::get_artists($GroupIDs); - foreach($Artists as $GroupID=>$Data) { - if(!empty($Data[1])) { - $Results['matches'][$GroupID]['Artists']=$Data[1]; // Only use main artists - } - ksort($Results['matches'][$GroupID]); - } -} -*/ - // These ones were not found in the cache, run SQL -if(!empty($Results['notfound'])) { - $SQLResults = Torrents::get_groups($Results['notfound']); - - if(is_array($SQLResults['notfound'])) { // Something wasn't found in the db, remove it from results - reset($SQLResults['notfound']); - foreach($SQLResults['notfound'] as $ID) { - unset($SQLResults['matches'][$ID]); - unset($Results['matches'][$ID]); - } - } - - // Merge SQL results with memcached results - foreach($SQLResults['matches'] as $ID=>$SQLResult) { - $Results['matches'][$ID] = array_merge($Results['matches'][$ID], $SQLResult); - ksort($Results['matches'][$ID]); - } +if ($TorrentCount == 0) { + error('No results found!'); } -$Results = $Results['matches']; +$Results = $SphQLResult->to_array('groupid'); +$Groups = Torrents::get_groups(array_keys($Results)); +$Groups = $Groups['matches']; -$JsonResults = array(); -foreach($Results as $GroupID=>$Data) { -$Debug->log_var($Data); - list($Artists, $GroupCatalogueNumber, $ExtendedArtists, $GroupID2, $GroupName, $GroupRecordLabel, $ReleaseType, $TagList, $Torrents, $GroupVanityHouse, $GroupYear, $CategoryID, $FreeTorrent, $HasCue, $HasLog, $TotalLeechers, $LogScore, $ReleaseType, $ReleaseType, $TotalSeeders, $MaxSize, $TotalSnatched, $GroupTime) = array_values($Data); - - $DisplayName = ''; - if(count($Artists)>0) { - $DisplayName = Artists::display_artists(array('1'=>$Artists)); - } - $DisplayName.=''.$GroupName.''; - if($GroupYear>0) { $DisplayName.=" [".$GroupYear."]"; } - - $MissingEncodings = array('V0 (VBR)'=>1, 'V2 (VBR)'=>1, '320'=>1); - $FlacID = 0; - - foreach($Torrents as $Torrent) { - if(!empty($MissingEncodings[$Torrent['Encoding']])) { - $MissingEncodings[$Torrent['Encoding']] = 0; - } elseif($Torrent['Format'] == 'FLAC' && $FlacID == 0) { - $FlacID = $Torrent['ID']; - } - } - - if($_GET['type'] == '3' && in_array(0, $MissingEncodings)) { +$TorrentGroups = array(); +foreach ($Groups as $GroupID => $Group) { + if (empty($Group['Torrents'])) { + unset($Groups[$GroupID]); continue; } + foreach ($Group['Torrents'] as $Torrent) { + $TorRemIdent = "$Torrent[Media] $Torrent[RemasterYear] $Torrent[RemasterTitle] $Torrent[RemasterRecordLabel] $Torrent[RemasterCatalogueNumber]"; + if (!isset($TorrentGroups[$Group['ID']])) { + $TorrentGroups[$Group['ID']] = array( + $TorRemIdent => array( + 'FlacID' => 0, + 'Formats' => array(), + 'RemasterTitle' => $Torrent['RemasterTitle'], + 'RemasterYear' => $Torrent['RemasterYear'], + 'RemasterRecordLabel' => $Torrent['RemasterRecordLabel'], + 'RemasterCatalogueNumber' => $Torrent['RemasterCatalogueNumber'], + 'IsSnatched' => false + ) + ); + } elseif (!isset($TorrentGroups[$Group['ID']][$TorRemIdent])) { + $TorrentGroups[$Group['ID']][$TorRemIdent] = array( + 'FlacID' => 0, + 'Formats' => array(), + 'RemasterTitle' => $Torrent['RemasterTitle'], + 'RemasterYear' => $Torrent['RemasterYear'], + 'RemasterRecordLabel' => $Torrent['RemasterRecordLabel'], + 'RemasterCatalogueNumber' => $Torrent['RemasterCatalogueNumber'], + 'IsSnatched' => false + ); + } + if (isset($EncodingKeys[$Torrent['Encoding']])) { + $TorrentGroups[$Group['ID']][$TorRemIdent]['Formats'][$Torrent['Encoding']] = true; + } elseif ($TorrentGroups[$Group['ID']][$TorRemIdent]['FlacID'] == 0 && $Torrent['Format'] == 'FLAC' && $Torrent['LogScore'] == 100) { + $TorrentGroups[$Group['ID']][$TorRemIdent]['FlacID'] = $Torrent['ID']; + $TorrentGroups[$Group['ID']][$TorRemIdent]['IsSnatched'] = $Torrent['IsSnatched']; + } + } +} - $JsonResults[] = array( - 'torrentId' => (int) $TorrentID, - 'groupId' => (int) $GroupID, - 'artist' => $DisplayName, - 'groupName' => $GroupName, - 'groupYear' => (int) $GroupYear, - 'missingV2' => $MissingEncodings['V2 (VBR)'] == 0, - 'missingV0' => $MissingEncodings['V0 (VBR)'] == 0, - 'missing320' => $MissingEncodings['320'] == 0, - 'downloadUrl' => 'torrents.php?action=download&id='.$FlacID.'&authkey='.$LoggedUser['AuthKey'].'&torrent_pass='.$LoggedUser['torrent_pass'] - ); +$JsonResults = array(); +foreach ($TorrentGroups as $GroupID => $Editions) { + $GroupInfo = $Groups[$GroupID]; + $GroupYear = $GroupInfo['Year']; + $ExtendedArtists = $GroupInfo['ExtendedArtists']; + $GroupCatalogueNumber = $GroupInfo['CatalogueNumber']; + $GroupName = $GroupInfo['Name']; + $GroupRecordLabel = $GroupInfo['RecordLabel']; + $ReleaseType = $GroupInfo['ReleaseType']; + + if (!empty($ExtendedArtists[1]) || !empty($ExtendedArtists[4]) || !empty($ExtendedArtists[5]) || !empty($ExtendedArtists[6])) { + unset($ExtendedArtists[2]); + unset($ExtendedArtists[3]); + $ArtistNames = Artists::display_artists($ExtendedArtists, false, false, false); + } else { + $ArtistNames = ''; + } + + $TagList = array(); + $TagList = explode(' ',str_replace('_','.',$GroupInfo['TagList'])); + $TorrentTags = array(); + foreach ($TagList as $Tag) { + $TorrentTags[] = ''.$Tag.''; + } + $TorrentTags = implode(', ', $TorrentTags); + foreach ($Editions as $RemIdent => $Edition) { + if (!$Edition['FlacID'] + || !empty($Edition['Formats']) && $_GET['type'] == 3 + || $Edition['Formats'][$Encodings[$_GET['type']]] == true) { + continue; + } + + $JsonResults[] = array( + 'torrentId' => (int) $Edition['FlacID'], + 'groupId' => (int) $GroupID, + 'artist' => $ArtistNames, + 'groupName' => $GroupName, + 'groupYear' => (int) $GroupYear, + 'missingV2' => !isset($Edition['Formats']['V2 (VBR)']), + 'missingV0' => !isset($Edition['Formats']['V0 (VBR)']), + 'missing320' => !isset($Encodings['Formats']['320']), + 'downloadUrl' => 'torrents.php?action=download&id='.$Edition['FlacID'].'&authkey='.$LoggedUser['AuthKey'].'&torrent_pass='.$LoggedUser['torrent_pass'] + ); + } } print json_encode( diff --git a/sections/reportsv2/ajax_report.php b/sections/reportsv2/ajax_report.php index ec1b083c..91890371 100644 --- a/sections/reportsv2/ajax_report.php +++ b/sections/reportsv2/ajax_report.php @@ -34,7 +34,7 @@ ?> - Image(s)(Required)' : '')?> + Image(s)(Required):' : '')?> @@ -46,7 +46,7 @@ ?> - Track Number(s)(Required)' : '')?> + Track Number(s)(Required):' : '')?> All' : '')?> @@ -58,7 +58,7 @@ ?> - Link(s) to external source(Required)' : '')?> + Link(s) to external source(Required):' : '')?> @@ -70,7 +70,7 @@ ?> - Permalink to relevant other torrent(s)(Required)' : '')?> + Permalink to other relevant torrent(s)(Required):' : '')?> @@ -82,7 +82,7 @@ ?> - Comments (Required) + Comments (Required): diff --git a/sections/reportsv2/array.php b/sections/reportsv2/array.php index e78f98ad..8cad2d05 100644 --- a/sections/reportsv2/array.php +++ b/sections/reportsv2/array.php @@ -58,7 +58,7 @@ 'title' => 'Urgent', 'report_messages' => array( 'This report type is only for the very urgent reports, usually for personal information being found within a torrent.', - 'Abusing the Urgent reports could result in a warning or worse', + 'Abusing the Urgent reports could result in a warning or worse.', 'As this report type gives the staff absolutely no information about the problem, please be as clear as possible in your comments about what the problem is.' ), 'report_fields' => array( @@ -79,7 +79,7 @@ 'reason' => '-1', 'title' => 'Other', 'report_messages' => array( - 'Please include as much information as possible to verify the report' + 'Please include as much information as possible to verify the report.' ), 'report_fields' => array( ), @@ -96,7 +96,7 @@ 'title' => 'Trump', 'report_messages' => array( 'Please list the specific reason(s) the newer torrent trumps the older one.', - 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' + 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' ), 'report_fields' => array( @@ -117,7 +117,7 @@ 'title' => 'Tag Trump', 'report_messages' => array( 'Please list the specific tag(s) the newer torrent trumps the older one.', - 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' + 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' ), 'report_fields' => array( 'sitelink' => '1' @@ -136,7 +136,7 @@ 'title' => 'Vinyl Trump', 'report_messages' => array( 'Please list the specific reason(s) the newer torrent trumps the older one.', - 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' + 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' ), 'report_fields' => array( @@ -155,8 +155,8 @@ 'reason' => '3', 'title' => 'Bad Folder Name Trump', 'report_messages' => array( - 'Please list the folder name and what is wrong with it', - 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' + 'Please list the folder name and what is wrong with it.', + 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' ), 'report_fields' => array( 'sitelink' => '1' @@ -176,7 +176,7 @@ 'title' => 'Bad File Names Trump', 'report_messages' => array( 'Please describe what is wrong with the file names.', - 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' + 'Please make sure you are reporting the torrent which has been trumped and should be deleted, not the torrent that you think should remain on site.' ), 'report_fields' => array( 'sitelink' => '1' @@ -194,7 +194,7 @@ 'reason' => '15', 'title' => 'Track(s) Missing', 'report_messages' => array( - 'Please list the track number and title of the missing track', + 'Please list the track number and title of the missing track.', 'If possible, please provide a link to Amazon.com or another source showing the proper track listing.' ), 'report_fields' => array( @@ -312,8 +312,8 @@ 'title' => 'Unsplit Album Rip', 'report_messages' => array( "If possible, please provide a link to Amazon.com or another source showing the proper track listing.", - "This option is for uploads of CDs ripped as a single track when it should be split as on the CD", - "This option is not to be confused with uploads of a single track, taken from a CD with multiple tracks (Tracks Missing)" + "This option is for uploads of CDs ripped as a single track when it should be split as on the CD.", + "This option is not to be confused with uploads of a single track, taken from a CD with multiple tracks (Tracks Missing)." ), 'report_fields' => array( 'link' => '0' @@ -403,7 +403,7 @@ 'reason' => '5', 'title' => 'Disallowed Format', 'report_messages' => array( - "If applicable, list the relevant tracks" + "If applicable, list the relevant tracks." ), 'report_fields' => array( 'track' => '0' @@ -443,7 +443,7 @@ 'reason' => '12', 'title' => 'Radio/TV/FM/WEB Rip', 'report_messages' => array( - "Please include as much information as possible to verify the report" + "Please include as much information as possible to verify the report." ), 'report_fields' => array( 'link' => '0' @@ -461,7 +461,7 @@ 'reason' => '7', 'title' => 'Discography', 'report_messages' => array( - "Please include as much information as possible to verify the report" + "Please include as much information as possible to verify the report." ), 'report_fields' => array( 'link' => '0' @@ -479,7 +479,7 @@ 'reason' => '19', 'title' => 'User Compilation', 'report_messages' => array( - "Please include as much information as possible to verify the report" + "Please include as much information as possible to verify the report." ), 'report_fields' => array( 'link' => '0' @@ -498,7 +498,7 @@ 'reason' => '-1', 'title' => 'No Lineage Info', 'report_messages' => array( - "Please list the specific information missing from the torrent (hardware, software, etc.)" + "Please list the specific information missing from the torrent (hardware, software, etc.)." ), 'report_fields' => array( ), @@ -534,7 +534,7 @@ 'reason' => '22', 'title' => 'Audience Recording', 'report_messages' => array( - "Please include as much information as possible to verify the report" + "Please include as much information as possible to verify the report." ), 'report_fields' => array( 'link' => '0' @@ -611,7 +611,7 @@ 'title' => 'Log Rescore Request', 'report_messages' => array( "It could help us if you say exactly why you believe this log requires rescoring.", - "For example, if it's a foreign log which needs scoring, or if the log wasn't uploaded at all" + "For example, if it's a foreign log which needs scoring, or if the log wasn't uploaded at all." ), 'report_fields' => array( ), @@ -633,7 +633,7 @@ 'reason' => '-1', 'title' => 'No Crack/Keygen/Patch', 'report_messages' => array( - 'Please include as much information as possible to verify the report', + 'Please include as much information as possible to verify the report.', ), 'report_fields' => array( 'link' => '0' @@ -651,7 +651,7 @@ 'reason' => '-1', 'title' => 'Game', 'report_messages' => array( - 'Please include as much information as possible to verify the report', + 'Please include as much information as possible to verify the report.', ), 'report_fields' => array( 'link' => '0' @@ -688,7 +688,7 @@ 'reason' => '-1', 'title' => 'No Description', 'report_messages' => array( - 'If possible, please provide a link to an accurate description', + 'If possible, please provide a link to an accurate description.', ), 'report_fields' => array( 'link' => '0' @@ -706,7 +706,7 @@ 'reason' => '-1', 'title' => 'Archived Pack', 'report_messages' => array( - 'Please include as much information as possible to verify the report' + 'Please include as much information as possible to verify the report.' ), 'report_fields' => array( 'link' => '0' @@ -725,7 +725,7 @@ 'reason' => '-1', 'title' => 'Collection of Cracks', 'report_messages' => array( - 'Please include as much information as possible to verify the report' + 'Please include as much information as possible to verify the report.' ), 'report_fields' => array( 'link' => '0' @@ -743,7 +743,7 @@ 'reason' => '-1', 'title' => 'Hacking Tool', 'report_messages' => array( - 'Please include as much information as possible to verify the report', + 'Please include as much information as possible to verify the report.', ), 'report_fields' => array( 'link' => '0' @@ -801,7 +801,7 @@ 'reason' => '-1', 'title' => 'Unrelated Ebooks', 'report_messages' => array( - 'Please include as much information as possible to verify the report' + 'Please include as much information as possible to verify the report.' ), 'report_fields' => array( ), @@ -841,7 +841,7 @@ 'reason' => '-1', 'title' => 'Disallowed Topic', 'report_messages' => array( - 'Please include as much information as possible to verify the report' + 'Please include as much information as possible to verify the report.' ), 'report_fields' => array( 'link' => '0' @@ -861,7 +861,7 @@ 'reason' => '-1', 'title' => 'Talkshow/Podcast', 'report_messages' => array( - 'Please include as much information as possible to verify the report' + 'Please include as much information as possible to verify the report.' ), 'report_fields' => array( 'link' => '0' @@ -881,7 +881,7 @@ 'reason' => '-1', 'title' => 'Multiple Comic Titles', 'report_messages' => array( - 'Please include as much information as possible to verify the report' + 'Please include as much information as possible to verify the report.' ), 'report_fields' => array( 'link' => '0' @@ -899,7 +899,7 @@ 'reason' => '-1', 'title' => 'Multiple Volumes', 'report_messages' => array( - 'Please include as much information as possible to verify the report' + 'Please include as much information as possible to verify the report.' ), 'report_fields' => array( 'link' => '0' diff --git a/sections/rules/tag.php b/sections/rules/tag.php index 620e5596..3901919d 100644 --- a/sections/rules/tag.php +++ b/sections/rules/tag.php @@ -9,17 +9,17 @@
    -
  • Tags should be comma separated, and you should use a period ('.') to separate words inside a tag - eg. 'hip.hop'. +
  • Tags should be comma separated, and you should use a period ('.') to separate words inside a tag - eg. 'hip.hop'.
  • - There is a list of official tags on upload.php. Please use these tags instead of 'unofficial' tags (eg. use the official 'drum.and.bass' tag, instead of an unofficial 'dnb' tag.) + There is a list of official tags on upload.php. Please use these tags instead of 'unofficial' tags (eg. use the official 'drum.and.bass' tag, instead of an unofficial 'dnb' tag.)
  • - Avoid abbreviations if at all possible. So instead of tagging an album as 'alt', tag it as 'alternative'. Make sure that you use correct spelling. + Avoid abbreviations if at all possible. So instead of tagging an album as 'alt', tag it as 'alternative'. Make sure that you use correct spelling.
  • - Avoid using multiple synonymous tags. Using both 'prog.rock' and 'progressive.rock' is redundant and annoying - just use the official 'progressive.rock' tag. + Avoid using multiple synonymous tags. Using both 'prog.rock' and 'progressive.rock' is redundant and annoying - just use the official 'progressive.rock' tag.
  • - Don't use 'useless' tags, such as 'seen.live', 'awesome', 'rap' (is encompassed by 'hip.hop'), etc. If an album is live, you can tag it as 'live'. + Don't use 'useless' tags, such as 'seen.live', 'awesome', 'rap' (is encompassed by 'hip.hop'), etc. If an album is live, you can tag it as 'live'.
  • - Only tag information on the album itself - NOT THE INDIVIDUAL RELEASE. Tags such as 'v0', 'eac', 'vinyl', 'from.oink' etc are strictly forbidden. Remember that these tags will be used for other versions of the same album. + Only tag information on the album itself - NOT THE INDIVIDUAL RELEASE. Tags such as 'v0', 'eac', 'vinyl', 'from.oink' etc are strictly forbidden. Remember that these tags will be used for other versions of the same album.
diff --git a/sections/torrents/details.php b/sections/torrents/details.php index b41eec2e..007d1582 100644 --- a/sections/torrents/details.php +++ b/sections/torrents/details.php @@ -306,6 +306,7 @@ function compare($X, $Y){
diff --git a/sections/torrents/vote_ranks.php b/sections/torrents/vote_ranks.php new file mode 100644 index 00000000..eeca80ce --- /dev/null +++ b/sections/torrents/vote_ranks.php @@ -0,0 +1,38 @@ +'overall', + 'decade'=>'for the '.($GroupYear-($GroupYear%10)).'s', + 'year'=>"for $GroupYear"); + + foreach ($names as $key => $text) { + if ($Rank = $Rankings[$key]) { + if ($Rank <= 10) { + $Class = "vr_top_10"; + } elseif ($Rank <= 25) { + $Class = "vr_top_25"; + } elseif ($Rank <= 50) { + $Class = "vr_top_50"; + } + + $LIs .= '
  • No. '.$Rank.' '.$text.'
  • '; + } + } + + if ($LIs != '') { +?> +
    +
    Favorites
    +
    +
      + +
    +
    +
    + \ No newline at end of file