Code:
<?
// PHP5 with register_long_arrays off?
if (!isset($HTTP_POST_VARS) && isset($_POST))
{
$HTTP_POST_VARS = $_POST;
$HTTP_GET_VARS = $_GET;
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_COOKIE_VARS = $_COOKIE;
$HTTP_ENV_VARS = $_ENV;
$HTTP_POST_FILES = $_FILES;
}
function strip_magic_quotes($arr)
{
foreach ($arr as $k => $v)
{
if (is_array($v))
{ $arr[$k] = strip_magic_quotes($v); }
else
{ $arr[$k] = stripslashes($v); }
}
return $arr;
}
if (get_magic_quotes_gpc())
{
if (!empty($_GET)) { $_GET = strip_magic_quotes($_GET); }
if (!empty($_POST)) { $_POST = strip_magic_quotes($_POST); }
if (!empty($_COOKIE)) { $_COOKIE = strip_magic_quotes($_COOKIE); }
}
// addslashes to vars if magic_quotes_gpc is off
// this is a security precaution to prevent someone
// trying to break out of a SQL statement.
//
if( !get_magic_quotes_gpc() )
{
if( is_array($HTTP_GET_VARS) )
{
while( list($k, $v) = each($HTTP_GET_VARS) )
{
if( is_array($HTTP_GET_VARS[$k]) )
{
while( list($k2, $v2) = each($HTTP_GET_VARS[$k]) )
{
$HTTP_GET_VARS[$k][$k2] = addslashes($v2);
}
@reset($HTTP_GET_VARS[$k]);
}
else
{
$HTTP_GET_VARS[$k] = addslashes($v);
}
}
@reset($HTTP_GET_VARS);
}
if( is_array($HTTP_POST_VARS) )
{
while( list($k, $v) = each($HTTP_POST_VARS) )
{
if( is_array($HTTP_POST_VARS[$k]) )
{
while( list($k2, $v2) = each($HTTP_POST_VARS[$k]) )
{
$HTTP_POST_VARS[$k][$k2] = addslashes($v2);
}
@reset($HTTP_POST_VARS[$k]);
}
else
{
$HTTP_POST_VARS[$k] = addslashes($v);
}
}
@reset($HTTP_POST_VARS);
}
if( is_array($HTTP_COOKIE_VARS) )
{
while( list($k, $v) = each($HTTP_COOKIE_VARS) )
{
if( is_array($HTTP_COOKIE_VARS[$k]) )
{
while( list($k2, $v2) = each($HTTP_COOKIE_VARS[$k]) )
{
$HTTP_COOKIE_VARS[$k][$k2] = addslashes($v2);
}
@reset($HTTP_COOKIE_VARS[$k]);
}
else
{
$HTTP_COOKIE_VARS[$k] = addslashes($v);
}
}
@reset($HTTP_COOKIE_VARS);
}
}
function local_user()
{
return $_SERVER["SERVER_ADDR"] == $_SERVER["REMOTE_ADDR"];
}
$FUNDS = "$0";
$SITE_ONLINE = true;
//$SITE_ONLINE = local_user();
//$SITE_ONLINE = false;
$max_torrent_size = 1000000;
$announce_interval = 60 * 60;
$signup_timeout = 86400 * 3;
$minvotes = 1;
$max_dead_torrent_time = 6 * 3600;
// Max users on site
$maxusers = 5000;
////////Site donation email
$DONATEMAIL = "hdpure@jabse.com";
// ONLY USE ONE OF THE FOLLOWING DEPENDING ON YOUR O/S!!!
$torrent_dir = "torrents"; # FOR UNIX ONLY - must be writable for httpd user
//$torrent_dir = "torrents"; # FOR WINDOWS ONLY - must be writable for httpd user
# the first one will be displayed on the pages
$announce_urls = array();
$announce_urls[] = "http://localhost/announce.php";
if ($_SERVER["HTTP_HOST"] == "")
$_SERVER["HTTP_HOST"] = $_SERVER["SERVER_NAME"];
$BASEURL = "http://" . $_SERVER["HTTP_HOST"];
// Set this to your site URL... No ending slash!
$DEFAULTBASEURL = "http://localhost";
//set this to true to make this a tracker that only registered users may use
$MEMBERSONLY = true;
//maximum number of peers (seeders+leechers) allowed before torrents starts to be deleted to make room...
//set this to something high if you don't require this feature
$PEERLIMIT = 50000;
// Email for sender/return path.
$SITEEMAIL = "noreply@domain.com";
$SITENAME = "HDPure";
$autoclean_interval = 900;
$pic_base_url = "/pic/";
$imgdir = "/pic/";
// Maximum size of files uploaded into the BitBucket in bytes
$GLOBALS["MAX_UPLOAD_FILESIZE"] = 1024 * 1024;
// Maximum size of the BitBucket per user in bytes
$GLOBALS["MAX_BITBUCKET_SIZE_USER"] = 1024 * 1024;
// Maximum size of the BitBucket for uploaders in bytes
$GLOBALS["MAX_BITBUCKET_SIZE_UPLOADER"] = 5 * 1024 * 1024;
// Path where all Bit-Bucket files are stored. These are:
// User's files, torrent and NFO images
// This path MUST be a subdir of the tracker root, and MUST be
// publicly available, optionally with referrer check
// Webserver MUST have write permission on this directory!
// No trailing slash.
$GLOBALS["BITBUCKET_DIR"] = "bitbucket";
// Relative or absolute URL where all images for the interface are stored.
// MUST include a trailing slash!
$GLOBALS["PIC_BASE_URL"] = "pic/";
require_once("secrets.php");
require_once("cleanup.php");
//Do not modify -- versioning system
//This will help identify code for support issues at tbdev.net
define ('TBVERSION','TBDEV.NET-12-09-05');
//---------------------------------
//---- Max. Sysops Added by D3SI
//---------------------------------
function maxsysop () {
global $CURUSER;
// Check Staff Names
$lmaxclass = 9;
$lsysopnames = array("BaHKoCeKca"); // Case sensitive. Change this (YOUR SYSOP-ADMIN NAMES GOES HERE) (example: array("adminname1","adminname2","adminname3","adminname4","so far")
if ($CURUSER["class"] >= $lmaxclass)
if (!in_array($CURUSER["username"], $lsysopnames, true)) { // true for strict comparison
$msg = "Fake Account Detected: Username: ".$CURUSER["username"]." - UserID: ".$CURUSER["id"]." - UserIP : ".getip();
write_log($msg);
mysql_query("INSERT INTO messages (poster, sender, receiver, added, msg) VALUES(0, 0, '1', '" . get_date_time() . "', " .sqlesc($msg) . ")") or sqlerr(__FILE__, __LINE__);
stderr("Access Denied!","We come to believe you are using a fake account, therefore we've logged this action!");
}
// Check Staff IDS
define ('UC_STAFF', 9); // Minumum Staff Level (50= UC_MODERATOR)
if ($CURUSER['class'] >= UC_STAFF) {
$allowed_ID = array(1,2); // Change this (YOUR SYSOP-ADMIN IDS GOES HERE) (example: array(1,2,3,4,5))
if (!in_array((int)$CURUSER['id'], $allowed_ID, true)) { // true for strict comparison
$msg = "Fake Account Detected: Username: ".$CURUSER["username"]." - UserID: ".$CURUSER["id"]." - UserIP : ".getip();
write_log($msg);
stderr("Access Denied!","We come to believe you are using a fake account, therefore we've logged this action!");
}
}
}
//---------------------------------
//---- Max. Sysops Added by D3SI
//---------------------------------
function failedloginscheck () {
global $maxloginattempts;
$total = 0;
$ip = sqlesc(getip());
$Query = mysql_query("SELECT SUM(attempts) FROM loginattempts WHERE ip=$ip") or sqlerr(__FILE__, __LINE__);
list($total) = mysql_fetch_array($Query);
if ($total >= $maxloginattempts) {
mysql_query("UPDATE loginattempts SET banned = 'yes' WHERE ip=$ip") or sqlerr(__FILE__, __LINE__);
stderr("Login Locked!", "You have been <b>exceed maximum login attempts</b>, therefore your ip address <b>(".htmlspecialchars($ip).")</b> has been banned.");
}
}
function failedlogins () {
$ip = sqlesc(getip());
$added = sqlesc(get_date_time());
$a = (@mysql_fetch_row(@mysql_query("select count(*) from loginattempts where ip=$ip"))) or sqlerr(__FILE__, __LINE__);
if ($a[0] == 0)
mysql_query("INSERT INTO loginattempts (ip, added, attempts) VALUES ($ip, $added, 1)") or sqlerr(__FILE__, __LINE__);
else
mysql_query("UPDATE loginattempts SET attempts = attempts + 1 where ip=$ip") or sqlerr(__FILE__, __LINE__);
stderr("Login failed!","<b>Error</b>: Username or password incorrect<br>Don't remember your password? <b><a href=recover.php>Recover</a></b> your password!");
}
/**** validip/getip courtesy of manolete <manolete@myway.com> ****/
// IP Validation
function validip($ip)
{
if (!empty($ip) && $ip == long2ip(ip2long($ip)))
{
// reserved IANA IPv4 addresses
// http://www.iana.org/assignments/ipv4-address-space
$reserved_ips = array (
array('0.0.0.0','2.255.255.255'),
array('10.0.0.0','10.255.255.255'),
array('127.0.0.0','127.255.255.255'),
array('169.254.0.0','169.254.255.255'),
array('172.16.0.0','172.31.255.255'),
array('192.0.2.0','192.0.2.255'),
array('192.168.0.0','192.168.255.255'),
array('255.255.255.0','255.255.255.255')
);
foreach ($reserved_ips as $r)
{
$min = ip2long($r[0]);
$max = ip2long($r[1]);
if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false;
}
return true;
}
else return false;
}
// Patched function to detect REAL IP address if it's valid
function getip() {
if (isset($_SERVER)) {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && validip($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
} else {
if (getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR'))) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) {
$ip = getenv('HTTP_CLIENT_IP');
} else {
$ip = getenv('REMOTE_ADDR');
}
}
return $ip;
}
function dbconn($autoclean = false)
{
global $mysql_host, $mysql_user, $mysql_pass, $mysql_db;
if (!@mysql_connect($mysql_host, $mysql_user, $mysql_pass))
{
switch (mysql_errno())
{
case 1040:
case 2002:
if ($_SERVER[REQUEST_METHOD] == "GET")
die("<html><head><meta http-equiv=refresh content=\"5 $_SERVER[REQUEST_URI]\"></head><body><table border=0 width=100% height=100%><tr><td><h3 align=center>The server load is very high at the moment. Retrying, please wait...</h3></td></tr></table></body></html>");
else
die("Too many users. Please press the Refresh button in your browser to retry.");
default:
die("[" . mysql_errno() . "] dbconn: mysql_connect: " . mysql_error());
}
}
mysql_select_db($mysql_db)
or die('dbconn: mysql_select_db: ' + mysql_error());
userlogin();
if ($autoclean)
register_shutdown_function("autoclean");
}
function userlogin() {
global $SITE_ONLINE;
unset($GLOBALS["CURUSER"]);
$ip = getip();
$nip = ip2long($ip);
$res = mysql_query("SELECT * FROM bans WHERE $nip >= first AND $nip <= last") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($res) > 0)
{
header("HTTP/1.0 403 Forbidden");
print("<html><body><h1>403 Forbidden</h1>Unauthorized IP address.</body></html>\n");
die;
}
if (!$SITE_ONLINE || empty($_COOKIE["uid"]) || empty($_COOKIE["pass"]))
return;
$id = 0 + $_COOKIE["uid"];
if (!$id || strlen($_COOKIE["pass"]) != 32)
return;
$res = mysql_query("SELECT * FROM users WHERE id = $id AND enabled='yes' AND status = 'confirmed'");// or die(mysql_error());
$row = mysql_fetch_array($res);
if (!$row)
return;
$sec = hash_pad($row["secret"]);
if ($_COOKIE["pass"] !== md5($row["passhash"].$_SERVER["REMOTE_ADDR"]))
return;
mysql_query("UPDATE users SET last_access='" . get_date_time() . "', ip=".sqlesc($ip)." WHERE id=" . $row["id"]);// or die(mysql_error());
$row['ip'] = $ip;
$GLOBALS["CURUSER"] = $row;
}
function autoclean() {
global $autoclean_interval;
$now = time();
$docleanup = 0;
$res = mysql_query("SELECT value_u FROM avps WHERE arg = 'lastcleantime'");
$row = mysql_fetch_array($res);
if (!$row) {
mysql_query("INSERT INTO avps (arg, value_u) VALUES ('lastcleantime',$now)");
return;
}
$ts = $row[0];
if ($ts + $autoclean_interval > $now)
return;
mysql_query("UPDATE avps SET value_u=$now WHERE arg='lastcleantime' AND value_u = $ts");
if (!mysql_affected_rows())
return;
docleanup();
}
function unesc($x) {
if (get_magic_quotes_gpc())
return stripslashes($x);
return $x;
}
function mksize($bytes)
{
if ($bytes < 1000 * 1024)
return number_format($bytes / 1024, 2) . " kB";
elseif ($bytes < 1000 * 1048576)
return number_format($bytes / 1048576, 2) . " MB";
elseif ($bytes < 1000 * 1073741824)
return number_format($bytes / 1073741824, 2) . " GB";
else
return number_format($bytes / 1099511627776, 2) . " TB";
}
function mksizeint($bytes)
{
$bytes = max(0, $bytes);
if ($bytes < 1000)
return floor($bytes) . " B";
elseif ($bytes < 1000 * 1024)
return floor($bytes / 1024) . " kB";
elseif ($bytes < 1000 * 1048576)
return floor($bytes / 1048576) . " MB";
elseif ($bytes < 1000 * 1073741824)
return floor($bytes / 1073741824) . " GB";
else
return floor($bytes / 1099511627776) . " TB";
}
function deadtime() {
global $announce_interval;
return time() - floor($announce_interval * 1.3);
}
function mkprettytime($s) {
if ($s < 0)
$s = 0;
$t = array();
foreach (array("60:sec","60:min","24:hour","0:day") as $x) {
$y = explode(":", $x);
if ($y[0] > 1) {
$v = $s % $y[0];
$s = floor($s / $y[0]);
}
else
$v = $s;
$t[$y[1]] = $v;
}
if ($t["day"])
return $t["day"] . "d " . sprintf("%02d:%02d:%02d", $t["hour"], $t["min"], $t["sec"]);
if ($t["hour"])
return sprintf("%d:%02d:%02d", $t["hour"], $t["min"], $t["sec"]);
// if ($t["min"])
return sprintf("%d:%02d", $t["min"], $t["sec"]);
// return $t["sec"] . " secs";
}
function mkglobal($vars) {
if (!is_array($vars))
$vars = explode(":", $vars);
foreach ($vars as $v) {
if (isset($_GET[$v]))
$GLOBALS[$v] = unesc($_GET[$v]);
elseif (isset($_POST[$v]))
$GLOBALS[$v] = unesc($_POST[$v]);
else
return 0;
}
return 1;
}
function tr($x,$y,$noesc=0) {
if ($noesc)
$a = $y;
else {
$a = htmlspecialchars($y);
$a = str_replace("\n", "<br />\n", $a);
}
print("<tr><td class=\"heading\" valign=\"top\" align=\"right\">$x</td><td valign=\"top\" align=left>$a</td></tr>\n");
}
function trala($x,$y,$noesc=0) {
if ($noesc)
$a = $y;
print("<tr><td class=\"heading\" valign=\"top\" align=\"right\">$x</td><td valign=\"top\" align=left>$a</td></tr>\n");
}
function validfilename($name) {
return preg_match('/^[^\0-\x1f:\\\\\/?*\xff#<>|]+$/si', $name);
}
function validemail($email) {
return preg_match('/^[\w.-]+@([\w.-]+\.)+[a-z]{2,6}$/is', $email);
}
function sqlesc($x) {
return "'".mysql_real_escape_string($x)."'";
}
function sqlwildcardesc($x) {
return str_replace(array("%","_"), array("\\%","\\_"), mysql_real_escape_string($x));
}
function urlparse($m) {
$t = $m[0];
if (preg_match(',^\w+://,', $t))
return "<a href=\"$t\">$t</a>";
return "<a href=\"http://$t\">$t</a>";
}
function parsedescr($d, $html) {
if (!$html)
{
$d = htmlspecialchars($d);
$d = str_replace("\n", "\n<br>", $d);
}
return $d;
}
function stdhead($title = "", $msgalert = true) {
global $CURUSER, $SITE_ONLINE, $FUNDS, $SITENAME;
if (!$SITE_ONLINE)
die("Site is down for maintenance, please check back again later... thanks<br>");
header("Content-Type: text/html; charset=windows-1251");
//header("Pragma: No-cache");
if ($title == "")
$title = $SITENAME .(isset($_GET['tbv'])?" (".TBVERSION.")":'');
else
$title = $SITENAME .(isset($_GET['tbv'])?" (".TBVERSION.")":''). " | " . htmlspecialchars($title);
if ($CURUSER)
{
$ss_a = @mysql_fetch_array(@mysql_query("select uri from stylesheets where id=" . $CURUSER["stylesheet"]));
if ($ss_a) $ss_uri = $ss_a["uri"];
}
if (!$ss_uri)
{
($r = mysql_query("SELECT uri FROM stylesheets WHERE id=1")) or die(mysql_error());
($a = mysql_fetch_array($r)) or die(mysql_error());
$ss_uri = $a["uri"];
}
if ($msgalert && $CURUSER)
{
$res = mysql_query("SELECT COUNT(*) FROM messages WHERE receiver=" . $CURUSER["id"] . " && unread='yes'") or die("OopppsY!");
$arr = mysql_fetch_row($res);
$unread = $arr[0];
}
if ($CURUSER["fader"] == "yes")
{
?>
<script>var color = "<?=$CURUSER["fadecolor"]?>";</script>
<?
}
?>
<html><head>
<title><?= $title ?></title>
<link rel="stylesheet" href="<?=$ss_uri?>" type="text/css">
<link rel="alternate" type="application/rss+xml" title="Latest Torrents" href="<?=$DEFAULTBASEURL?>/rss.php">
<script type="text/javascript" src="java_klappe.js"></script>
<script type="text/javascript" src="js/fader.js"></script>
<script type="text/javascript" src="overlib.js"></script>
<script type="text/javascript" src="js/popup.js"></script>
<script type="text/javascript" src="/js/code.js"></script>
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/preloader.js"></script>
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<meta http-equiv="Content-Type" content="noindex,nofollow,noarchive" name="robots" charset="utf-8">
<script language=javascript>
<!--
function Post()
{
document.compose.action = "?action=post"
document.compose.target = "";
document.compose.submit();
return true;
}
function Preview()
{
document.compose.action = "preview.php?"
document.compose.target = "_blank";
document.compose.submit();
return true;
}
-->
</script>
<script type="text/javascript">
function closeit(box)
{
document.getElementById(box).style.display="none";
}
function showit(box)
{
document.getElementById(box).style.display="block";
}
</script>
<!-- Block Errors start-->
<script language="javascript">
<!--
function blockError()
{
return true;
}
window.onerror = blockError;
-->
</script>
<!-- Block Errors end-->
<script language="javascript" type="text/javascript" src="glossy.js"></script>
<script type="text/javascript" src="js/overlib.js"></script>
</head>
<body>
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<table width=920 cellspacing=0 cellpadding=0 style='background: transparent'>
<tr>
<td class=clear width=100%>
<!--
<table border=0 cellspacing=0 cellpadding=0 style='background: transparent'>
<tr>
<td class=clear>
<img src=/pic/star20.gif style='margin-right: 10px'>
</td>
<td class=clear>
<font color=white><b>Current funds: <?=$FUNDS?></b></font>
</td>
</tr>
</table>
-->
</td>
<class="clear">
<head>
<title>header</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<? if ($CURUSER) { ?>
<center><img src="pic/header.png" width="970" border="0" alt="" usemap="#header_Map"></center>
<? } ?>
<map name="header_Map">
<area shape="rect" alt="" coords="247,135,290,175" href="index.php">
<area shape="rect" alt="" coords="300,135,360,175" href="browse.php">
</map>
</body>
<? if ($CURUSER) { ?>
<!-- /////// some vars for the statusbar;o) //////// -->
<?
$res3 = mysql_query("SELECT connectable FROM peers WHERE userid=" . sqlesc($CURUSER["id"]) . " LIMIT 1") or print(mysql_error());
if($row = mysql_fetch_row($res3)){
$connect = $row[0];
if($connect == "yes"){
$connectable = "<b><font color=green><a title='Connectable = Yes'>Connectable</a></font></b>";
}else{
$connectable = "<b><font color=red><a title='Connectable = No'>Unconnectable</a></font></b>";
}
}else{
$connectable = "<b><font color=blue><a title='Unknow'></a></font></b>";
}
$usrclass = " <b>[</b> ".get_user_class_name($CURUSER['class'])." <b>]</b> ";
$datum = getdate();
$datum[hours] = sprintf("%02.0f", $datum[hours]);
$datum[minutes] = sprintf("%02.0f", $datum[minutes]);
$uped = mksize($CURUSER['uploaded']);
$downed = mksize($CURUSER['downloaded']);
if ($CURUSER["downloaded"] > 0)
{
$ratio = $CURUSER['uploaded'] / $CURUSER['downloaded'];
$ratio = number_format($ratio, 3);
$color = get_ratio_color($ratio);
if ($color)
$ratio = "<font color=$color>$ratio</font>";
}
else
if ($CURUSER["uploaded"] > 0)
$ratio = "Inf.";
else
$ratio = "---";
if ($CURUSER['donor'] == "yes")
$medaldon = "<img src=pic/star.png alt=donor title=donor>";
if ($CURUSER['warned'] == "yes")
$warn = "<img src=pic/warning.png alt=warned title=warned>";
//// check for messages //////////////////
$res1 = mysql_query("SELECT COUNT(*) FROM messages WHERE receiver=" . $CURUSER["id"] . " AND location IN ('in', 'both')") or print(mysql_error());
$arr1 = mysql_fetch_row($res1);
$messages = $arr1[0];
$res1 = mysql_query("SELECT COUNT(*) FROM messages WHERE receiver=" . $CURUSER["id"] . " AND location IN ('in', 'both') AND unread='yes'") or print(mysql_error());
$arr1 = mysql_fetch_row($res1);
$unread = $arr1[0];
$res1 = mysql_query("SELECT COUNT(*) FROM messages WHERE sender=" . $CURUSER["id"] . " AND location IN ('out', 'both')") or print(mysql_error());
$arr1 = mysql_fetch_row($res1);
$outmessages = $arr1[0];
$res1 = mysql_query("SELECT COUNT(*) FROM messages WHERE receiver=" . $CURUSER["id"] . " && unread='yes'") or die("OopppsY!");
$arr1 = mysql_fetch_row($res1);
$unread = $arr1[0];
if ($unread)
$inboxpic = "<img height=14px style=border:none alt=inbox title='inbox (new messages)' src=pic/pn_inboxnew.gif>";
else
$inboxpic = "<img height=14px style=border:none alt=inbox title='inbox (no new messages)' src=pic/pn_inbox.gif>";
//// check active torrents ///////////////////////
$res2 = mysql_query("SELECT COUNT(*) FROM peers WHERE userid=" . $CURUSER["id"] . " AND seeder='yes'") or print(mysql_error());
$row = mysql_fetch_row($res2);
$activeseed = $row[0];
$res2 = mysql_query("SELECT COUNT(*) FROM peers WHERE userid=" . $CURUSER["id"] . " AND seeder='no'") or print(mysql_error());
$row = mysql_fetch_row($res2);
$activeleech = $row[0];
//// end
?>
<!-- /////////// here we go, with the menu //////////// -->
<? } ?>
<?php
$w = "width=970";
//if ($_SERVER["REMOTE_ADDR"] == $_SERVER["SERVER_ADDR"]) $w = "width=970";
?>
<table class=lista <?=$w; ?> align="center" border="1" cellspacing="0" cellpadding="10">
<!------------- MENU ------------------------------------------------------------------------>
<? $fn = substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'], "/") + 1); ?>
<tr><td class=outer align=center>
<table class=main width=800 cellspacing="0" cellpadding="5" border="0">
<? if ($CURUSER) { ?>
<!-- //////// start the statusbar ///////////// -->
<table cellpadding="4" cellspacing="1" align="center" border="0" class=lista3 width="800">
<tr>
<td ><table style="width:100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="bottom" align="left"><span class="smallfont"> <b><a href="userdetails.php?id=<?=$CURUSER['id']?>"><?=$CURUSER['username']?></a><?=$medaldon?><?=$warn?> <img alt="Torrents seeding" title="Torrents seeding" src="pic/arrowup.png"> <font size=1><?=$uped?></font> <img alt="Torrents leeching" title="Torrents leeching" src="pic/arrowdown.png"> <font size=1><?=$downed?></font> <font size=1>Ratio: <?=$ratio?></font> <a href="mybonus.php"><font size=1>Bonus Points</font></a> <font size=1>Invites: <a href="invite.php"><?=$CURUSER['invites']?><a/></font></b>
<td class="bottom" align="right"><span class="smallfont">The time is: <?echo "$datum[hours]:$datum[minutes]";?> <br/>
<?
if ($messages){
print("<span class=smallfont><a href=inbox.php>$inboxpic</a> $messages ($unread New)</span>");
if ($outmessages)
print("<span class=smallfont> <a href=inbox.php?out=1><img height=14px style=border:none alt=sentbox title=sentbox src=pic/pn_sentbox.gif></a> $outmessages</span>");
else
print("<span class=smallfont> <a href=inbox.php?out=1><img height=14px style=border:none alt=sentbox title=sentbox src=pic/pn_sentbox.gif></a> 0</span>");
}
else
{
print("<span class=smallfont><a href=inbox.php><img height=14px style=border:none alt=inbox title=inbox src=pic/pn_inbox.gif></a> 0</span>");
if ($outmessages)
print("<span class=smallfont> <a href=inbox.php?out=1><img height=14px style=border:none alt=sentbox title=sentbox src=pic/pn_sentbox.gif></a> $outmessages</span>");
else
print("<span class=smallfont> <a href=inbox.php?out=1><img height=14px style=border:none alt=sentbox title=sentbox src=pic/pn_sentbox.gif></a> 0 </span>");
}
?>
</span></td>
</tr>
</table></table>
<? } ?>
<?
if (get_user_class() >= UC_MODERATOR)
{
$rese = mysql_query("SELECT COUNT(id) as nummessages from staffmessages WHERE answered='no'");
$arre = mysql_fetch_assoc($rese);
$nummessages = $arre[nummessages];
if ($nummessages){
print("<p><table border=0 cellspacing=0 cellpadding=10 bgcolor=grey><tr><td style='padding: 10px; background: red'>\n");
print("<b><a href=staffbox.php><font color=white>There is $nummessages Staff message" . ($nummessages > 1 ? "s" : "") . "!</font></a></b>");
print("</td></tr></table></p>\n");}
}
$announcement = $CURUSER['announce'];
if ($announcement == "yes")
print("<a href=$BASEURL/announcement.php><img src=/pic/ann.png border=none alt=Announcement></a>");
print("<br>");
$res = mysql_query("SELECT COUNT(*) FROM peers WHERE userid=".sqlesc($CURUSER['id'])." AND connectable='no'") or sql_error();
$row = mysql_fetch_row($res);
if($row[0] > 0) {
print("<p><table border=0 cellspacing=0 cellpadding=10 bgcolor=blue><tr><td align=center style='padding: 10px; background: blue'>\n");
print("<b><a href=$BASEURL/forums.php><font color=white>You are showing as Unconnectable on ".$row[0]." of your torrents.<br>Please visit the forum for Advice on how to make yourself Connectable.</font></a></b>");
print("</td></tr></table></p>\n");
}
if ($unread)
{
print("<p><table border=0 cellspacing=0 cellpadding=10 bgcolor=grey><tr><td style='padding: 10px; background: red'>\n");
print("<b><a href=$BASEURL/inbox.php><font color=white>Имате $unread ново съобщение(я)" . ($unread > 1 ? "" : "") . "!</font></a></b>");
print("</td></tr></table></p>\n");
}
//=== report link for big red box thanks carphunter18 :)
if (get_user_class() >= UC_MODERATOR) {
$res_reports = mysql_query("SELECT COUNT(*) FROM reports WHERE delt_with = '0'");
$arr_reports = mysql_fetch_row($res_reports);
$num_reports = $arr_reports[0];
if ($num_reports > 0)
echo"<p><table border=0 cellspacing=0 cellpadding=10 bgcolor=red><tr><td style='padding: 10px; background: #A60A15' align=center><b>Hey $CURUSER[username]! $num_reports Report" . ($num_reports > 1 ? "s" : "") . " to be dealt with<br>click <a href=reports.php>HERE</a> to view reports</b></td></tr></table></p>\n";
}
}
function stdfoot() {
?>
</table>
<class="clear" width="950" align="center" cellspacing="0" cellpadding="0" style="border:none;">
<tr>
<center><td><img src="pic/footer.png" border="0" alt="" usemap="#footer_Map">
<map name="footer_Map">
<area shape="rect" alt="" coords="395,77,340,100" href="chat.php">
<area shape="rect" alt="" coords="487,77,420,100" href="topten.php">
<area shape="rect" alt="" coords="590,77,525,100" href="userslist.php">
<area shape="rect" alt="" coords="670,77,630,100" href="getrss.php">
</map>
</table>
<center><span class="style2">
<font size="1"><b>© Based On TBDev / Some Rights Reserved</b></font><br></center>
<?
?>
<br>
</br>
<?
print("</td></tr></table></center>\n");
print("</body></head></html>\n");
}
function genbark($x,$y) {
stdhead($y);
print("<h2>" . htmlspecialchars($y) . "</h2>\n");
print("<p>" . htmlspecialchars($x) . "</p>\n");
stdfoot();
exit();
}
function mksecret($len = 20) {
$ret = "";
for ($i = 0; $i < $len; $i++)
$ret .= chr(mt_rand(0, 255));
return $ret;
}
function httperr($code = 404) {
header("HTTP/1.0 404 Not found");
print("<h1>Not Found</h1>\n");
print("<p>Sorry pal :(</p>\n");
exit();
}
function gmtime()
{
return strtotime(get_date_time());
}
/*
function logincookie($id, $password, $secret, $updatedb = 1, $expires = 0x7fffffff) {
$md5 = md5($secret . $password . $secret);
setcookie("uid", $id, $expires, "/");
setcookie("pass", $md5, $expires, "/");
if ($updatedb)
mysql_query("UPDATE users SET last_login = NOW() WHERE id = $id");
}
*/
function logincookie($id, $passhash, $updatedb = 1, $expires = 0x7fffffff)
{
setcookie("uid", $id, $expires, "/");
setcookie("pass", $passhash, $expires, "/");
if ($updatedb)
mysql_query("UPDATE users SET last_login = NOW() WHERE id = $id");
}
function logoutcookie() {
setcookie("uid", "", 0x7fffffff, "/");
setcookie("pass", "", 0x7fffffff, "/");
}
function loggedinorreturn() {
global $CURUSER;
if (!$CURUSER) {
header("Location: $BASEURL/login.php?returnto=" . urlencode($_SERVER["REQUEST_URI"]));
exit();
}
}
function deletetorrent($id) {
global $torrent_dir;
mysql_query("DELETE FROM torrents WHERE id = $id");
mysql_query("DELETE FROM snatched WHERE torrentid = $id");
foreach(explode(".","peers.files.comments.ratings") as $x)
mysql_query("DELETE FROM $x WHERE torrent = $id");
unlink("$torrent_dir/$id.torrent");
}
function pager($rpp, $count, $href, $opts = array()) {
$pages = ceil($count / $rpp);
if (!$opts["lastpagedefault"])
$pagedefault = 0;
else {
$pagedefault = floor(($count - 1) / $rpp);
if ($pagedefault < 0)
$pagedefault = 0;
}
if (isset($_GET["page"])) {
$page = 0 + $_GET["page"];
if ($page < 0)
$page = $pagedefault;
}
else
$page = $pagedefault;
$pager = "";
$mp = $pages - 1;
$as = "<b><< Prev</b>";
if ($page >= 1) {
$pager .= "<a href=\"{$href}page=" . ($page - 1) . "\">";
$pager .= $as;
$pager .= "</a>";
}
else
$pager .= $as;
$pager .= " ";
$as = "<b>Next >></b>";
if ($page < $mp && $mp >= 0) {
$pager .= "<a href=\"{$href}page=" . ($page + 1) . "\">";
$pager .= $as;
$pager .= "</a>";
}
else
$pager .= $as;
if ($count) {
$pagerarr = array();
$dotted = 0;
$dotspace = 3;
$dotend = $pages - $dotspace;
$curdotend = $page - $dotspace;
$curdotstart = $page + $dotspace;
for ($i = 0; $i < $pages; $i++) {
if (($i >= $dotspace && $i <= $curdotend) || ($i >= $curdotstart && $i < $dotend)) {
if (!$dotted)
$pagerarr[] = "...";
$dotted = 1;
continue;
}
$dotted = 0;
$start = $i * $rpp + 1;
$end = $start + $rpp - 1;
if ($end > $count)
$end = $count;
$text = "$start - $end";
if ($i != $page)
$pagerarr[] = "<a href=\"{$href}page=$i\"><b>$text</b></a>";
else
$pagerarr[] = "<b>$text</b>";
}
$pagerstr = join(" | ", $pagerarr);
$pagertop = "<p align=\"center\">$pager<br />$pagerstr</p>\n";
$pagerbottom = "<p align=\"center\">$pagerstr<br />$pager</p>\n";
}
else {
$pagertop = "<p align=\"center\">$pager</p>\n";
$pagerbottom = $pagertop;
}
$start = $page * $rpp;
return array($pagertop, $pagerbottom, "LIMIT $start,$rpp");
}
function downloaderdata($res) {
$rows = array();
$ids = array();
$peerdata = array();
while ($row = mysql_fetch_assoc($res)) {
$rows[] = $row;
$id = $row["id"];
$ids[] = $id;
$peerdata[$id] = array(downloaders => 0, seeders => 0, comments => 0);
}
if (count($ids)) {
$allids = implode(",", $ids);
$res = mysql_query("SELECT COUNT(*) AS c, torrent, seeder FROM peers WHERE torrent IN ($allids) GROUP BY torrent, seeder");
while ($row = mysql_fetch_assoc($res)) {
if ($row["seeder"] == "yes")
$key = "seeders";
else
$key = "downloaders";
$peerdata[$row["torrent"]][$key] = $row["c"];
}
$res = mysql_query("SELECT COUNT(*) AS c, torrent FROM comments WHERE torrent IN ($allids) GROUP BY torrent");
while ($row = mysql_fetch_assoc($res)) {
$peerdata[$row["torrent"]]["comments"] = $row["c"];
}
}
return array($rows, $peerdata);
}
function commenttable($rows)
{
global $CURUSER;
begin_main_frame();
begin_frame();
$count = 0;
foreach ($rows as $row)
{
//Sort shit out
if ($row["downloaded"] > 0)
{
$ratio = number_format($row["uploaded"] / $row["downloaded"], 3);
$ratio = "<font color=" . get_ratio_color($ratio) . ">$ratio</font>";
}
else
if ($arr2["uploaded"] > 0)
$ratio = "Inf.";
else
$ratio = "---";
$uploaded = mksize($row["uploaded"]);
$downloaded = mksize($row["downloaded"]);
$posterid = $row["user"];
//end sort shit out
//add popup to display
echo ("<div id=\"popup$posterid\"
style=\"position:absolute; width:140px; height:40px; border:1px solid black; display:none;
background-color:COCOCO\" align='center'> Downloaded: $downloaded
Uploaded: $uploaded <br> Ratio: $ratio</div>\n");
// end add popup to display
print("<p class=sub>#" . $row["id"] . " by ");
if (isset($row["username"]))
{
$clas = get_user_class_name($row["class"]);
$title = $row["title"];
if ($title == "")
$title = ($row["class"]);
else
$title = htmlspecialchars($title);
print("<a name=comm onMouseOver='show($posterid)' onMouseOut='hide($posterid)' ". $row["id"] .
" href=userdetails.php?id=" . $row["user"] . "><b>" .
htmlspecialchars($row["username"]) . "</b></a>" . ($row["donor"] == "yes" ? "<img src=pic/star.png alt='Donor'>" : "") . ($row["warned"] == "yes" ? "<img src=".
"/pic/warning.png alt=\"Warned\">" : "") . " <b><font color='red'>($title)</font></b> <b><font color='green'>[$clas]</font></b>\n");
}
else
print("<a name=\"comm" . $row["id"] . "\"><i>(orphaned)</i></a>\n");
print(" at " . $row["added"] . " GMT" .
($row["user"] == $CURUSER["id"] || get_user_class() >= UC_MODERATOR ? "- [<a href=comment.php?action=edit&cid=$row[id]>Edit</a>]" : "") .
(get_user_class() >= UC_MODERATOR ? "- [<a href=comment.php?action=delete&cid=$row[id]>Delete</a>]" : "") .
($row["editedby"] && get_user_class() >= UC_MODERATOR ? "- [<a href=comment.php?action=vieworiginal&cid=$row[id]>View original</a>]" : "") . "</p>\n");
$avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars($row["avatar"]) : "");
if (!$avatar)
$avatar = "/pic/default_avatar.gif";
$text = format_comment($row["text"]);
if ($row["editedby"])
$text .= "<p><font size=1 class=small>Last edited by <a href=userdetails.php?id=$row[editedby]><b>$row[username]</b></a> at $row[editedat] GMT</font></p>\n";
begin_table(true);
print("<tr valign=top>\n");
print("<td align=center width=150 style='padding: 0px'><img width=150 src=$avatar></td>\n");
print("<td class=text>$text</td>\n");
print("</tr>\n");
end_table();
}
end_frame();
end_main_frame();
}
function searchfield($s) {
return preg_replace(array('/[^a-z0-9]/si', '/^\s*/s', '/\s*$/s', '/\s+/s'), array(" ", "", "", " "), $s);
}
function genrelist() {
$ret = array();
$res = mysql_query("SELECT id, name FROM categories ORDER BY name");
while ($row = mysql_fetch_array($res))
$ret[] = $row;
return $ret;
}
function linkcolor($num) {
if (!$num)
return "red";
// if ($num == 1)
// return "yellow";
return "green";
}
function ratingpic($num) {
global $pic_base_url;
$r = round($num * 2) / 2;
if ($r < 1 || $r > 5)
return;
return "<img src=\"$pic_base_url$r.gif\" border=\"0\" alt=\"rating: $num / 5\" />";
}
function CutName ($txt, $len)
{ return (strlen($txt)>$len ? substr($txt,0,$len-4) .'...':$txt);
}
function torrenttable($res, $variant = "index") {
global $pic_base_url, $CURUSER;
$browse_res = mysql_query("SELECT last_browse FROM users WHERE id='".$CURUSER['id']."'");
$browse_arr = mysql_fetch_row($browse_res);
$last_browse = $browse_arr[0];
$time_now = gmtime();
if ($last_browse > $time_now) {
$last_browse=$time_now;
}?>
<? if (get_user_class() >= UC_VIP) { ?>
<table border=1 class=lista3 cellspacing=0 cellpadding=5 width=85%>
<? } else {?>
<table border=1 class=lista3 cellspacing=0 cellpadding=5 width=85%>
<? } ?>
<? if ($variant == "mytorrents") { ?>
<table border=1 class=lista3 cellspacing=0 cellpadding=5 width=85%>
<? } ?>
<tr>
<?
$count_get = 0;
foreach ($_GET as $get_name => $get_value) {
$get_name = mysql_escape_string(strip_tags(str_replace(array("\"","'"),array("",""),$get_name)));
$get_value = mysql_escape_string(strip_tags(str_replace(array("\"","'"),array("",""),$get_value)));
$get_name = mysql_escape_string(strip_tags(str_replace(array("\"","'"),array("",""),$get_name)));
$get_value = mysql_escape_string(strip_tags(str_replace(array("\"","'"),array("",""),$get_value)));
if ($get_name != "sort" && $get_name != "type") {
if ($count_get > 0) {
$oldlink = $oldlink . "&" . $get_name . "=" . $get_value;
} else {
$oldlink = $oldlink . $get_name . "=" . $get_value;
}
$count_get++;
}
}
if ($count_get > 0) {
$oldlink = $oldlink . "&";
}
if ($_GET['sort'] == "1") {
if ($_GET['type'] == "desc") {
$link1 = "asc";
} else {
$link1 = "desc";
}
}
if ($_GET['sort'] == "2") {
if ($_GET['type'] == "desc") {
$link2 = "asc";
} else {
$link2 = "desc";
}
}
if ($_GET['sort'] == "3") {
if ($_GET['type'] == "desc") {
$link3 = "asc";
} else {
$link3 = "desc";
}
}
if ($_GET['sort'] == "4") {
if ($_GET['type'] == "desc") {
$link4 = "asc";
} else {
$link4 = "desc";
}
}
if ($_GET['sort'] == "5") {
if ($_GET['type'] == "desc") {
$link5 = "asc";
} else {
$link5 = "desc";
}
}
if ($_GET['sort'] == "6") {
if ($_GET['type'] == "desc") {
$link6 = "asc";
} else {
$link6 = "desc";
}
}
if ($_GET['sort'] == "7") {
if ($_GET['type'] == "desc") {
$link7 = "asc";
} else {
$link7 = "desc";
}
}
if ($_GET['sort'] == "8") {
if ($_GET['type'] == "desc") {
$link8 = "asc";
} else {
$link8 = "desc";
}
}
if ($_GET['sort'] == "9") {
if ($_GET['type'] == "desc") {
$link9 = "asc";
} else {
$link9 = "desc";
}
}
if ($_GET['sort'] == "10") {
if ($_GET['type'] == "desc") {
$link10 = "asc";
} else {
$link10 = "desc";
}
}
if ($link1 == "") { $link1 = "asc"; } // for torrent name
if ($link2 == "") { $link2 = "desc"; }
if ($link3 == "") { $link3 = "desc"; }
if ($link4 == "") { $link4 = "desc"; }
if ($link5 == "") { $link5 = "desc"; }
if ($link6 == "") { $link6 = "desc"; }
if ($link7 == "") { $link7 = "desc"; }
if ($link8 == "") { $link8 = "desc"; }
if ($link9 == "") { $link9 = "desc"; }
if ($link10 == "") { $link10 = "desc"; }
?>
<td class="lista4" align="center" width=1px>Type</td>
<td class="lista4" align=left><a href="browse.php?<? print $oldlink; ?>sort=1&type=<? print $link1; ?>">Name</a></td>
<!--<td class="colhead" align="right" width=5px>Постеğ</td>
<td class="colhead" align=center>Свали</td>-->
<?
#if ($wait)
##{
#print("<td class=\"colhead\" align=\"center\">Wait</td>\n");
#}
if ($variant == "mytorrents")
{
//print("<td class=\"colhead\" align=\"center\">Edit</td>\n");
//print("<td class=\"colhead3\" align=\"center\" width=5px>Видим</td>\n");
}
?>
<!--<td class="colhead" align="right" width=5px><a href="browse.php?<? print $oldlink; ?>sort=2&type=<? print $link2; ?>">Files</a></td>-->
<td class="lista4" align="center" width=1px><a href="browse.php?<? print $oldlink; ?>sort=3&type=<? print $link3; ?>"><img src=pic/comments.gif title=Comments border=0></a></td>
<td class="lista4" align="center" width=1px><a href="browse.php?<? print $oldlink; ?>sort=10&type=<? print $link10; ?>">Rating</а></td>
<td class="lista4" align="center" width=1px><a href="browse.php?<? print $oldlink; ?>sort=4&type=<? print $link4; ?>">Added</a></td>
<!--<td class="colhead" align="center">TTL</td>-->
<td class="lista4" align="center" width=5px><a href="browse.php?<? print $oldlink; ?>sort=5&type=<? print $link5; ?>"><img src=pic/size.gif title=Size border=0></a></td>
<!--<td class="colhead" align=right>Views</td>
<td class="colhead" align=right>Hits</td>-->
<td class="lista4" align="center" width=5px><a href="browse.php?<? print $oldlink; ?>sort=6&type=<? print $link6; ?>"><img src=pic/downloaded.gif title=Snatched border=0></a></td>
<td class="lista4" align="center" width=5px><a href="browse.php?<? print $oldlink; ?>sort=7&type=<? print $link7; ?>"><img src=pic/seeders.gif title=Seeders border=0></a></td>
<td class="lista4" align="center" width=5px><a href="browse.php?<? print $oldlink; ?>sort=8&type=<? print $link8; ?>"><img src=pic/leechers.gif title=Leechers border=0></a></td>
<? if (get_user_class() >= UC_MODERATOR) {
if ($variant == "index")
print("<td class=\"lista4\" width=5px align=center>Uploader</td>\n"); } ?>
<?
print("</tr>\n");
while ($row = mysql_fetch_assoc($res)) {
$id = $row["id"];
print("<tr style=background-color:
onMouseover=this.style.backgroundColor='#252525';
onMouseout=this.style.backgroundColor='';>\n");
if ($row["sticky"] == "yes"){
print("<tr class=highlight>\n");
} else {
print("<tr>\n");
}
print("<td align=center style='padding: 2px'>");
if (isset($row["cat_name"])) {
print("<a href=\"browse.php?cat=" . $row["category"] . "\">");
if (isset($row["cat_pic"]) && $row["cat_pic"] != "")
print("<img border=\"0\" src=\"{$pic_base_url}{$row['cat_pic']}\" alt=\"{$row['cat_name']}\" />");
else
print($row["cat_name"]);
print("</a>");
}
else
print("-");
print("</td>\n");
if (!empty($row['smalld'])) {
$smalld = "Genre: <i>" . htmlspecialchars($row["smalld"]) . "</i>"; }
else {
$smalld = "";
}
$thisisfree = ($row[free]=="yes" ? "<div style=\"float:right;vertical-align:bottom\"><img src=pic/freeleech.png border=0 title=Свободен height=14px></div>":"");
$sticky = ($row[sticky]=="yes" ? "<div style=\"float:right;vertical-align:bottom\"><img src='pic/sticky.gif' bored='0' alt='sticky'></div>" : "");
$dispname = htmlspecialchars($row["name"]);
$fullname = htmlspecialchars($row["name"]);
$file = htmlspecialchars($row["filename"]);
$download = ("<a href=\"/download.php/$id/" . rawurlencode($row["filename"]) . "\"><img src=pic/dlit.jpeg border=0 title=Свали width=14px></a>");
$ban = ($row[banned]=="yes" ? "<img src=pic/zabranen.gif border=0 title=Забğанен> ":"");
if ($row["nfo"]) {
$nfo = "<a href=\"/viewnfo.php?id=$id" . rawurlencode($row["nfo"]) . "\"><img src=pic/viewnfo.gif border=0 alt=NFO title=NFO width=12px></a>"; } else {
$nfo = ""; }
//if ($row["smalld"]) {
//$genre = "<font color=#505050>$row[smalld]</font>"; }
if ($row["smalld"]) {
$genre2 = "<font face=verdana><table align=right valign=top width=20><td class=genre valign=top><b><font color=black>Жанğ:</b><br>".$row["smalld"]."</font></td></table></font>";
} else {
$genre2 = ""; }
$bgsubs_res = mysql_query("SELECT bgsubs FROM torrents WHERE id=$id") or
sqlerr(__FILE__, __LINE__);
$bgsubs_row = mysql_fetch_assoc($bgsubs_res);
$bgaudio_res = mysql_query("SELECT bgaudio FROM torrents WHERE id=$id") or
sqlerr(__FILE__, __LINE__);
$bgaudio_row = mysql_fetch_assoc($bgaudio_res);
$subs = ($row[bgsubs]=="yes" ? "<div style=\"border: black 1px dashed\"> <img src=pic/bgsubs.gif></div>":"");
$audio = ($row[bgaudio]=="yes" ? "<div style=\"float:right;vertical-align:bottom\"> <img src=pic/bgaudio.gif></div>":"");
$poster = ("<table align=left valign=top><td class=genre><img src=".$row["poster"]." border=0 class=small></td></table>");
////// cut name
$nos_garums=strlen($dispname);
$nos_pielaujamais="53"; // maximum lenght
if($nos_garums > $nos_pielaujamais){
$nos_alt="title=\"$dispname\"";
$dispname=substr($dispname,0,$nos_pielaujamais)."...";
}
print("<td align=\"left\">$ban<a class=torrents href=details.php?id=$id onmouseover=\"Tip('$poster', 0, 0, PADDING, 2, 'white', 'white');\" onmouseout=\"UnTip();\"><b><font color=white>$dispname</font></b></а></a> $download $nfo $thisisfree $subs $audio<br>$smalld</td>\n");
//print("<td align=\"center\">$poster</td>\n");
//print("<td align=\"center\"><a href=\"/download.php/$id/" . rawurlencode($row["filename"]) . "\"><img src=pic/download.gif border=0 alt=Download alt=Download></a> <a href=\"/viewnfo.php?id=$id" . rawurlencode($row["nfo"]) . "\"><img src=pic/viewnfo.gif border=0 alt=Download alt=Download></a></td>\n");
print("<td align=center><a href=\"details.php?");
if ($variant == "mytorrents")
print("returnto=" . urlencode($_SERVER["REQUEST_URI"]) . "&");
print("id=$id");
if ($variant == "index")
if ($variant == "mytorrents")
print("<td align=\"center\"><a href=\"edit.php?returnto=" . urlencode($_SERVER["REQUEST_URI"]) . "&id=" . $row["id"] . "\">edit</a>\n");
print("</td>\n");
/*if ($variant == "mytorrents") {
print("<td class=lista align=\"right\">");
if ($row["visible"] == "no")
print("<b>no</b>");
else
print("yes");
print("</td>\n");
}*/
/*if ($row["type"] == "single")
print("<td align=\"center\">" . $row["numfiles"] . "</td>\n");
else {
if ($variant == "index")
print("<td align=\"center\"><b><a href=\"details.php?id=$id&hit=1&filelist=1\">" . $row["numfiles"] . "</a></b></td>\n");
else
print("<td align=\"center\"><b><a href=\"details.php?id=$id&filelist=1#filelist\">" . $row["numfiles"] . "</a></b></td>\n");
}*/
if (!$row["comments"])
print("<td align=\"center\" width=5px>" . $row["comments"] . "</td>\n");
else {
if ($variant == "index")
print("<td align=\"center\" width=5px><b><a href=\"details.php?id=$id&hit=1&tocomm=1\">" . $row["comments"] . "</a></b></td>\n");
else
print("<td align=\"center\" width=5px><b><a href=\"details.php?id=$id&page=0#startcomments\">" . $row["comments"] . "</a></b></td>\n");
}
print("<td width=1px align=\"center\">");
if (!isset($row["rating"]))
print("---"); else { $rating = round($row["rating"] * 2) / 2;
$rating = ratingpic($row["rating"]);
if (!isset($rating))
print("---");
else
print($rating); } print("</td>\n");
print("<td align=center><nobr>" . str_replace(" ", "<br />", $row["added"]) . "</nobr></td>\n");
#$ttl = (28*24) - floor((gmtime() - sql_timestamp_to_unix_timestamp($row["added"])) / 3600);
#if ($ttl == 1) $ttl .= "<br>hour"; else $ttl .= "<br>hours";
#print("<td align=center>$ttl</td>\n");
print("<td width=1px align=center>" . str_replace(" ", " ", mksize($row["size"])) . "</td>\n");
// print("<td align=\"right\">" . $row["views"] . "</td>\n");
// print("<td align=\"right\">" . $row["hits"] . "</td>\n");
$_s = "";
if ($row["times_completed"] != 1)
$_s = "s";
if (get_user_class() >= UC_MODERATOR) { #Made Link Clickable for Mod+ [ D3SI ]
print("<td align=center><a href=snatches.php?id=$id>" . number_format($row["times_completed"]) . "<br>times</td>\n");
}else{
print("<td align=center>" . number_format($row["times_completed"]) . "<br>пъти</td>\n");
}
if ($row["seeders"]) {
if ($variant == "index")
{
if ($row["leechers"]) $ratio = $row["seeders"] / $row["leechers"]; else $ratio = 1;
print("<td align=center><b><font color=lime>" . $row["seeders"] . "</font></b></td>\n");
}
else
print("<td align=\"center\"><b>" . $row["seeders"] . "</b></td>\n");
}
else
print("<td align=\"center\"><span class=\"" . linkcolor($row["seeders"]) . "\">" . $row["seeders"] . "</span></td>\n");
if ($row["leechers"]) {
if ($variant == "index")
print("<td align=center><b><font color=lime>" .
number_format($row["leechers"]) . ($peerlink ? "" : "") .
"</font></b></td>\n");
else
print("<td align=\"center\"><b><font color=lime>" . $row["leechers"] . "</font></b></td>\n");
}
else
print("<td align=\"center\">0</td>\n");
if ($row["avatar"]) {
$avatar = ("onmouseover=\"{Tip('<img src=" . $row["avatar"] . " width=150px>');}\" onmouseout=\"UnTip();\"");
} else {
$avatar = (""); }
if (get_user_class() >= UC_MODERATOR) {
if ($variant == "index")
print("<td align=center>" . (isset($row["username"]) ? ("<a href=userdetails.php?id=" . $row["owner"] . " $avatar><b>" . htmlspecialchars($row["username"]) . "</b></a>") : "<b><a><u>Анонимен</u></a></b>") . "</td>\n"); }
print("</tr>\n");
}
print("</table>\n");
return $rows;
}
function hash_pad($hash) {
return str_pad($hash, 20);
}
function hash_where($name, $hash) {
$shhash = preg_replace('/ *$/s', "", $hash);
return "($name = " . sqlesc($hash) . " OR $name = " . sqlesc($shhash) . ")";
}
function get_user_icons($arr, $big = false)
{
if ($big)
{
$donorpic = "starbig.png";
$warnedpic = "warnedbig.gif";
$disabledpic = "disabledbig.gif";
$style = "style='margin-left: 4pt'";
}
else
{
$donorpic = "star.png";
$warnedpic = "warning.png";
$disabledpic = "disabled.gif";
$style = "style=\"margin-left: 2pt\"";
}
$pics = $arr["donor"] == "yes" ? "<img src=pic/$donorpic alt='Donor' border=0 $style>" : "";
if ($arr["enabled"] == "yes")
$pics .= $arr["warned"] == "yes" ? "<img src=pic/$warnedpic alt=\"Warned\" border=0 $style>" : "";
else
$pics .= "<img src=pic/$disabledpic alt=\"Disabled\" border=0 $style>\n";
return $pics;
}
function parked()
{
global $CURUSER;
if ($CURUSER["parked"] == "yes")
stderr("Error", "Your account is parked.");
}
require "global.php";
?>