mirror of
https://github.com/WhatCD/Gazelle.git
synced 2025-02-21 20:59:02 +00:00
Comment out title field check from audiobook edits
Re-use get_thread_info function Enable VBR checkbox in audiobook edit form Pre-fill bitrate fields in torrent edit form
This commit is contained in:
parent
d208bf8817
commit
d3b5585c3e
@ -123,7 +123,9 @@ function local_url($Str) {
|
||||
$URLInfo = parse_url($Str);
|
||||
if(!$URLInfo) { return false; }
|
||||
$Host = $URLInfo['host'];
|
||||
if($Host == NONSSL_SITE_URL || $Host == SSL_SITE_URL || $Host == 'www.'.NONSSL_SITE_URL) {
|
||||
// If for some reason your site does not require subdomains or contains a directory in the SITE_URL, revert to the line below.
|
||||
//if($Host == NONSSL_SITE_URL || $Host == SSL_SITE_URL || $Host == 'www.'.NONSSL_SITE_URL) {
|
||||
if(preg_match('/(\S+\.)*'.NONSSL_SITE_URL.'/', $Host)) {
|
||||
$URL = $URLInfo['path'];
|
||||
if(!empty($URLInfo['query'])) {
|
||||
$URL.='?'.$URLInfo['query'];
|
||||
|
@ -117,7 +117,12 @@ function foot() {
|
||||
<tr id="freetorrent">
|
||||
<td class="label">Freeleech</td>
|
||||
<td>
|
||||
<input type="checkbox" name="freeleech"<?=$Torrent['FreeTorrent'] ? ' checked="checked"' : ''?> /> Checking this box will make the torrent freeleech. Don't abuse it.
|
||||
<select name="freeleech">
|
||||
<? $FL = array("Normal", "Free", "Neutral");
|
||||
foreach($FL as $Key => $Name) { ?>
|
||||
<option value="<?=$Key?>" <?=($Key == $Torrent['FreeTorrent'] ? ' selected="selected"' : '')?>><?=$Name?></option>
|
||||
<? } ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
@ -51,6 +51,7 @@
|
||||
|
||||
$Debug = new DEBUG;
|
||||
$Debug->handle_errors();
|
||||
$Debug->set_flag('Debug constructed');
|
||||
|
||||
$DB = new DB_MYSQL;
|
||||
$Cache = new CACHE;
|
||||
@ -390,10 +391,17 @@ function site_ban_ip($IP) {
|
||||
$IP = ip2unsigned($IP);
|
||||
$IPBans = $Cache->get_value('ip_bans');
|
||||
if(!is_array($IPBans)) {
|
||||
//Cache lock!
|
||||
$Lock = $Cache->get_value('ip_bans_lock');
|
||||
if($Lock) {
|
||||
?><script type="script/javascript">setTimeout('window.location="http://<?=NONSSL_SITE_URL?><?=$_SERVER['REQUEST_URI']?>"', 5)</script><?
|
||||
} else {
|
||||
$Cache->cache_value('ip_bans_lock', '1', 10);
|
||||
$DB->query("SELECT ID, FromIP, ToIP FROM ip_bans");
|
||||
$IPBans = $DB->to_array('ID');
|
||||
$Cache->cache_value('ip_bans', $IPBans, 0);
|
||||
}
|
||||
}
|
||||
foreach($IPBans as $Index => $IPBan) {
|
||||
list($ID, $FromIP, $ToIP) = $IPBan;
|
||||
if($IP >= $FromIP && $IP <= $ToIP) {
|
||||
@ -1646,7 +1654,8 @@ function update_sphinx_requests($RequestID) {
|
||||
UNIX_TIMESTAMP(TimeFilled) AS TimeFilled, Visible,
|
||||
COUNT(rv.UserID) AS Votes, SUM(rv.Bounty) >> 10 AS Bounty
|
||||
FROM requests AS r LEFT JOIN requests_votes AS rv ON rv.RequestID=r.ID
|
||||
WHERE ID = ".$RequestID);
|
||||
wHERE ID = ".$RequestID."
|
||||
GROUP BY r.ID");
|
||||
|
||||
$DB->query("UPDATE sphinx_requests_delta
|
||||
SET ArtistList = (SELECT
|
||||
@ -1696,7 +1705,8 @@ function torrent_info($Data) {
|
||||
if(!empty($Data['HasCue'])) { $Info[]='Cue'; }
|
||||
if(!empty($Data['Media'])) { $Info[]=$Data['Media']; }
|
||||
if(!empty($Data['Scene'])) { $Info[]='Scene'; }
|
||||
if(!empty($Data['FreeTorrent'])) { $Info[]='<strong>Freeleech!</strong>'; }
|
||||
if($Data['FreeTorrent'] == '1') { $Info[]='<strong>Freeleech!</strong>'; }
|
||||
if($Data['FreeTorrent'] == '2') { $Info[]='<strong>Neutral Leech!</strong>'; }
|
||||
return implode(' / ', $Info);
|
||||
}
|
||||
|
||||
@ -1762,6 +1772,15 @@ function disable_users($UserIDs, $AdminComment, $BanReason = 1) {
|
||||
*/
|
||||
$Cache->delete_value('enabled_'.$UserID);
|
||||
$Cache->delete_value('user_info_'.$UserID);
|
||||
$Cache->delete_value('user_info_heavy_'.$UserID);
|
||||
$Cache->delete_value('user_stats_'.$UserID);
|
||||
|
||||
$DB->query("SELECT SessionID FROM users_sessions WHERE UserID='$UserID'");
|
||||
while(list($SessionID) = $DB->next_record()) {
|
||||
$Cache->delete_value('session_'.$UserID.'_'.$SessionID);
|
||||
}
|
||||
$Cache->delete_value('users_sessions_'.$UserID);
|
||||
$DB->query("DELETE FROM users_sessions WHERE UserID='$UserID'");
|
||||
}
|
||||
$DB->query("SELECT torrent_pass FROM users_main WHERE ID in (".implode(", ",$UserIDs).")");
|
||||
$PassKeys = $DB->collect('torrent_pass');
|
||||
|
@ -1,87 +0,0 @@
|
||||
<?
|
||||
function make_utf8($Str) {
|
||||
if ($Str!="") {
|
||||
if (is_utf8($Str)) { $Encoding="UTF-8"; }
|
||||
if (empty($Encoding)) { $Encoding=mb_detect_encoding($Str,'UTF-8, ISO-8859-1'); }
|
||||
if (empty($Encoding)) { $Encoding="ISO-8859-1"; }
|
||||
if ($Encoding=="UTF-8") { return $Str; }
|
||||
else { return @mb_convert_encoding($Str,"UTF-8",$Encoding); }
|
||||
}
|
||||
}
|
||||
|
||||
function is_utf8($Str) {
|
||||
return preg_match('%^(?:
|
||||
[\x09\x0A\x0D\x20-\x7E] // ASCII
|
||||
| [\xC2-\xDF][\x80-\xBF] // non-overlong 2-byte
|
||||
| \xE0[\xA0-\xBF][\x80-\xBF] // excluding overlongs
|
||||
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} // straight 3-byte
|
||||
| \xED[\x80-\x9F][\x80-\xBF] // excluding surrogates
|
||||
| \xF0[\x90-\xBF][\x80-\xBF]{2} // planes 1-3
|
||||
| [\xF1-\xF3][\x80-\xBF]{3} // planes 4-15
|
||||
| \xF4[\x80-\x8F][\x80-\xBF]{2} // plane 16
|
||||
)*$%xs', $Str
|
||||
);
|
||||
}
|
||||
|
||||
function is_number($Str) {
|
||||
$Return = true;
|
||||
if ($Str < 0) { $Return = false; }
|
||||
// We're converting input to a int, then string and comparing to original
|
||||
$Return = ($Str == strval(intval($Str)) ? true : false);
|
||||
return $Return;
|
||||
}
|
||||
|
||||
function display_str($Str) {
|
||||
if (empty($Str)) {
|
||||
return '';
|
||||
}
|
||||
if ($Str!='' && !is_number($Str)) {
|
||||
$Str=make_utf8($Str);
|
||||
$Str=mb_convert_encoding($Str,"HTML-ENTITIES","UTF-8");
|
||||
$Str=preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,5};)/m","&",$Str);
|
||||
|
||||
$Replace = array(
|
||||
"'",'"',"<",">",
|
||||
'€','‚','ƒ','„','…','†','‡','ˆ','‰','Š','‹','Œ','Ž','‘','’','“','”','•','–','—','˜','™','š','›','œ','ž','Ÿ'
|
||||
);
|
||||
|
||||
$With=array(
|
||||
''','"','<','>',
|
||||
'€','‚','ƒ','„','…','†','‡','ˆ','‰','Š','‹','Œ','Ž','‘','’','“','”','•','–','—','˜','™','š','›','œ','ž','Ÿ'
|
||||
);
|
||||
|
||||
$Str=str_replace($Replace,$With,$Str);
|
||||
}
|
||||
return $Str;
|
||||
}
|
||||
|
||||
require('classes/class_useragent.php'); //Require the useragent class
|
||||
$UA = new USER_AGENT;
|
||||
$Browser = $UA->browser($_SERVER['HTTP_USER_AGENT']);
|
||||
$OperatingSystem = $UA->operating_system($_SERVER['HTTP_USER_AGENT']);
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<title><script> Defer Bug</title>
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript" defer="defer"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Defer bug test (Gecko 1.9.2+)</h2>
|
||||
<p>This page showcases issues with browsers and defer loading with the preservation of content order.</p>
|
||||
<p>As one can see in this demo, the implementation of the HTML5 changes to <script defer> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=518104">1</a>) has resulted in several small issues, originating from the way this has been used historically. Up until the past year, javascript execution has been painfully slow, to an extent that things like Google Analytics advised the placement of their javascript in file footers (a contradiction to another part of the spec). The defer attribute has been used in such cases to allowe ECMAScript to remain in the correct inclusion location without blocking the download of content or the rendering of the webpage. This lowered the percieved load time, the <em>most</em> important number in web development (notably for encouraging users to return). Because of this change however, not only has this percieved performance gain been sacrificed, but a relatively serious backwords compatibility issue for sites using defer in their natural code execution pattern.</p>
|
||||
<p>Because of this combination of breaking various script loading patterns, a decrease in user percieved performance, the fact that all other browsers thus far have opted out of this adaptation of the spec, and the resulting encouragement this would give web developers to include scripts outside the page header; I am humbly noting that this additional 'clarification' contained in the HTML5 spec is flawed in nature and should be reverted to it's prior method.</p>
|
||||
<strong>Browser Info</strong>
|
||||
<ul>
|
||||
<li>Detected platform: <?=$OperatingSystem?></li>
|
||||
<li>Detected browser: <?=$Browser?></li>
|
||||
<li>User-Agent: <?=display_str($_SERVER['HTTP_USER_AGENT'])?></li>
|
||||
</ul>
|
||||
<p>To clarify for the confused: if you get the alert, your browser has this bug, if you do not get the alert, your browser is working fine.</p>
|
||||
<script type="text/javascript" defer="defer">
|
||||
if (typeof($) === 'undefined') {
|
||||
alert('jQuery was not loaded prior to inline code execution');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -759,7 +759,7 @@ CREATE TABLE `torrents` (
|
||||
`Leechers` int(6) NOT NULL DEFAULT '0',
|
||||
`Seeders` int(6) NOT NULL DEFAULT '0',
|
||||
`last_action` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`FreeTorrent` enum('0','1') NOT NULL DEFAULT '0',
|
||||
`FreeTorrent` enum('0','1','2') NOT NULL DEFAULT '0',
|
||||
`FreeLeechType` enum('0','1','2','3') NOT NULL DEFAULT '0',
|
||||
`Dupable` enum('0','1') NOT NULL DEFAULT '0',
|
||||
`DupeReason` varchar(40) DEFAULT NULL,
|
||||
|
@ -580,7 +580,7 @@ function compare($X, $Y){
|
||||
<?
|
||||
$TagList = array();
|
||||
foreach($Tags as $TagID => $TagName) {
|
||||
$TagList[] = "<a href='requests.php?tag=".$TagID."'>".display_str($TagName)."</a>";
|
||||
$TagList[] = "<a href='requests.php?tags=".$TagName."'>".display_str($TagName)."</a>";
|
||||
}
|
||||
$TagList = implode(', ', $TagList);
|
||||
?>
|
||||
|
@ -456,67 +456,7 @@ function display_name($ReleaseType) {
|
||||
</div>
|
||||
</div>
|
||||
<? }
|
||||
//<strip>
|
||||
if(check_perms('zip_downloader')){
|
||||
if(isset($LoggedUser['Collector'])) {
|
||||
list($ZIPList,$ZIPPrefs) = $LoggedUser['Collector'];
|
||||
$ZIPList = explode(':',$ZIPList);
|
||||
} else {
|
||||
$ZIPList = array('00','11');
|
||||
$ZIPPrefs = 1;
|
||||
}
|
||||
?>
|
||||
<div class="box">
|
||||
<div class="head colhead_dark"><strong>Collector</strong></div>
|
||||
<div class="pad">
|
||||
<form action="artist.php" method="post">
|
||||
<input type="hidden" name="action" value="download" />
|
||||
<input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>" />
|
||||
<input type="hidden" name="artistid" value="<?=$ArtistID?>" />
|
||||
<ul id="list" class="nobullet">
|
||||
<? foreach ($ZIPList as $ListItem) { ?>
|
||||
<li id="list<?=$ListItem?>">
|
||||
<input type="hidden" name="list[]" value="<?=$ListItem?>" />
|
||||
<span style="float:left;"><?=$ZIPOptions[$ListItem]['2']?></span>
|
||||
<a href="#" onclick="remove_selection('<?=$ListItem?>');return false;" style="float:right;">[X]</a>
|
||||
<br style="clear:all;" />
|
||||
</li>
|
||||
<? } ?>
|
||||
</ul>
|
||||
<select id="formats" style="width:180px">
|
||||
<?
|
||||
$OpenGroup = false;
|
||||
$LastGroupID=-1;
|
||||
|
||||
foreach ($ZIPOptions as $Option) {
|
||||
list($GroupID,$OptionID,$OptName) = $Option;
|
||||
|
||||
if($GroupID!=$LastGroupID) {
|
||||
$LastGroupID=$GroupID;
|
||||
if($OpenGroup) { ?>
|
||||
</optgroup>
|
||||
<? } ?>
|
||||
<optgroup label="<?=$ZIPGroups[$GroupID]?>">
|
||||
<? $OpenGroup = true;
|
||||
}
|
||||
?>
|
||||
<option id="opt<?=$GroupID.$OptionID?>" value="<?=$GroupID.$OptionID?>"<? if(in_array($GroupID.$OptionID,$ZIPList)){ echo ' disabled="disabled"'; }?>><?=$OptName?></option>
|
||||
<?
|
||||
}
|
||||
?>
|
||||
</optgroup>
|
||||
</select>
|
||||
<button type="button" onclick="add_selection()">+</button>
|
||||
<select name="preference" style="width:210px">
|
||||
<option value="0"<? if($ZIPPrefs==0){ echo ' selected="selected"'; } ?>>Prefer Original</option>
|
||||
<option value="1"<? if($ZIPPrefs==1){ echo ' selected="selected"'; } ?>>Prefer Best Seeded</option>
|
||||
<option value="2"<? if($ZIPPrefs==2){ echo ' selected="selected"'; } ?>>Prefer Bonus Tracks</option>
|
||||
</select>
|
||||
<input type="submit" style="width:210px" value="Download" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<? } //<strip>
|
||||
?>
|
||||
<div class="box">
|
||||
<div class="head"><strong>Tags</strong></div>
|
||||
@ -665,7 +605,7 @@ function display_name($ReleaseType) {
|
||||
<?
|
||||
$TagList = array();
|
||||
foreach($Tags as $TagID => $TagName) {
|
||||
$TagList[] = "<a href='requests.php?tag=".$TagID."'>".display_str($TagName)."</a>";
|
||||
$TagList[] = "<a href='requests.php?tags=".$TagName."'>".display_str($TagName)."</a>";
|
||||
}
|
||||
$TagList = implode(', ', $TagList);
|
||||
?>
|
||||
|
@ -27,7 +27,7 @@
|
||||
SQL template:
|
||||
SELECT
|
||||
CASE
|
||||
WHEN t.Format='Ogg' THEN 0
|
||||
WHEN t.Format='Ogg Vorbis' THEN 0
|
||||
WHEN t.Format='MP3' AND t.Encoding='V0 (VBR)' THEN 1
|
||||
WHEN t.Format='MP3' AND t.Encoding='V2 (VBR)' THEN 2
|
||||
ELSE 100
|
||||
@ -91,7 +91,7 @@
|
||||
case '35': $SQL .= "t.Format='FLAC' AND t.Encoding='Lossless' AND HasLog='1'"; break;
|
||||
case '36': $SQL .= "t.Format='FLAC' AND t.Encoding='Lossless'"; break;
|
||||
case '40': $SQL .= "t.Format='DTS'"; break;
|
||||
case '41': $SQL .= "t.Format='Ogg'"; break;
|
||||
case '41': $SQL .= "t.Format='Ogg Vorbis'"; break;
|
||||
case '42': $SQL .= "t.Format='AAC' AND t.Encoding='320'"; break;
|
||||
case '43': $SQL .= "t.Format='AAC' AND t.Encoding='256'"; break;
|
||||
case '44': $SQL .= "t.Format='AAC' AND t.Encoding='q5.5'"; break;
|
||||
|
@ -86,6 +86,14 @@
|
||||
Torrents that have been marked as having 'Bad File Names'.
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowb">
|
||||
<td class="nobr">
|
||||
<a href="better.php?method=single">Single seeded FLAC torrents</a>
|
||||
</td>
|
||||
<td class="nobr">
|
||||
FLAC torrents that only have one seeder, show them some love!
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
@ -7,6 +7,9 @@
|
||||
case 'transcode':
|
||||
include(SERVER_ROOT.'/sections/better/transcode.php');
|
||||
break;
|
||||
case 'single':
|
||||
include(SERVER_ROOT.'/sections/better/single.php');
|
||||
break;
|
||||
case 'snatch':
|
||||
include(SERVER_ROOT.'/sections/better/snatch.php');
|
||||
break;
|
||||
|
50
sections/better/single.php
Normal file
50
sections/better/single.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?
|
||||
if(($GroupIDs = $Cache->get_value('better_single_groupids')) === false) {
|
||||
$DB->query("SELECT t.ID AS TorrentID,
|
||||
t.GroupID AS GroupID
|
||||
FROM xbt_files_users AS x
|
||||
JOIN torrents AS t ON t.ID=x.fid
|
||||
WHERE t.Format='FLAC'
|
||||
GROUP BY x.fid
|
||||
HAVING COUNT(x.uid) = 1
|
||||
ORDER BY t.LogScore DESC, t.Time ASC LIMIT 30");
|
||||
|
||||
$GroupIDs = $DB->to_array('GroupID');
|
||||
$Cache->cache_value('better_single_groupids', $GroupIDs, 30*60);
|
||||
}
|
||||
|
||||
$Results = get_groups(array_keys($GroupIDs));
|
||||
|
||||
show_header('Single seeder FLACs');
|
||||
?>
|
||||
<div class="thin">
|
||||
<table width="100%">
|
||||
<tr class="colhead">
|
||||
<td>Torrent</td>
|
||||
</tr>
|
||||
<?
|
||||
$Results = $Results['matches'];
|
||||
foreach ($Results as $GroupID=>$Group) {
|
||||
list($GroupID, $GroupName, $GroupYear, $GroupRecordLabel, $GroupCatalogueNumber, $TagList, $ReleaseType, $Torrents, $Artists) = array_values($Group);
|
||||
$FlacID = $GroupIDs[$GroupID]['TorrentID'];
|
||||
|
||||
$DisplayName = '';
|
||||
if(count($Artists)>0) {
|
||||
$DisplayName = display_artists(array('1'=>$Artists));
|
||||
}
|
||||
$DisplayName.='<a href="torrents.php?id='.$GroupID.'&torrentid='.$FlacID.'" title="View Torrent">'.$GroupName.'</a>';
|
||||
if($GroupYear>0) { $DisplayName.=" [".$GroupYear."]"; }
|
||||
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<?=$DisplayName?>
|
||||
[<a href="torrents.php?action=download&id=<?=$FlacID?>&authkey=<?=$LoggedUser['AuthKey']?>&torrent_pass=<?=$LoggedUser['torrent_pass']?>">DL</a>]
|
||||
</td>
|
||||
</tr>
|
||||
<? } ?>
|
||||
</table>
|
||||
</div>
|
||||
<?
|
||||
show_footer();
|
||||
?>
|
@ -20,7 +20,7 @@
|
||||
$Query.=' @(groupname,artistname,yearfulltext) '.$SS->EscapeString($_GET['search']);
|
||||
}
|
||||
|
||||
$SS->SetFilter('logscore', array(100));//<strip>
|
||||
$SS->SetFilter('logscore', array(100));
|
||||
$SS->SetSortMode(SPH_SORT_EXTENDED, "@random");
|
||||
$SS->limit(0, TORRENTS_PER_PAGE);
|
||||
|
||||
|
@ -227,7 +227,7 @@ function compare($X, $Y){
|
||||
$DisplayName .= $GroupName;
|
||||
if($GroupYear>0) { $DisplayName = $DisplayName. ' ['. $GroupYear .']';}
|
||||
?>
|
||||
<td>
|
||||
<li class="image_group_<?=$GroupID?>">
|
||||
<a href="#group_<?=$GroupID?>">
|
||||
<? if($Image) { ?>
|
||||
<img src="<?=$Image?>" alt="<?=$DisplayName?>" title="<?=$DisplayName?>" width="117" />
|
||||
@ -235,7 +235,7 @@ function compare($X, $Y){
|
||||
<div style="width:107px;padding:5px"><?=$DisplayName?></div>
|
||||
<? } ?>
|
||||
</a>
|
||||
</td>
|
||||
</li>
|
||||
<?
|
||||
$Collage[]=ob_get_clean();
|
||||
|
||||
@ -245,7 +245,7 @@ function compare($X, $Y){
|
||||
<div class="thin">
|
||||
<h2><?=$Username?>'s Bookmarks</h2>
|
||||
<div class="linkbox">
|
||||
<a href="bookmarks.php?action=remove_snatched&auth=<?=$LoggedUser['AuthKey']?>" onclick="return confirm('Are you sure you want to remove the bookmarks for all items you've snatched?');">[Remove Snatched]</a>
|
||||
<a href="bookmarks.php?action=remove_snatched&auth=<?=$LoggedUser['AuthKey']?>" onclick="return confirm('Are you sure you want to remove the bookmarks for all items you\'ve snatched?');">[Remove Snatched]</a>
|
||||
</div>
|
||||
<div class="sidebar">
|
||||
<?
|
||||
@ -297,28 +297,13 @@ function compare($X, $Y){
|
||||
</div>
|
||||
<div class="main_column">
|
||||
<? if(empty($LoggedUser['HideCollage'])) { ?>
|
||||
<table class="collage" id="collage_table" cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<?
|
||||
$x = 0;
|
||||
foreach($Collage as $Group) {
|
||||
echo $Group;
|
||||
$x++;
|
||||
if($x%5==0) {
|
||||
?>
|
||||
</tr>
|
||||
<tr>
|
||||
<?
|
||||
}
|
||||
}
|
||||
if($x%5!=0) { // Padding
|
||||
?>
|
||||
<td colspan="<?=7-($x%7)?>"> </td>
|
||||
<ul class="collage_images">
|
||||
<? foreach($Collage as $Group) { ?>
|
||||
<?=$Group?>
|
||||
<? } ?>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</ul>
|
||||
<? } ?>
|
||||
<br />
|
||||
<table class="torrent_table" id="torrent_table">
|
||||
<tr class="colhead_dark">
|
||||
<td><!-- expand/collapse --></td>
|
||||
|
@ -26,7 +26,7 @@
|
||||
SQL template:
|
||||
SELECT
|
||||
CASE
|
||||
WHEN t.Format='Ogg' THEN 0
|
||||
WHEN t.Format='Ogg Vorbis' THEN 0
|
||||
WHEN t.Format='MP3' AND t.Encoding='V0 (VBR)' THEN 1
|
||||
WHEN t.Format='MP3' AND t.Encoding='V2 (VBR)' THEN 2
|
||||
ELSE 100
|
||||
@ -91,7 +91,7 @@
|
||||
case '35': $SQL .= "t.Format='FLAC' AND t.Encoding='Lossless' AND HasLog='1'"; break;
|
||||
case '36': $SQL .= "t.Format='FLAC' AND t.Encoding='Lossless'"; break;
|
||||
case '40': $SQL .= "t.Format='DTS'"; break;
|
||||
case '41': $SQL .= "t.Format='Ogg'"; break;
|
||||
case '41': $SQL .= "t.Format='Ogg Vorbis'"; break;
|
||||
case '42': $SQL .= "t.Format='AAC' AND t.Encoding='320'"; break;
|
||||
case '43': $SQL .= "t.Format='AAC' AND t.Encoding='256'"; break;
|
||||
case '44': $SQL .= "t.Format='AAC' AND t.Encoding='q5.5'"; break;
|
||||
|
@ -44,8 +44,8 @@
|
||||
<div class="center"><a href="torrents.php?id=<?=$FeaturedAlbum['GroupID']?>" title="<?=display_artists($Artists, false, false)?> - <?=$FeaturedAlbum['Name']?>"><img src="<?=$FeaturedAlbum['WikiImage']?>" alt="<?=display_artists($Artists, false, false)?> - <?=$FeaturedAlbum['Name']?>" width="100%" /></a></div>
|
||||
<div class="center pad"><a href="forums.php?action=viewthread&threadid=<?=$FeaturedAlbum['ThreadID']?>"><em>Discuss this album here!</em></a></div>
|
||||
</div>
|
||||
<? }
|
||||
//</strip>
|
||||
<?
|
||||
}
|
||||
?>
|
||||
<div class="box">
|
||||
<div class="head colhead_dark"><strong><a href="blog.php">Latest blog posts</a></strong></div>
|
||||
|
@ -717,7 +717,7 @@
|
||||
'upload' => '0',
|
||||
'warn' => '1',
|
||||
'delete' => '1',
|
||||
'pm' => 'Tutorials on how to use features of applications, musical instruments or computer hardware are the only allowed topics for eLearning Videos.'
|
||||
'pm' => 'Tutorials on how to use musical instruments, vocal training, producing music or otherwise learning the theory and practice of music are the only allowed topics.'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
@ -428,7 +428,7 @@
|
||||
<table id="request_table" cellpadding="6" cellspacing="1" border="0" class="border" width="100%">
|
||||
<tr class="colhead_dark">
|
||||
<td style="width: 38%;">
|
||||
<strong>Request Name</strong>
|
||||
<strong>Request Name</strong> / <a href="requests.php?order=year&sort=<?=(($CurrentOrder == 'year') ? $NewSort : 'desc')?>&<?=$CurrentURL ?>"><strong>Year</strong></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="requests.php?order=votes&sort=<?=(($CurrentOrder == 'votes') ? $NewSort : 'desc')?>&<?=$CurrentURL ?>"><strong>Votes</strong></a>
|
||||
|
@ -78,7 +78,6 @@
|
||||
|
||||
$Cache->delete_value('request_'.$RequestID);
|
||||
|
||||
$SS->UpdateAttributes('requests', array('torrentid','fillerid'), array($RequestID => array(0,0)));
|
||||
update_sphinx_requests($RequestID);
|
||||
|
||||
|
||||
|
@ -238,7 +238,7 @@
|
||||
<li id="r2.1.20"><a href="#h2.1"><strong>↑_</strong></a> <a href="#r2.1.20">2.1.20.</a> <strong>Sound sample packs must be uploaded to the Applications category.</strong> These releases are allowed only under the apps category; they are forbidden in music and other categories. Sound sample packs may use formats other than those allowed for music, and must be official collections. <a href="#r3.1.8">See 3.1.8.</a> for more information.
|
||||
</li>
|
||||
|
||||
<li id="r2.1.21"><a href="#h2.1"><strong>↑_</strong></a> <a href="#r2.1.21">2.1.21.</a> <strong>All music torrents must represent a complete album (a complete collection release).</strong> Albums must not be missing tracks, or discs in the case of a multi-disc release. All music torrents must be one release. If an album is released as a multiple set of CDs, then it must be uploaded as a single torrent. Uploading each disc separately is not allowed. Digital downloads of albums must consist of entire albums. If tracks are available separately, but not released as singles, you may not upload them individually. <u>Exceptions</u>: Bonus discs may be uploaded separately in accordance with <a href="http://what.cd/rules.php?p=upload#r2.2.15">this rule</a>. Please note that individual bonus tracks are not allowed to be uploaded without the rest of the album. Bonus tracks are not bonus discs. Enhanced audio CDs with data or video tracks must be uploaded without the non-audio tracks. If you want to share the videos or data, you may host the files off-site with a file sharing service and include the link in your torrent description.
|
||||
<li id="r2.1.21"><a href="#h2.1"><strong>↑_</strong></a> <a href="#r2.1.21">2.1.21.</a> <strong>All music torrents must represent a complete album (a complete collection release).</strong> Albums must not be missing tracks, or discs in the case of a multi-disc release. All music torrents must be one release. If an album is released as a multiple set of CDs, then it must be uploaded as a single torrent. Uploading each disc separately is not allowed. Digital downloads of albums must consist of entire albums. If tracks are available separately, but not released as singles, you may not upload them individually. <u>Exceptions</u>: Bonus discs may be uploaded separately in accordance with <a href="rules.php?p=upload#r2.2.15">this rule</a>. Please note that individual bonus tracks are not allowed to be uploaded without the rest of the album. Bonus tracks are not bonus discs. Enhanced audio CDs with data or video tracks must be uploaded without the non-audio tracks. If you want to share the videos or data, you may host the files off-site with a file sharing service and include the link in your torrent description.
|
||||
</li>
|
||||
<li id="r2.1.22"><a href="#h2.1"><strong>↑_</strong></a> <a href="#r2.1.22">2.1.22.</a> <strong>Multi-album torrents are not allowed on the site under any circumstances.</strong> That means no discographies, Pitchfork compilations, etc. Discographies make it a hassle for users to download individual albums. They result in a lot of duplicate albums being uploaded and are generally very poor quality. If releases (e.g. CD singles) were never released bundled together, do not upload them together. Live SBD material should be one torrent per night, per show, or per venue. Including more than one show in a torrent results in a multi-album torrent. <u>Exceptions</u>: Only official boxsets and official compilation collections can contain multiple albums.
|
||||
</li>
|
||||
@ -246,7 +246,7 @@
|
||||
</li>
|
||||
<li id="r2.1.24"><a href="#h2.1"><strong>↑_</strong></a> <a href="#r2.1.24">2.1.24.</a> <strong>Downsampling of analog rips is allowed.</strong> Analog rips that have been downsampled may be uploaded (e.g. a 24/96 vinyl rip downsampled to 16/44). Any downsampled torrents must include the specific programs and methods used to downsample in addition to the lineage for the original rip or it will be deleted. <i>NOTE: downsampling of CDs is expressly forbidden.</i>
|
||||
</li>
|
||||
<li id="r2.1.25"><a href="#h2.1"><strong>↑_</strong></a> <a href="#r2.1.25">2.1.25.</a> <strong>Pre-emphasis is allowed in lossless torrents only.</strong> Lossless FLAC torrents with pre-emphasis are allowed on the site. They are allowed to co-exist with lossless de-emphasised torrents. On the other hand, lossy formats may not have pre-emphasis and will be deleted if uploaded.
|
||||
<li id="r2.1.25"><a href="#h2.1"><strong>↑_</strong></a> <a href="#r2.1.25">2.1.25.</a> <strong><a href="wiki.php?action=article&id=386">Pre-emphasis</a> is allowed in lossless torrents only.</strong> Lossless FLAC torrents with pre-emphasis are allowed on the site. They are allowed to co-exist with lossless de-emphasised torrents. On the other hand, lossy formats may not have pre-emphasis and will be deleted if uploaded.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -278,7 +278,7 @@
|
||||
</li>
|
||||
<li id="r2.2.7"><a href="#h2.2"><strong>↑_</strong></a> <a href="#r2.2.7">2.2.7.</a> <strong>Complete or untouched releases replace incomplete or watermarked versions.</strong> Watermarked promos containing voice-overs and similar can be trumped by a non-watermarked release. Releases missing hidden or pre-gap tracks can be replaced by proper rips that include the range. These hidden or pre-gap tracks should be in their own file, not appended to the beginning of track one, and releases where the hidden track or pre-gap is appended can be trumped by one where the track is a separate file.
|
||||
</li>
|
||||
<li id="r2.2.8"><a href="#h2.2"><strong>↑_</strong></a> <a href="#r2.2.8">2.2.8.</a> <strong>Bonus disc-only uploads can co-exist with the complete set in accordance with the trumping rules.</strong> A bonus disc-only release can be trumped by an upload containing the "full" original album + bonus discs, in the same format, in accordance with the <a href="http://what.cd/rules.php?p=upload#r2.2.15">usual trump rules</a>.
|
||||
<li id="r2.2.8"><a href="#h2.2"><strong>↑_</strong></a> <a href="#r2.2.8">2.2.8.</a> <strong>Bonus disc-only uploads can co-exist with the complete set in accordance with the trumping rules.</strong> A bonus disc-only release can be trumped by an upload containing the "full" original album + bonus discs, in the same format, in accordance with the <a href="rules.php?p=upload#r2.2.15">usual trump rules</a>.
|
||||
</li>
|
||||
|
||||
<li id="r2.2.9"><a href="#h2.2"><strong>↑_</strong></a> <a href="#r2.2.9">2.2.9.</a> <strong>Higher bitrate CBR (Constant Bitrate) and ABR (Average Bitrate) torrents replace lower ones.</strong> Once a CBR (Constant Bitrate) rip has been uploaded, no CBR rips of that bitrate or lower can be uploaded. In the same manner, once an ABR (Average Bitrate) rip has been uploaded, no ABR rips of that bitrate or lower can be uploaded. For example, if a 320kbps CBR rip is already on the site, you are not allowed to upload a 256kbps CBR. ABR and CBR may be interchangeably trumped. A CBR can trump a lower bitrate ABR and an ABR may trump a lower bitrate CBR. You may not upload a 192kbps CBR if a 256kbps ABR of the same release is already up.
|
||||
@ -290,9 +290,9 @@
|
||||
<ul>
|
||||
<li id="r2.2.11.1"><a href="#r2.2.11"><strong>↑_</strong></a> <a href="#r2.2.11.1">2.2.11.1.</a> <strong>Only one lossy vinyl rip in a specific bitrate is allowed per release.</strong> Once someone has uploaded a lossy-format vinyl rip (in MP3, Ogg Vorbis or AAC), you may not upload another copy in the same bitrate. It does not matter whether if the lossy files are of a different sample rate found on the site. For example, if a 48 kHz -V2 (VBR) copy is already up, you may not upload the same album in -V2 (VBR) at 44.1 kHz.
|
||||
</li>
|
||||
<li id="r2.2.11.2"><a href="#r2.2.11"><strong>↑_</strong></a> <a href="#r2.2.11.3">2.2.11.3.</a> <strong>Only one lossless and one 24bit lossless vinyl rip is allowed per edition.</strong> A poor sounding lossless rip may be trumped by a better sounding lossless rip, regardless of lineage information. The same quality trump can occur for 24bit lossless rips. To trump a rip for a better sounding version, you need to report it with clear informations about how your rip sounds better than the other one. Rips of extremely poor quality may be deleted outright if reported. All quality trumps/deletions of this nature are at the discretion of the moderator involved.
|
||||
<li id="r2.2.11.2"><a href="#r2.2.11"><strong>↑_</strong></a> <a href="#r2.2.11.2">2.2.11.2.</a> <strong>Only one lossless and one 24bit lossless vinyl rip is allowed per edition.</strong> A poor sounding lossless rip may be trumped by a better sounding lossless rip, regardless of lineage information. The same quality trump can occur for 24bit lossless rips. To trump a rip for a better sounding version, you need to report it with clear informations about how your rip sounds better than the other one. Rips of extremely poor quality may be deleted outright if reported. All quality trumps/deletions of this nature are at the discretion of the moderator involved.
|
||||
</li>
|
||||
<li id="r2.2.11.3"><a href="#r2.2.11"><strong>↑_</strong></a> <a href="#r2.2.11.4">2.2.11.4.</a> <strong>All vinyl torrents must be ripped at the correct speed.</strong> You must rip all vinyl at the speed they were intended to be played at. For example, you may not rip a 45rpm vinyl at 33rpm and upload it to the site.
|
||||
<li id="r2.2.11.3"><a href="#r2.2.11"><strong>↑_</strong></a> <a href="#r2.2.11.3">2.2.11.3.</a> <strong>All vinyl torrents must be ripped at the correct speed.</strong> You must rip all vinyl at the speed they were intended to be played at. For example, you may not rip a 45rpm vinyl at 33rpm and upload it to the site.
|
||||
</li>
|
||||
</ul>
|
||||
<li id="r2.2.12"><a href="#r2.2.12"><strong>↑_</strong></a> <a href="#r2.2.12">2.2.12.</a> <strong>MP3 Specific Dupe Rules</strong>
|
||||
@ -630,10 +630,10 @@
|
||||
|
||||
<li id="r7.2"><a href="#h7"><strong>↑_</strong></a> <a href="#r7.2">7.2.</a> <strong>No freely available eLearning videos</strong> You may not upload videos hosted officially from university sites, the author's site, the <a href="http://www.archive.org/index.php">Internet Archive</a> or publisher's site. You may upload videos from other torrent sites provided they conform to the rules in this section.
|
||||
</li>
|
||||
<li id="r7.3"><a href="#h7"><strong>↑_</strong></a> <a href="#r7.3">7.3.</a> <strong>Tutorials on how to use features of applications, musical instruments or computer hardware are the only allowed topics.</strong> No material outside of these 3 topics are allowed. For example, instruction videos about Kung Fu training, dance lessons, or beer brewing are not permitted here.
|
||||
<li id="r7.3"><a href="#h7"><strong>↑_</strong></a> <a href="#r7.3">7.3.</a> <strong>Tutorials on how to use musical instruments, vocal training, producing music or otherwise learning the theory and practice of music are the only allowed topics.</strong> No material outside of these topics is allowed. For example, instruction videos about Kung Fu training, dance lessons, beer brewing or photography are not permitted here. What is considered allowed under these topics is ultimately under staff discretion.
|
||||
</li>
|
||||
|
||||
<li id="r7.4"><a href="#h7"><strong>↑_</strong></a> <a href="#r7.4">7.4.</a> <strong>eLearning Videos must be either in a video file format (.avi, .mov, etc.) or a disk image (.iso, .bin/.cue, etc.).</strong> <u>Exceptions</u>: Only scene uploads may be archived into compressed archives (zip, rar, etc.).
|
||||
<li id="r7.4"><a href="#h7"><strong>↑_</strong></a> <a href="#r7.4">7.4.</a> <strong>eLearning Videos must be either in a video file format (.mkv, .avi, .mov, .mp4 etc.) or a disk image (.iso, .bin/.cue, etc.).</strong> Only one video file format and one disk image format are allowed per video, anything else is a dupe. Torrents should not be uploaded in compressed archives.
|
||||
</li>
|
||||
<li id="r7.5"><a href="#h7"><strong>↑_</strong></a> <a href="#r7.5">7.5.</a> <strong>eLearning video uploads must contain an informative description and use proper <a href="rules.php?p=tag">Gazelle tags</a>.</strong> Uploads should include a proper description and/or a link to further information. It is strongly encouraged they at least have the elearning.videos <a href="rules.php?p=tag">Gazelle tag</a> as well.
|
||||
</li>
|
||||
|
@ -509,6 +509,7 @@ function header_link($SortKey,$DefaultWay="desc") {
|
||||
<td colspan="<?=($AdvancedSearch)?'3':'1'?>">
|
||||
<select name="order_by" style="width:auto;">
|
||||
<option value="time"<?selected('order_by','time')?>>Time added</option>
|
||||
<option value="year"<?selected('order_by','year')?>>Year</option>
|
||||
<option value="size"<?selected('order_by','size')?>>Size</option>
|
||||
<option value="snatched"<?selected('order_by','snatched')?>>Snatched</option>
|
||||
<option value="seeders"<?selected('order_by','seeders')?>>Seeders</option>
|
||||
@ -651,7 +652,7 @@ function header_link($SortKey,$DefaultWay="desc") {
|
||||
<tr class="colhead">
|
||||
<td class="small"></td>
|
||||
<td class="small cats_col"></td>
|
||||
<td width="100%">Name</td>
|
||||
<td width="100%">Name / <a href="<?=header_link('year')?>">Year</a></td>
|
||||
<td>Files</td>
|
||||
<td><a href="<?=header_link('time')?>">Time</a></td>
|
||||
<td><a href="<?=header_link('size')?>">Size</a></td>
|
||||
@ -680,7 +681,7 @@ function header_link($SortKey,$DefaultWay="desc") {
|
||||
} else {
|
||||
$DisplayName='';
|
||||
}
|
||||
$DisplayName.='<a href="torrents.php?id='.$GroupID.'" title="View Torrent">'.$GroupName.'‎</a>';
|
||||
$DisplayName.='<a href="torrents.php?id='.$GroupID.'" title="View Torrent" dir="ltr">'.$GroupName.'</a>';
|
||||
if($GroupYear>0) { $DisplayName.=" [".$GroupYear."]"; }
|
||||
?>
|
||||
<tr class="group">
|
||||
@ -748,7 +749,6 @@ function header_link($SortKey,$DefaultWay="desc") {
|
||||
$Pass = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($_GET['format'])) {
|
||||
$Filter = true;
|
||||
if($Data['Format']==$_GET['format']) {
|
||||
|
@ -30,7 +30,7 @@ function compare($X, $Y){
|
||||
$Artists = get_artist($GroupID);
|
||||
|
||||
if($Artists) {
|
||||
$DisplayName = display_artists($Artists, true).$DisplayName.'‎';
|
||||
$DisplayName = '<span dir="ltr">'.display_artists($Artists, true).$DisplayName.'</span>';
|
||||
$AltName = display_str(display_artists($Artists, false)).$AltName;
|
||||
$Title = $AltName;
|
||||
}
|
||||
@ -366,7 +366,8 @@ function filelist($Str) {
|
||||
if(!$ExtraInfo) {
|
||||
$ExtraInfo = $GroupName ; $AddExtra=' / ';
|
||||
}
|
||||
if($FreeTorrent) { $ExtraInfo.=$AddExtra.'<strong>Freeleech!</strong>'; $AddExtra=' / '; }
|
||||
if($FreeTorrent == '1') { $ExtraInfo.=$AddExtra.'<strong>Freeleech!</strong>'; $AddExtra=' / '; }
|
||||
if($FreeTorrent == '2') { $ExtraInfo.=$AddExtra.'<strong>Neutral Leech!</strong>'; $AddExtra=' / '; }
|
||||
if($Reported) { $ExtraInfo.=$AddExtra.'<strong>Reported</strong>'; $AddExtra=' / '; }
|
||||
if(!empty($BadTags)) { $ExtraInfo.=$AddExtra.'<strong>Bad Tags</strong>'; $AddExtra=' / '; }
|
||||
if(!empty($BadFolders)) { $ExtraInfo.=$AddExtra.'<strong>Bad Folders</strong>'; $AddExtra=' / '; }
|
||||
|
@ -85,7 +85,7 @@
|
||||
<tr>
|
||||
<td class="label">Year</td>
|
||||
<td>
|
||||
<!--<strip>--><input type="hidden" name="oldyear" value="<?=$Year?>" /><!--</strip-->
|
||||
|
||||
<input type="text" name="year" size="10" value="<?=$Year?>" />
|
||||
</td>
|
||||
</tr>
|
||||
@ -105,8 +105,9 @@
|
||||
<tr>
|
||||
<td class="label">Freeleech <strong>Group</strong></td>
|
||||
<td>
|
||||
<input type="checkbox" name="unfreeleech" /> Reset
|
||||
<input type="checkbox" name="freeleech" /> Freeleech
|
||||
<input type="checkbox" name="unfreeleech" /> Un-Freeleech
|
||||
<input type="checkbox" name="neutralleech" /> Neutralleech
|
||||
</td>
|
||||
</tr>
|
||||
<? } ?>
|
||||
|
@ -76,8 +76,7 @@
|
||||
$Cache->delete_value('artist_'.$ArtistID);
|
||||
}
|
||||
|
||||
$Cache->delete_value('torrentcomments_count_'.$GroupID);
|
||||
$Cache->delete_value('torrentcomment_'.$GroupID.'_page_1');
|
||||
$Cache->delete_value('torrent_comments_'.$GroupID.'_catalogue_0');
|
||||
$Cache->delete_value('groups_artists_'.$GroupID);
|
||||
update_hash($GroupID);
|
||||
|
||||
|
@ -17,8 +17,14 @@
|
||||
}
|
||||
|
||||
|
||||
if(check_perms('torrents_freeleech') && (isset($_POST['freeleech']) xor isset($_POST['unfreeleech']))) {
|
||||
$Free = $_POST['freeleech'] ? '1' : '0';
|
||||
if(check_perms('torrents_freeleech') && (isset($_POST['freeleech']) xor isset($_POST['neutralleech']) xor isset($_POST['unfreeleech']))) {
|
||||
if(isset($_POST['freeleech'])) {
|
||||
$Free = 1;
|
||||
} elseif(isset($_POST['neutralleech'])) {
|
||||
$Free = 2;
|
||||
} else {
|
||||
$Free = 0;
|
||||
}
|
||||
$DB->query("SELECT info_hash FROM torrents WHERE GroupID = ".$GroupID);
|
||||
$InfoHashes = $DB->collect('info_hash', false);
|
||||
foreach($InfoHashes as $InfoHash) {
|
||||
|
@ -55,7 +55,11 @@
|
||||
$Properties['GroupDescription'] = $_POST['album_desc'];
|
||||
}
|
||||
if(check_perms('torrents_freeleech')) {
|
||||
$Properties['FreeLeech'] = (isset($_POST['freeleech'])) ? 1 : 0;
|
||||
$Free = (int)$_POST['freeleech'];
|
||||
if(!in_array($Free, array(0,1,2))) {
|
||||
error(404);
|
||||
}
|
||||
$Properties['FreeLeech'] = $Free;
|
||||
}
|
||||
$Properties['ExtendedGrace'] = (isset($_POST['extendedgrace']))? 1 : 0;
|
||||
|
||||
@ -312,8 +316,9 @@
|
||||
WHERE ID=$TorrentID
|
||||
";
|
||||
$DB->query($SQL);
|
||||
|
||||
if(check_perms('torrents_freeleech') && $Properties['FreeLeech'] != $CurFreeLeech) {
|
||||
update_tracker('update_torrent', array('info_hash' => rawurlencode($InfoHash), 'freetorrent' => $Properties['FreeLeech'] ? '1' : '0'));
|
||||
update_tracker('update_torrent', array('info_hash' => rawurlencode($InfoHash), 'freetorrent' => $Properties['FreeLeech']));
|
||||
}
|
||||
|
||||
$DB->query("SELECT GroupID, Time FROM torrents WHERE ID='$TorrentID'");
|
||||
|
@ -156,16 +156,14 @@ function header_link($SortKey,$DefaultWay="DESC") {
|
||||
if(!empty($_GET['filter']) && (($_GET['filter'] == "perfectflac") || ($_GET['filter'] == "uniquegroup"))) {
|
||||
if($_GET['filter'] == "perfectflac") {
|
||||
if (!check_paranoia('perfectflacs', $User['Paranoia'], $UserClass, $UserID)) { error(403); }
|
||||
$ExtraWhere .= ' AND t.Format = \'FLAC\'';
|
||||
$ExtraWhere .= " AND t.Format = 'FLAC'";
|
||||
if(empty($_GET['media'])) {
|
||||
$ExtraWhere .= ' AND (
|
||||
$ExtraWhere .= " AND (
|
||||
t.LogScore = 100 OR
|
||||
t.Media = \'Vinyl\' OR
|
||||
t.Media = \'WEB\' OR
|
||||
t.Media = \'DVD\' OR
|
||||
t.Media = \'Soundboard\')';
|
||||
t.Media IN ('Vinyl','WEB','DVD','Soundboard','Casette','SACD','Blu-ray','DAT')
|
||||
)";
|
||||
} elseif(strtoupper($_GET['media']) == 'CD' && empty($_GET['log'])) {
|
||||
$ExtraWhere .= ' AND t.LogScore = 100';
|
||||
$ExtraWhere .= " AND t.LogScore = 100";
|
||||
}
|
||||
} elseif($_GET['filter'] == "uniquegroup") {
|
||||
if (!check_paranoia('uniquegroups', $User['Paranoia'], $UserClass, $UserID)) { error(403); }
|
||||
|
@ -102,6 +102,10 @@
|
||||
|
||||
$Validate->SetFields('album_desc',
|
||||
'1','string','The album description has a minimum length of 10 characters.',array('maxlength'=>1000000, 'minlength'=>10));
|
||||
|
||||
if ($Properties['Media'] == 'CD' && !$Properties['Remastered']) {
|
||||
$Validate->SetFields('year', '1', 'number', 'You have selected a year for an album that predates the media you say it was created on.', array('minlength'=>1982));
|
||||
}
|
||||
}
|
||||
|
||||
if($Properties['Remastered'] && !$Properties['UnknownRelease']){
|
||||
@ -112,8 +116,8 @@
|
||||
'0','number','Invalid remaster year.');
|
||||
}
|
||||
|
||||
if ($Properties['Remastered'] && $Properties['RemasterYear'] < 1982 && $Properties['Media'] == 'CD' && !$Properties['UnknownRelease']) {
|
||||
$Validate->SetFields('remaster_year', '1', 'number', 'You have selected a year for an album that predates the media you say it was created on.');
|
||||
if ($Properties['Media'] == 'CD' && $Properties['Remastered']) {
|
||||
$Validate->SetFields('remaster_year', '1', 'number', 'You have selected a year for an album that predates the media you say it was created on.', array('minlength'=>1982));
|
||||
}
|
||||
|
||||
$Validate->SetFields('remaster_title',
|
||||
@ -620,7 +624,7 @@
|
||||
$Cache->increment('stats_torrent_count');
|
||||
$TorrentID = $DB->inserted_id();
|
||||
|
||||
update_tracker('add_torrent', array('id' => $TorrentID, 'info_hash' => rawurlencode($InfoHash), 'freetorrent' => '0'));
|
||||
update_tracker('add_torrent', array('id' => $TorrentID, 'info_hash' => rawurlencode($InfoHash), 'freetorrent' => (int)$Properties['FreeLeech']));
|
||||
|
||||
|
||||
|
||||
|
@ -9,10 +9,14 @@
|
||||
$DB->query("DELETE FROM invites WHERE InviteKey='$InviteKey'");
|
||||
|
||||
if(!check_perms('site_send_unlimited_invites')){
|
||||
$DB->query("SELECT Invites FROM users_main WHERE ID = ".$UserID." LIMIT 1");
|
||||
list($Invites) = $DB->next_record();
|
||||
if($Invites < 10) {
|
||||
$DB->query("UPDATE users_main SET Invites=Invites+1 WHERE ID='$UserID'");
|
||||
$Cache->begin_transaction('user_info_heavy_'.$UserID);
|
||||
$Cache->update_row(false, array('Invites'=>'+1'));
|
||||
$Cache->commit_transaction(0);
|
||||
}
|
||||
}
|
||||
header('Location: user.php?action=invite');
|
||||
|
||||
|
@ -93,6 +93,7 @@
|
||||
m.can_leech,
|
||||
m.Visible,
|
||||
i.AdminComment,
|
||||
m.torrent_pass,
|
||||
i.Donor,
|
||||
i.Artist,
|
||||
i.Warned,
|
||||
@ -157,6 +158,7 @@
|
||||
$DB->query("DELETE FROM users_history_ips WHERE UserID='$UserID'");
|
||||
$DB->query("UPDATE users_main SET IP='127.0.0.1' WHERE ID='$UserID'");
|
||||
$DB->query("UPDATE xbt_snatched SET IP = '' WHERE uid='$UserID'");
|
||||
$DB->query("UPDATE users_history_passwords SET ChangerIP = '' WHERE UserID = ".$UserID);
|
||||
$EditSummary[]='IP history cleared';
|
||||
}
|
||||
|
||||
@ -448,7 +450,7 @@
|
||||
if ($EnableUser!=$Cur['Enabled'] && check_perms('users_disable_users')) {
|
||||
$EditSummary[]='account '.translateUserStatus($Cur['Enabled']).'->'.translateUserStatus($EnableUser);
|
||||
if($EnableUser == '2') {
|
||||
disable_users($UserID, '', '1');
|
||||
disable_users($UserID, '', 1);
|
||||
} elseif($EnableUser == '1') {
|
||||
$Cache->increment('stats_user_count');
|
||||
$UpdateSet[]="i.RatioWatchDownload='0'";
|
||||
|
@ -751,7 +751,7 @@ function check_paranoia_here($Setting) {
|
||||
$Tags = $Request['Tags'];
|
||||
$TagList = array();
|
||||
foreach($Tags as $TagID => $TagName) {
|
||||
$TagList[] = "<a href='requests.php?tag=".$TagID."'>".display_str($TagName)."</a>";
|
||||
$TagList[] = "<a href='requests.php?tags=".$TagName."'>".display_str($TagName)."</a>";
|
||||
}
|
||||
$TagList = implode(', ', $TagList);
|
||||
?>
|
||||
@ -1047,9 +1047,9 @@ function check_paranoia_here($Setting) {
|
||||
<td class="label">Account:</td>
|
||||
<td>
|
||||
<select name="UserStatus">
|
||||
<option value="0" <? if ($Enabled==0) { ?>selected="selected"<? } ?>>Unconfirmed</option>
|
||||
<option value="1" <? if ($Enabled==1) { ?>selected="selected"<? } ?>>Enabled</option>
|
||||
<option value="2" <? if ($Enabled==2) { ?>selected="selected"<? } ?>>Disabled</option>
|
||||
<option value="0" <? if ($Enabled=='0') { ?>selected="selected"<? } ?>>Unconfirmed</option>
|
||||
<option value="1" <? if ($Enabled=='1') { ?>selected="selected"<? } ?>>Enabled</option>
|
||||
<option value="2" <? if ($Enabled=='2') { ?>selected="selected"<? } ?>>Disabled</option>
|
||||
<? if (check_perms('users_delete_users')) { ?>
|
||||
<optgroup label="-- WARNING --"></optgroup>
|
||||
<option value="delete">Delete Account</option>
|
||||
|
@ -163,25 +163,7 @@
|
||||
|
||||
$DB->set_query_id($Posts);
|
||||
}
|
||||
//<strip>
|
||||
/*
|
||||
if($UserID == $LoggedUser['ID']){
|
||||
$TopicIDs = implode(', ', $DB->collect('TopicID'));
|
||||
if($TopicIDs) {
|
||||
$DB->query("SELECT
|
||||
l.TopicID,
|
||||
l.PostID,
|
||||
(SELECT COUNT(ID) FROM forums_posts WHERE forums_posts.TopicID = l.TopicID AND forums_posts.ID<=l.PostID) AS Post
|
||||
FROM forums_last_read_topics AS l
|
||||
WHERE TopicID IN($TopicIDs)
|
||||
AND UserID='$LoggedUser[ID]'");
|
||||
|
||||
$LastRead = $DB->to_array('TopicID');
|
||||
}
|
||||
$ViewingOwn = true;
|
||||
}
|
||||
*/
|
||||
//<strip>
|
||||
?>
|
||||
<div class="thin">
|
||||
<h2>
|
||||
|
@ -166,6 +166,7 @@ function unbookmark(groupid,newname) {
|
||||
ajax.get("bookmarks.php?action=remove&auth=" + authkey + "&groupid=" + groupid,function() {
|
||||
$('#group_' + groupid).remove();
|
||||
$('.groupid_' + groupid).remove();
|
||||
$('.image_group_' + groupid).remove();
|
||||
});
|
||||
} else {
|
||||
var lnk = $('#bookmarklink'+groupid).raw();
|
||||
|
@ -214,7 +214,7 @@ function CheckVA() {
|
||||
|
||||
function CheckYear() {
|
||||
var media = $('#media').raw().options[$('#media').raw().selectedIndex].text;
|
||||
if(media == "Vinyl" || media == "Soundboard" || media == "Cassette") {
|
||||
if(media == "---" || media == "Vinyl" || media == "Soundboard" || media == "Cassette") {
|
||||
media = "old";
|
||||
}
|
||||
var x = $('#year').raw();
|
||||
|
@ -3,12 +3,23 @@ pre br {
|
||||
display:none;
|
||||
}
|
||||
|
||||
.collage td {
|
||||
border: none;
|
||||
ul.collage_images {
|
||||
padding: 0px;
|
||||
width: 590px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.collage tr {
|
||||
ul.collage_images li {
|
||||
border: none;
|
||||
float: left;
|
||||
margin: 0;
|
||||
width: 118px;
|
||||
height: 118px;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.collage td {
|
||||
padding: 0px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
|
@ -98,6 +98,7 @@ img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
|
||||
/* Ratio Colors */
|
||||
|
||||
.r00 { color: #FF0000; }
|
||||
@ -752,7 +753,7 @@ td.avatar {
|
||||
}
|
||||
|
||||
table.forum_post td.body {
|
||||
width: 690px;
|
||||
max-width: 675px;
|
||||
}
|
||||
|
||||
tbody {
|
||||
|
@ -198,7 +198,6 @@ ul.thin li { margin:0px 0px; padding:0px; }
|
||||
}
|
||||
|
||||
#userinfo ul li {
|
||||
position: relative;
|
||||
display: inline;
|
||||
margin: 0 0.1em;
|
||||
line-height: 20px;
|
||||
|
@ -83,7 +83,7 @@ textarea#quickpost{margin:0; padding:0}
|
||||
/* username drop down */
|
||||
#userinfo_username li:first-child a{text-transform:none; background-position:0 -819px}
|
||||
#userinfo_username li:first-child a:hover{background-position:0 -580px}
|
||||
#userinfo_username{right:182px; min-width:58px}
|
||||
#userinfo_username{right:193px; min-width:58px}
|
||||
#userinfo_username .brackets{display:none}
|
||||
#userinfo_username:hover .brackets{display:block}
|
||||
#userinfo_username li{margin-bottom:2px; padding-left:2px}
|
||||
@ -92,7 +92,7 @@ textarea#quickpost{margin:0; padding:0}
|
||||
/* minor drop down */
|
||||
#userinfo_minor li:first-child a{background-position:0 -368px}
|
||||
#userinfo_minor li:first-child a:hover{background-position:0 -30px}
|
||||
#userinfo_minor{right:85px; width:89px}
|
||||
#userinfo_minor{right:85px; width:100px}
|
||||
|
||||
/* major drop down */
|
||||
#userinfo_major li:first-child a{background-position:0 -421px}
|
||||
|
@ -1103,7 +1103,7 @@ div.permission_container>table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.pad ul,div.body ul {
|
||||
div.pad ul,div.body ul,table.torrent_table blockquote>ul {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
|
@ -294,7 +294,7 @@ ul.thin li { margin:0px 0px; padding:0px; }
|
||||
#userinfo_major {
|
||||
position: absolute;
|
||||
width: 609px;
|
||||
margin: 94px 0 0 330px;
|
||||
margin: 110px 0 0 326px;
|
||||
text-align: right;
|
||||
}
|
||||
#userinfo_username {
|
||||
@ -312,9 +312,10 @@ ul.thin li { margin:0px 0px; padding:0px; }
|
||||
}
|
||||
#userinfo_minor {
|
||||
position: absolute;
|
||||
width: 609px;
|
||||
margin: 74px 0 0 330px;
|
||||
width: 295px;
|
||||
margin: 70px 0 0 640px;
|
||||
text-align: right;
|
||||
float: right;
|
||||
}
|
||||
#userinfo_minor li a {
|
||||
color: #FFF;
|
||||
@ -329,7 +330,6 @@ ul.thin li { margin:0px 0px; padding:0px; }
|
||||
}
|
||||
|
||||
#userinfo ul li {
|
||||
position: relative;
|
||||
display: inline;
|
||||
margin: 0 0.1em;
|
||||
line-height: 20px;
|
||||
|
@ -14,6 +14,10 @@ body {
|
||||
color: #757575;
|
||||
}
|
||||
|
||||
table {
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
a {
|
||||
color:#757575;
|
||||
text-decoration: none;
|
||||
|
@ -347,10 +347,10 @@ ul.thin li {
|
||||
top: 1em;
|
||||
left: 0;
|
||||
z-index: 1000;
|
||||
border: none;
|
||||
border: 1px solid #B8E8FB;
|
||||
background: #fff;
|
||||
width: 12em;
|
||||
margin-top: 12px;
|
||||
width: 11.5em;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
#searchbars ul li ul li {
|
||||
@ -759,7 +759,7 @@ td.avatar {
|
||||
}
|
||||
|
||||
table.forum_post td.body {
|
||||
width: 690px;
|
||||
max-width: 675px;
|
||||
}
|
||||
|
||||
tbody {
|
||||
|
Loading…
Reference in New Issue
Block a user