New tracker config.

This commit is contained in:
Yuriy Pikhtarev 2017-06-26 00:45:40 +03:00
commit 3a8857adb0
No known key found for this signature in database
GPG key ID: 3A9B5A757B48ECC6
12 changed files with 60 additions and 87 deletions

View file

@ -55,20 +55,20 @@ $default_cfg_num = array(
/** /**
* Set template vars * Set template vars
*/ */
set_tpl_vars($default_cfg_str, $bb_cfg['tracker']); set_tpl_vars($default_cfg_str, config('tracker'));
set_tpl_vars_lang($default_cfg_str); set_tpl_vars_lang($default_cfg_str);
set_tpl_vars_bool($default_cfg_bool, $bb_cfg['tracker']); set_tpl_vars_bool($default_cfg_bool, config('tracker'));
set_tpl_vars_lang($default_cfg_bool); set_tpl_vars_lang($default_cfg_bool);
set_tpl_vars($default_cfg_num, $bb_cfg['tracker']); set_tpl_vars($default_cfg_num, config('tracker'));
set_tpl_vars_lang($default_cfg_num); set_tpl_vars_lang($default_cfg_num);
$template->assign_vars(array( $template->assign_vars(array(
'IGNORE_REPORTED_IP' => $bb_cfg['ignore_reported_ip'], 'IGNORE_REPORTED_IP' => $bb_cfg['ignore_reported_ip'],
'ANNOUNCE_INTERVAL' => $bb_cfg['announce_interval'], 'ANNOUNCE_INTERVAL' => $bb_cfg['announce_interval'],
'PASSKEY_KEY' => $bb_cfg['passkey_key'], 'PASSKEY_KEY' => $bb_cfg['passkey_key'],
'GOLD_SILVER_ENABLED' => $bb_cfg['tracker']['gold_silver_enabled'], 'GOLD_SILVER_ENABLED' => config('tracker.gold_silver_enabled'),
'DISABLE_SUBMIT' => true, 'DISABLE_SUBMIT' => true,
'S_HIDDEN_FIELDS' => '', 'S_HIDDEN_FIELDS' => '',

View file

@ -131,7 +131,7 @@ $peer_hash = md5(
); );
// Get cached peer info from previous announce (last peer info) // Get cached peer info from previous announce (last peer info)
$lp_info = OLD_CACHE('tr_cache')->get(PEER_HASH_PREFIX . $peer_hash); $lp_info = OLD_CACHE('tr_cache')->get('peer_' . $peer_hash);
if (DBG_LOG) { if (DBG_LOG) {
dbg_log(' ', '$lp_info-get_from-CACHE-' . ($lp_info ? 'hit' : 'miss')); dbg_log(' ', '$lp_info-get_from-CACHE-' . ($lp_info ? 'hit' : 'miss'));
@ -179,7 +179,7 @@ $stopped = ($event === 'stopped');
// Stopped event // Stopped event
if ($stopped) { if ($stopped) {
OLD_CACHE('tr_cache')->rm(PEER_HASH_PREFIX . $peer_hash); OLD_CACHE('tr_cache')->rm('peer_' . $peer_hash);
if (DBG_LOG) { if (DBG_LOG) {
dbg_log(' ', 'stopped'); dbg_log(' ', 'stopped');
} }
@ -233,15 +233,15 @@ if ($lp_info) {
$tor_type = $row['tor_type']; $tor_type = $row['tor_type'];
// Ratio limits // Ratio limits
if ((TR_RATING_LIMITS || $bb_cfg['tracker']['limit_concurrent_ips']) && !$stopped) { if ((TR_RATING_LIMITS || config('tracker.limit_concurrent_ips')) && !$stopped) {
$user_ratio = ($row['u_down_total'] && $row['u_down_total'] > MIN_DL_FOR_RATIO) ? ($row['u_up_total'] + $row['u_up_release'] + $row['u_up_bonus']) / $row['u_down_total'] : 1; $user_ratio = ($row['u_down_total'] && $row['u_down_total'] > MIN_DL_FOR_RATIO) ? ($row['u_up_total'] + $row['u_up_release'] + $row['u_up_bonus']) / $row['u_down_total'] : 1;
$rating_msg = ''; $rating_msg = '';
if (!$seeder) { if (!$seeder) {
foreach ($bb_cfg['rating'] as $ratio => $limit) { foreach ($bb_cfg['rating'] as $ratio => $limit) {
if ($user_ratio < $ratio) { if ($user_ratio < $ratio) {
$bb_cfg['tracker']['limit_active_tor'] = 1; config(['tracker.limit_active_tor' => 1]);
$bb_cfg['tracker']['limit_leech_count'] = $limit; config(['tracker.limit_leech_count' => $limit]);
$rating_msg = " (ratio < $ratio)"; $rating_msg = " (ratio < $ratio)";
break; break;
} }
@ -249,29 +249,29 @@ if ($lp_info) {
} }
// Limit active torrents // Limit active torrents
if (!isset($bb_cfg['unlimited_users'][$user_id]) && $bb_cfg['tracker']['limit_active_tor'] && (($bb_cfg['tracker']['limit_seed_count'] && $seeder) || ($bb_cfg['tracker']['limit_leech_count'] && !$seeder))) { if (!isset($bb_cfg['unlimited_users'][$user_id]) && config('tracker.limit_active_tor') && ((config('tracker.limit_seed_count') && $seeder) || (config('tracker.limit_leech_count') && !$seeder))) {
$sql = "SELECT COUNT(DISTINCT topic_id) AS active_torrents $sql = "SELECT COUNT(DISTINCT topic_id) AS active_torrents
FROM " . BB_BT_TRACKER . " FROM " . BB_BT_TRACKER . "
WHERE user_id = $user_id WHERE user_id = $user_id
AND seeder = $seeder AND seeder = $seeder
AND topic_id != $topic_id"; AND topic_id != $topic_id";
if (!$seeder && $bb_cfg['tracker']['leech_expire_factor'] && $user_ratio < 0.5) { if (!$seeder && config('tracker.leech_expire_factor') && $user_ratio < 0.5) {
$sql .= " AND update_time > " . (TIMENOW - 60 * $bb_cfg['tracker']['leech_expire_factor']); $sql .= " AND update_time > " . (TIMENOW - 60 * config('tracker.leech_expire_factor'));
} }
$sql .= " GROUP BY user_id"; $sql .= " GROUP BY user_id";
if ($row = OLD_DB()->fetch_row($sql)) { if ($row = OLD_DB()->fetch_row($sql)) {
if ($seeder && $bb_cfg['tracker']['limit_seed_count'] && $row['active_torrents'] >= $bb_cfg['tracker']['limit_seed_count']) { if ($seeder && config('tracker.limit_seed_count') && $row['active_torrents'] >= config('tracker.limit_seed_count')) {
msg_die('Only ' . $bb_cfg['tracker']['limit_seed_count'] . ' torrent(s) allowed for seeding'); msg_die('Only ' . config('tracker.limit_seed_count') . ' torrent(s) allowed for seeding');
} elseif (!$seeder && $bb_cfg['tracker']['limit_leech_count'] && $row['active_torrents'] >= $bb_cfg['tracker']['limit_leech_count']) { } elseif (!$seeder && config('tracker.limit_leech_count') && $row['active_torrents'] >= config('tracker.limit_leech_count')) {
msg_die('Only ' . $bb_cfg['tracker']['limit_leech_count'] . ' torrent(s) allowed for leeching' . $rating_msg); msg_die('Only ' . config('tracker.limit_leech_count') . ' torrent(s) allowed for leeching' . $rating_msg);
} }
} }
} }
// Limit concurrent IPs // Limit concurrent IPs
if ($bb_cfg['tracker']['limit_concurrent_ips'] && (($bb_cfg['tracker']['limit_seed_ips'] && $seeder) || ($bb_cfg['tracker']['limit_leech_ips'] && !$seeder))) { if (config('tracker.limit_concurrent_ips') && ((config('tracker.limit_seed_ips') && $seeder) || (config('tracker.limit_leech_ips') && !$seeder))) {
$sql = "SELECT COUNT(DISTINCT ip) AS ips $sql = "SELECT COUNT(DISTINCT ip) AS ips
FROM " . BB_BT_TRACKER . " FROM " . BB_BT_TRACKER . "
WHERE topic_id = $topic_id WHERE topic_id = $topic_id
@ -279,16 +279,16 @@ if ($lp_info) {
AND seeder = $seeder AND seeder = $seeder
AND ip != '$ip_sql'"; AND ip != '$ip_sql'";
if (!$seeder && $bb_cfg['tracker']['leech_expire_factor']) { if (!$seeder && config('tracker.leech_expire_factor')) {
$sql .= " AND update_time > " . (TIMENOW - 60 * $bb_cfg['tracker']['leech_expire_factor']); $sql .= " AND update_time > " . (TIMENOW - 60 * config('tracker.leech_expire_factor'));
} }
$sql .= " GROUP BY topic_id"; $sql .= " GROUP BY topic_id";
if ($row = OLD_DB()->fetch_row($sql)) { if ($row = OLD_DB()->fetch_row($sql)) {
if ($seeder && $bb_cfg['tracker']['limit_seed_ips'] && $row['ips'] >= $bb_cfg['tracker']['limit_seed_ips']) { if ($seeder && config('tracker.limit_seed_ips') && $row['ips'] >= config('tracker.limit_seed_ips')) {
msg_die('You can seed only from ' . $bb_cfg['tracker']['limit_seed_ips'] . " IP's"); msg_die('You can seed only from ' . config('tracker.limit_seed_ips') . " IP's");
} elseif (!$seeder && $bb_cfg['tracker']['limit_leech_ips'] && $row['ips'] >= $bb_cfg['tracker']['limit_leech_ips']) { } elseif (!$seeder && config('tracker.limit_leech_ips') && $row['ips'] >= config('tracker.limit_leech_ips')) {
msg_die('You can leech only from ' . $bb_cfg['tracker']['limit_leech_ips'] . " IP's"); msg_die('You can leech only from ' . config('tracker.limit_leech_ips') . " IP's");
} }
} }
} }
@ -312,7 +312,7 @@ $up_add = ($lp_info && $uploaded > $lp_info['uploaded']) ? $uploaded - $lp_info[
$down_add = ($lp_info && $downloaded > $lp_info['downloaded']) ? $downloaded - $lp_info['downloaded'] : 0; $down_add = ($lp_info && $downloaded > $lp_info['downloaded']) ? $downloaded - $lp_info['downloaded'] : 0;
// Gold/Silver releases // Gold/Silver releases
if ($bb_cfg['tracker']['gold_silver_enabled'] && $down_add) { if (config('tracker.gold_silver_enabled') && $down_add) {
if ($tor_type == TOR_TYPE_GOLD) { if ($tor_type == TOR_TYPE_GOLD) {
$down_add = 0; $down_add = 0;
} // Silver releases } // Silver releases
@ -322,7 +322,7 @@ if ($bb_cfg['tracker']['gold_silver_enabled'] && $down_add) {
} }
// Freeleech // Freeleech
if ($bb_cfg['tracker']['freeleech'] && $down_add) { if (config('tracker.freeleech') && $down_add) {
$down_add = 0; $down_add = 0;
} }
@ -388,14 +388,14 @@ $lp_info = array(
'tor_type' => (int)$tor_type, 'tor_type' => (int)$tor_type,
); );
$lp_info_cached = OLD_CACHE('tr_cache')->set(PEER_HASH_PREFIX . $peer_hash, $lp_info, PEER_HASH_EXPIRE); $lp_info_cached = OLD_CACHE('tr_cache')->set('peer_' . $peer_hash, $lp_info, round($bb_cfg['announce_interval'] * (0.85 * config('tracker.expire_factor'))));
if (DBG_LOG && !$lp_info_cached) { if (DBG_LOG && !$lp_info_cached) {
dbg_log(' ', '$lp_info-caching-FAIL'); dbg_log(' ', '$lp_info-caching-FAIL');
} }
// Get cached output // Get cached output
$output = OLD_CACHE('tr_cache')->get(PEERS_LIST_PREFIX . $topic_id); $output = OLD_CACHE('tr_cache')->get('peers_list_' . $topic_id);
if (DBG_LOG) { if (DBG_LOG) {
dbg_log(' ', '$output-get_from-CACHE-' . ($output !== false ? 'hit' : 'miss')); dbg_log(' ', '$output-get_from-CACHE-' . ($output !== false ? 'hit' : 'miss'));
@ -403,8 +403,8 @@ if (DBG_LOG) {
if (!$output) { if (!$output) {
// Retrieve peers // Retrieve peers
$numwant = (int)$bb_cfg['tracker']['numwant']; $numwant = (int)config('tracker.numwant');
$compact_mode = ($bb_cfg['tracker']['compact_mode'] || !empty($compact)); $compact_mode = (config('tracker.compact_mode') || !empty($compact));
$rowset = OLD_DB()->fetch_rowset(" $rowset = OLD_DB()->fetch_rowset("
SELECT ip, port SELECT ip, port
@ -434,7 +434,7 @@ if (!$output) {
$seeders = 0; $seeders = 0;
$leechers = 0; $leechers = 0;
if ($bb_cfg['tracker']['scrape']) { if (config('tracker.scrape')) {
$row = OLD_DB()->fetch_row(" $row = OLD_DB()->fetch_row("
SELECT seeders, leechers SELECT seeders, leechers
FROM " . BB_BT_TRACKER_SNAP . " FROM " . BB_BT_TRACKER_SNAP . "
@ -454,7 +454,7 @@ if (!$output) {
'incomplete' => (int)$leechers, 'incomplete' => (int)$leechers,
); );
$peers_list_cached = OLD_CACHE('tr_cache')->set(PEERS_LIST_PREFIX . $topic_id, $output, PEERS_LIST_EXPIRE); $peers_list_cached = OLD_CACHE('tr_cache')->set('peers_list_' . $topic_id, $output, round($bb_cfg['announce_interval'] * 0.7));
if (DBG_LOG && !$peers_list_cached) { if (DBG_LOG && !$peers_list_cached) {
dbg_log(' ', '$output-caching-FAIL'); dbg_log(' ', '$output-caching-FAIL');

View file

@ -14,8 +14,8 @@ if (!defined('IN_TRACKER')) {
global $bb_cfg; global $bb_cfg;
// Exit if tracker is disabled // Exit if tracker is disabled
if ($bb_cfg['tracker']['off']) { if (config('tracker.off')) {
msg_die($bb_cfg['tracker']['off_reason']); msg_die(config('tracker.off_reason'));
} }
// //

View file

@ -13,7 +13,7 @@ require dirname(__DIR__) . '/common.php';
global $bb_cfg; global $bb_cfg;
if (!$bb_cfg['tracker']['scrape']) { if (!config('tracker.scrape')) {
msg_die('Please disable SCRAPE!'); msg_die('Please disable SCRAPE!');
} }

View file

@ -61,6 +61,11 @@ try {
} }
require_once __DIR__ . '/library/config.php'; require_once __DIR__ . '/library/config.php';
/**
* Container
*/
require_once __DIR__ . '/bootstrap.php';
$server_protocol = $bb_cfg['cookie_secure'] ? 'https://' : 'http://'; $server_protocol = $bb_cfg['cookie_secure'] ? 'https://' : 'http://';
$server_port = in_array((int)$bb_cfg['server_port'], array(80, 443), true) ? '' : ':' . $bb_cfg['server_port']; $server_port = in_array((int)$bb_cfg['server_port'], array(80, 443), true) ? '' : ':' . $bb_cfg['server_port'];
define('FORUM_PATH', $bb_cfg['script_path']); define('FORUM_PATH', $bb_cfg['script_path']);
@ -78,11 +83,6 @@ define('BB_BT_USERS', 'bb_bt_users');
define('BT_AUTH_KEY_LENGTH', 10); define('BT_AUTH_KEY_LENGTH', 10);
define('PEER_HASH_PREFIX', 'peer_');
define('PEERS_LIST_PREFIX', 'peers_list_');
define('PEER_HASH_EXPIRE', round($bb_cfg['announce_interval'] * (0.85 * $bb_cfg['tracker']['expire_factor']))); // sec
define('PEERS_LIST_EXPIRE', round($bb_cfg['announce_interval'] * 0.7)); // sec
define('DL_STATUS_RELEASER', -1); define('DL_STATUS_RELEASER', -1);
define('DL_STATUS_DOWN', 0); define('DL_STATUS_DOWN', 0);
define('DL_STATUS_COMPLETE', 1); define('DL_STATUS_COMPLETE', 1);
@ -169,11 +169,6 @@ switch ($bb_cfg['datastore_type']) {
$datastore = new TorrentPier\Legacy\Datastore\File($bb_cfg['cache']['db_dir'] . 'datastore/', $bb_cfg['cache']['prefix']); $datastore = new TorrentPier\Legacy\Datastore\File($bb_cfg['cache']['db_dir'] . 'datastore/', $bb_cfg['cache']['prefix']);
} }
/**
* Container
*/
require_once __DIR__ . '/bootstrap.php';
function sql_dbg_enabled() function sql_dbg_enabled()
{ {
return (SQL_DEBUG && DBG_USER && !empty($_COOKIE['sql_log'])); return (SQL_DEBUG && DBG_USER && !empty($_COOKIE['sql_log']));

View file

@ -382,33 +382,6 @@ $bb_cfg['nofollow'] = [
'allowed_url' => [$domain_name], // 'allowed.site', 'www.allowed.site' 'allowed_url' => [$domain_name], // 'allowed.site', 'www.allowed.site'
]; ];
// Tracker settings
$bb_cfg['tracker'] = [
'autoclean' => true,
'off' => false,
'off_reason' => 'temporarily disabled',
'numwant' => 50,
'update_dlstat' => true,
'expire_factor' => 2.5,
'compact_mode' => true,
'upd_user_up_down_stat' => true,
'browser_redirect_url' => '',
'scrape' => true,
'limit_active_tor' => true,
'limit_seed_count' => 0,
'limit_leech_count' => 8,
'leech_expire_factor' => 60,
'limit_concurrent_ips' => false,
'limit_seed_ips' => 0,
'limit_leech_ips' => 0,
'tor_topic_up' => true,
'gold_silver_enabled' => true,
'retracker' => true,
'retracker_host' => 'http://retracker.local/announce',
'freeleech' => false,
'guest_tracker' => true,
];
// Ratio settings // Ratio settings
// Don't change the order of ratios (from 0 to 1) // Don't change the order of ratios (from 0 to 1)
// rating < 0.4 -- allow only 1 torrent for leeching // rating < 0.4 -- allow only 1 torrent for leeching

View file

@ -27,7 +27,7 @@ OLD_DB()->query("CREATE TABLE " . NEW_BB_BT_LAST_USERSTAT . " LIKE " . BB_BT_LAS
OLD_DB()->expect_slow_query(600); OLD_DB()->expect_slow_query(600);
// Update dlstat (part 1) // Update dlstat (part 1)
if ($bb_cfg['tracker']['update_dlstat']) { if (config('tracker.update_dlstat')) {
// ############################ Tables LOCKED ################################ // ############################ Tables LOCKED ################################
OLD_DB()->lock(array( OLD_DB()->lock(array(
BB_BT_TRACKER, BB_BT_TRACKER,
@ -64,16 +64,16 @@ OLD_DB()->query("
"); ");
// Clean peers table // Clean peers table
if ($bb_cfg['tracker']['autoclean']) { if (config('tracker.autoclean')) {
$announce_interval = max((int)$bb_cfg['announce_interval'], 60); $announce_interval = max((int)$bb_cfg['announce_interval'], 60);
$expire_factor = max((float)$bb_cfg['tracker']['expire_factor'], 1); $expire_factor = max((float)config('tracker.expire_factor'), 1);
$peer_expire_time = TIMENOW - floor($announce_interval * $expire_factor); $peer_expire_time = TIMENOW - floor($announce_interval * $expire_factor);
OLD_DB()->query("DELETE FROM " . BB_BT_TRACKER . " WHERE update_time < $peer_expire_time"); OLD_DB()->query("DELETE FROM " . BB_BT_TRACKER . " WHERE update_time < $peer_expire_time");
} }
// Update dlstat (part 2) // Update dlstat (part 2)
if ($bb_cfg['tracker']['update_dlstat']) { if (config('tracker.update_dlstat')) {
// Set "only 1 seeder" bonus // Set "only 1 seeder" bonus
OLD_DB()->query(" OLD_DB()->query("
UPDATE UPDATE

View file

@ -2059,7 +2059,7 @@ function is_gold($type)
{ {
global $lang, $bb_cfg; global $lang, $bb_cfg;
if (!$bb_cfg['tracker']['gold_silver_enabled']) { if (!config('tracker.gold_silver_enabled')) {
$is_gold = ''; $is_gold = '';
return $is_gold; return $is_gold;
} }

View file

@ -355,7 +355,7 @@ function tracker_register($attach_id, $mode = '', $tor_status = TOR_NOT_APPROVED
} }
} }
if ($bb_cfg['tracker']['tor_topic_up']) { if (config('tracker.tor_topic_up')) {
OLD_DB()->query("UPDATE " . BB_TOPICS . " SET topic_last_post_time = GREATEST(topic_last_post_time, " . (TIMENOW - 3 * 86400) . ") WHERE topic_id = $topic_id"); OLD_DB()->query("UPDATE " . BB_TOPICS . " SET topic_last_post_time = GREATEST(topic_last_post_time, " . (TIMENOW - 3 * 86400) . ") WHERE topic_id = $topic_id");
} }
@ -463,15 +463,18 @@ function send_torrent_with_passkey($filename)
} }
// Add retracker // Add retracker
if (isset($bb_cfg['tracker']['retracker']) && $bb_cfg['tracker']['retracker']) { if (config('tracker.retracker')) {
if (bf($userdata['user_opt'], 'user_opt', 'user_retracker') || IS_GUEST) { if (bf($userdata['user_opt'], 'user_opt', 'user_retracker') || IS_GUEST) {
if (!isset($tor['announce-list'])) { if (!isset($tor['announce-list'])) {
$tor['announce-list'] = array( $tor['announce-list'] = [
array($announce), [$announce],
array($bb_cfg['tracker']['retracker_host']) [config('tracker.retracker_host')]
); ];
} else { } else {
$tor['announce-list'] = array_merge($tor['announce-list'], array(array($bb_cfg['tracker']['retracker_host']))); $tor['announce-list'] = array_merge(
$tor['announce-list'],
[[config('tracker.retracker_host')]]
);
} }
} }
} }

View file

@ -205,6 +205,8 @@ $template->assign_vars(array(
'READONLY' => HTML_READONLY, 'READONLY' => HTML_READONLY,
'SELECTED' => HTML_SELECTED, 'SELECTED' => HTML_SELECTED,
'GS_ENABLED' => config('tracker.gold_silver_enabled'),
'U_SEARCH_SELF_BY_LAST' => "search.php?uid={$userdata['user_id']}&amp;o=5", 'U_SEARCH_SELF_BY_LAST' => "search.php?uid={$userdata['user_id']}&amp;o=5",
'U_WATCHED_TOPICS' => "profile.php?mode=watch", 'U_WATCHED_TOPICS' => "profile.php?mode=watch",
)); ));

View file

@ -238,7 +238,7 @@ $(function(){
/>&nbsp;{L_HIDE_CONTENTS} />&nbsp;{L_HIDE_CONTENTS}
</label> </label>
</p> </p>
<!-- IF $bb_cfg['tracker']['gold_silver_enabled'] --><p class="chbox">{TOR_TYPE_CHBOX}</p><!-- ENDIF --> <!-- IF GS_ENABLED --><p class="chbox">{TOR_TYPE_CHBOX}</p><!-- ENDIF -->
</div> </div>
</fieldset> </fieldset>
<fieldset> <fieldset>

View file

@ -146,11 +146,11 @@
<tr class="row3"> <tr class="row3">
<th colspan="3" class="{postrow.attach.tor_reged.DL_LINK_CLASS}">{postrow.attach.tor_reged.DOWNLOAD_NAME}<!-- IF postrow.attach.tor_reged.TOR_FROZEN == 0 --><!-- IF MAGNET_LINKS -->&nbsp;{postrow.attach.tor_reged.MAGNET}<!-- ENDIF --><!-- ENDIF --></th> <th colspan="3" class="{postrow.attach.tor_reged.DL_LINK_CLASS}">{postrow.attach.tor_reged.DOWNLOAD_NAME}<!-- IF postrow.attach.tor_reged.TOR_FROZEN == 0 --><!-- IF MAGNET_LINKS -->&nbsp;{postrow.attach.tor_reged.MAGNET}<!-- ENDIF --><!-- ENDIF --></th>
</tr> </tr>
<!-- IF postrow.attach.tor_reged.TOR_SILVER_GOLD == 2 && $bb_cfg['tracker']['gold_silver_enabled'] --> <!-- IF postrow.attach.tor_reged.TOR_SILVER_GOLD == 2 && GS_ENABLED -->
<tr class="row4"> <tr class="row4">
<th colspan="3" class="row7"><img src="styles/images/tor_silver.gif" width="16" height="15" title="{L_SILVER}" />&nbsp;{L_SILVER_STATUS}&nbsp;<img src="styles/images/tor_silver.gif" width="16" height="15" title="{L_SILVER}" /></th> <th colspan="3" class="row7"><img src="styles/images/tor_silver.gif" width="16" height="15" title="{L_SILVER}" />&nbsp;{L_SILVER_STATUS}&nbsp;<img src="styles/images/tor_silver.gif" width="16" height="15" title="{L_SILVER}" /></th>
</tr> </tr>
<!-- ELSEIF postrow.attach.tor_reged.TOR_SILVER_GOLD == 1 && $bb_cfg['tracker']['gold_silver_enabled'] --> <!-- ELSEIF postrow.attach.tor_reged.TOR_SILVER_GOLD == 1 && GS_ENABLED -->
<tr class="row4"> <tr class="row4">
<th colspan="3" class="row7"><img src="styles/images/tor_gold.gif" width="16" height="15" title="{L_GOLD}" />&nbsp;{L_GOLD_STATUS}&nbsp;<img src="styles/images/tor_gold.gif" width="16" height="15" title="{L_GOLD}" /></th> <th colspan="3" class="row7"><img src="styles/images/tor_gold.gif" width="16" height="15" title="{L_GOLD}" />&nbsp;{L_GOLD_STATUS}&nbsp;<img src="styles/images/tor_gold.gif" width="16" height="15" title="{L_GOLD}" /></th>
</tr> </tr>
@ -252,7 +252,7 @@
<option value="del_torrent">{L_DELETE_TORRENT}</option> <option value="del_torrent">{L_DELETE_TORRENT}</option>
<option value="del_torrent_move_topic">{L_DELETE_MOVE_TORRENT}</option> <option value="del_torrent_move_topic">{L_DELETE_MOVE_TORRENT}</option>
<!-- IF AUTH_MOD --> <!-- IF AUTH_MOD -->
<!-- IF $bb_cfg['tracker']['gold_silver_enabled'] --> <!-- IF GS_ENABLED -->
<!-- IF postrow.attach.tor_reged.TOR_SILVER_GOLD == 1 --> <!-- IF postrow.attach.tor_reged.TOR_SILVER_GOLD == 1 -->
<option value="unset_silver_gold">{L_UNSET_GOLD_TORRENT} / {L_UNSET_SILVER_TORRENT}</option> <option value="unset_silver_gold">{L_UNSET_GOLD_TORRENT} / {L_UNSET_SILVER_TORRENT}</option>
<option value="set_silver">{L_SET_SILVER_TORRENT}</option> <option value="set_silver">{L_SET_SILVER_TORRENT}</option>