Код:
Fatal error: Cannot redeclare timer() (previously declared in C:\Program Files\xampp\htdocs\gmmasters\include\bittorrent.php:52) in C:\Program Files\xampp\htdocs\gmmasters\include\bittorrent.php on line 54
Само че сайта се зарежда като отворя някои от тия страници и ........
ми дава това
ео го и кода на битторент
Код:
<?php
/*
// +----------------------------------------------------------------------------+
// | Project: TBDevYSE - TBDev Yuna Scatari Edition |
// +----------------------------------------------------------------------------+
// | This file is part of TBDevYSE. TBDevYSE is based on TBDev, |
// | originally by RedBeard of TorrentBits, extensively modified by |
// | Gartenzwerg. |
// | |
// | TBDevYSE is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation; either version 2 of the License, or |
// | (at your option) any later version. |
// | |
// | TBDevYSE is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// | GNU General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with TBDevYSE; if not, write to the Free Software Foundation, |
// | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +----------------------------------------------------------------------------+
// | Do not remove above lines! |
// +----------------------------------------------------------------------------+
*/
# IMPORTANT: Do not edit below unless you know what you are doing!
if(!defined('IN_TRACKER'))
die('Hacking attempt!');
require_once($rootpath . 'include/functions_global.php');
require_once($rootpath . 'include/mybb.php');
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;
}
function local_user() {
return $_SERVER["SERVER_ADDR"] == $_SERVER["REMOTE_ADDR"];
}
function sql_query($query) {
global $queries, $query_stat, $querytime;
$queries++;
$query_start_time = timer(); // Start time
$result = mysql_query($query);
$query_end_time = timer(); // End time
$query_time = ($query_end_time - $query_start_time);
$querytime = $querytime + $query_time;
//$query_time = round($query_time, 6);
$query_stat[] = array("seconds" => $query_time, "query" => $query);
return $result;
}
function dbconn($autoclean = false, $lightmode = false) {
global $mysql_host, $mysql_user, $mysql_pass, $mysql_db, $mysql_charset;
if (!@mysql_connect($mysql_host, $mysql_user, $mysql_pass))
switch (mysql_errno()) {
case 2005:
die("".$tracker_lang['functions_errorsql1']." include/secrets.php.");
break;
case 1044:
die("".$tracker_lang['functions_errorsql2']."");
break;
case 1045:
die("".$tracker_lang['functions_errorsql3']." include/secrets.php.");
break;
case 2003:
die("".$tracker_lang['functions_errorsql4']."");
break;
default:
die("[" . mysql_errno() . "] dbconn: mysql_connect: " . mysql_error());
}
mysql_select_db($mysql_db);
/*or die("dbconn: mysql_select_db: " . mysql_error());*/
switch (mysql_errno()) {
case 1049:
die("".$tracker_lang['functions_errorsql5']." include/secrets.php.");
break;
case TRUE:
die("dbconn: mysql_select_db: " . mysql_error());
}
mysql_query("SET NAMES $mysql_charset");
// This shit is not fully implemented so i commented out it...
//datastore_get();
userlogin($lightmode);
if (basename($_SERVER['SCRIPT_FILENAME']) == 'index.php')
register_shutdown_function("autoclean");
register_shutdown_function("mysql_close");
}
function load_language($lang) {
global $default_language, $tracker_lang, $rootpath;
if (file_exists($rootpath . 'languages/lang_' . $lang . '/lang_main.php'))
require_once($rootpath . 'languages/lang_' . $lang . '/lang_main.php');
else
require_once($rootpath . 'languages/lang_' . $default_language . '/lang_main.php');
}
function userlogin($lightmode = false) {
global $SITE_ONLINE, $default_language, $tracker_lang, $use_lang, $use_ipbans, $old_auth;
unset($GLOBALS["CURUSER"]);
$ip = getip();
$nip = ip2long($ip);
if ($use_ipbans && !$lightmode) {
$res = sql_query("SELECT * FROM ".TABLE_BANS." WHERE $nip >= first AND $nip <= last") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($res) > 0) {
$comment = mysql_fetch_assoc($res);
$comment = $comment["comment"];
header("HTTP/1.0 403 Forbidden");
print("<html><body><h1>403 Forbidden</h1>Unauthorized IP address.</body></html>\n");
die;
}
}
$c_uid = $_COOKIE[COOKIE_PREFIX . "uid"];
$c_pass = $_COOKIE[COOKIE_PREFIX . "pass"];
if (!$SITE_ONLINE || empty($c_uid) || empty($c_pass)) {
if ($use_lang)
load_language($default_language);
user_session();
return;
}
$id = 0 + $c_uid;
if (!$id || strlen($c_pass) != 32) {
die("Cokie ID invalid or cookie pass hash problem.");
/*if ($use_lang)
load_language($default_language);
user_session();
return;*/
}
$res = sql_query("SELECT * FROM ".TABLE_USERS." WHERE id = $id AND enabled = 'yes' AND status = 1");// or die(mysql_error());
$row = mysql_fetch_array($res);
if (!$row) {
if ($use_lang)
load_language($default_language);
user_session();
return;
}
$sec = hash_pad($row["secret"]);
if ($c_pass !== md5($row["passhash"].COOKIE_SALT)) {
if ($use_lang)
load_language($default_language);
user_session();
return;
}
sql_query("UPDATE ".TABLE_USERS." SET last_access = ".TIMENOW.", ip = ".sqlesc($ip)." WHERE id=" . $row["id"]);// or die(mysql_error());
$row["ip"] = $ip;
if ($row["override_class"] < $row["class"])
$row["class"] = $row["override_class"]; // Override class and save in GLOBAL array below.
$GLOBALS["CURUSER"] = $row;
if ($use_lang)
load_language($row['language']);
if (!$lightmode)
user_session();
}
function get_server_load() {
global $tracker_lang, $phpver;
if (strtolower(substr(PHP_OS, 0, 3)) === 'win') {
/*if (class_exists("COM")) {
if ($phpver=="4") {
$wmi = new COM("WinMgmts:\\\\.");
$cpus = $wmi->InstancesOf("Win32_Processor");
$cpuload = 0;
$i = 0;
while ($cpu = $cpus->Next()) {
$cpuload += $cpu->LoadPercentage;
$i++;
}
$cpuload = round($cpuload / $i, 2);
return "$cpuload";
} else {
$wmi = new COM("WinMgmts:\\\\.");
$cpus = $wmi->InstancesOf("Win32_Processor");
$cpuload = 0;
$i = 0;
foreach ($cpus as $cpu) {
$cpuload += $cpu->LoadPercentage;
$i++;
}
$cpuload = round($cpuload / $i, 2);
return "$cpuload";
}
} else
return $tracker_lang["unknown"];*/
return 0;
} elseif (@file_exists("/proc/loadavg")) {
$load = @file_get_contents("/proc/loadavg");
$serverload = explode(" ", $load);
$serverload[0] = round($serverload[0], 4);
if(!$serverload) {
$load = @exec("uptime");
$load = split("load averages?: ", $load);
$serverload = explode(",", $load[1]);
}
} else {
$load = @exec("uptime");
$load = split("load averages?: ", $load);
$serverload = explode(",", $load[1]);
}
$returnload = trim($serverload[0]);
if(!$returnload) {
$returnload = $tracker_lang["unknown"];
}
return $returnload;
}
function user_session() {
global $CURUSER, $use_sessions, $datastore;
if (!$use_sessions)
return;
$bots = array(
"google" => "GoogleBot",
"lycos" => "Lycos.com",
"ask jeeves" => "Ask Jeeves",
"slurp@inktomi" => "Hot Bot",
"whatuseek" => "What You Seek",
"is_archiver" => "Archive.org",
"scooter" => "Altavista",
"fast-webcrawler" => "AlltheWeb",
"grub.org" => "Grub Client",
"turnitinbot" => "Turnitin.com",
"msnbot" => "MSN Search",
"yahoo" => "Yahoo! Slurp"
);
$ip = getip();
//$url = getenv("REQUEST_URI");
$url = basename($_SERVER["REQUEST_URI"]);
$agent = $_SERVER["HTTP_USER_AGENT"];
$is_bot = "no";
if (!$CURUSER) {
$uid = -1;
$username = "";
$class = -1;
$spiders = strtolower(implode("|", array_values($bots)));
if (preg_match("#(".$spiders.")#i", $agent, $match)) {
$agent = $match[0];
$is_bot = "yes";
}
} else {
$uid = $CURUSER["id"];
$username = $CURUSER["username"];
$class = $CURUSER["class"];
}
$past = time() - 300;
$sid = session_id();
$where = array();
$updateset = array();
if ($sid)
$where[] = "sid = ".sqlesc($sid);
elseif ($uid)
$where[] = "uid = $uid";
else
$where[] = "ip = ".sqlesc($ip);
//sql_query("DELETE FROM sessions WHERE ".implode(" AND ", $where));
$ctime = time();
$updateset[] = "sid = ".sqlesc($sid);
$updateset[] = "uid = ".sqlesc($uid);
$updateset[] = "username = ".sqlesc($username);
$updateset[] = "class = ".sqlesc($class);
$updateset[] = "ip = ".sqlesc($ip);
$updateset[] = "time = ".sqlesc($ctime);
$updateset[] = "url = ".sqlesc($url);
$updateset[] = "useragent = ".sqlesc($agent);
if (!$CURUSER)
$updateset[] = "is_bot = ".sqlesc($is_bot);
if (count($updateset))
sql_query("UPDATE ".TABLE_SESSIONS." SET ".implode(", ", $updateset)." WHERE ".implode(" AND ", $where)) or sqlerr(__FILE__,__LINE__);
if (mysql_modified_rows() < 1)
sql_query("INSERT INTO ".TABLE_SESSIONS." (sid, uid, username, class, ip, time, url, useragent, is_bot) VALUES (".implode(", ", array_map("sqlesc", array($sid, $uid, $username, $class, $ip, $ctime, $url, $agent, $is_bot))).")") or sqlerr(__FILE__,__LINE__);
}
function unesc($x) {
if (get_magic_quotes_gpc())
return stripslashes($x);
return $x;
}
function gzip() {
if (@extension_loaded('zlib') && @ini_get('zlib.output_compression') != '1' && @ini_get('output_handler') != 'ob_gzhandler' && $use_gzip) {
@ob_start('ob_gzhandler');
}
}
// 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;
}
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 autoclean() {
global $autoclean_interval, $rootpath;
$now = time();
$docleanup = 0;
$res = sql_query("SELECT value_u FROM ".TABLE_AVPS." WHERE arg = 'lastcleantime'");
$row = mysql_fetch_array($res);
if (!$row) {
sql_query("INSERT INTO ".TABLE_AVPS." (arg, value_u) VALUES ('lastcleantime',$now)");
return;
}
$ts = $row[0];
if ($ts + $autoclean_interval > $now)
return;
sql_query("UPDATE ".TABLE_AVPS." SET value_u = $now WHERE arg = 'lastcleantime' AND value_u = $ts");
if (!mysql_affected_rows())
return;
require_once($rootpath . 'include/cleanup.php');
docleanup();
}
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"]);
return sprintf("%d:%02d", $t["min"], $t["sec"]);
}
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, $prints = true, $width = "", $relation = '') {
if ($noesc)
$a = $y;
else {
$a = htmlspecialchars_uni($y);
$a = str_replace("\n", "<br />\n", $a);
}
if ($prints) {
$print = "<td width=\"". $width ."\" class=\"heading\" valign=\"top\" align=\"right\">$x</td>";
$colpan = "align=\"left\"";
} else {
$colpan = "colspan=\"2\"";
}
print("<tr".( $relation ? " relation=\"$relation\"" : "").">$print<td valign=\"top\" $colpan>$a</td></tr>\n");
}
function validfilename($name) {
return preg_match('/^[^\0-\x1f:\\\\\/?*\xff#<>|]+$/si', $name);
}
function validemail($email) {
if (ereg("^([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", $email))
return true;
else
return false;
}
function sent_mail($to, $fromname, $fromemail, $subject, $body, $multiple=false, $multiplemail='') {
global $SITENAME, $SITEEMAIL, $smtptype, $smtp, $smtp_host, $smtp_port, $smtp_from, $smtpaddress, $accountname, $accountpassword, $rootpath;
# Sent Mail Function v.05 by xam (This function to help avoid spam-filters.)
$result = true;
if ($smtptype == 'default') {
@mail($to, $subject, $body, "From: $SITEEMAIL") or $result = false;
} elseif ($smtptype == 'advanced') {
# Is the OS Windows or Mac or Linux?
if (strtoupper(substr(PHP_OS,0,3)=='WIN')) {
$eol="\r\n";
$windows = true;
}
elseif (strtoupper(substr(PHP_OS,0,3)=='MAC'))
$eol="\r";
else
$eol="\n";
$mid = md5(getip() . $fromname);
$name = $_SERVER["SERVER_NAME"];
$headers .= "From: $fromname <$fromemail>".$eol;
$headers .= "Reply-To: $fromname <$fromemail>".$eol;
$headers .= "Return-Path: $fromname <$fromemail>".$eol;
$headers .= "Message-ID: <$mid thesystem@$name>".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-type: text/plain; charset=windows-1251".$eol;
$headers .= "X-Sender: PHP".$eol;
if ($multiple)
$headers .= "Bcc: $multiplemail.$eol";
if ($smtp == "yes") {
ini_set('SMTP', $smtp_host);
ini_set('smtp_port', $smtp_port);
if ($windows)
ini_set('sendmail_from', $smtp_from);
}
@mail($to, $subject, $body, $headers) or $result = false;
ini_restore(SMTP);
ini_restore(smtp_port);
if ($windows)
ini_restore(sendmail_from);
} elseif ($smtptype == 'external') {
require_once($rootpath . 'include/smtp/smtp.lib.php');
$mail = new smtp;
$mail->debug(true);
$mail->open($smtp_host, $smtp_port);
if (!empty($accountname) && !empty($accountpassword))
$mail->auth($accountname, $accountpassword);
$mail->from($SITEEMAIL);
$mail->to($to);
$mail->subject($subject);
$mail->body($body);
$result = $mail->send();
$mail->close();
} else
$result = false;
return $result;
}
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_uni($d);
$d = str_replace("\n", "\n<br>", $d);
}
return $d;
}
function select_theme() {
global $CURUSER, $default_theme;
if ($CURUSER)
$theme = $CURUSER["theme"];
else
$theme = $default_theme;
if (!file_exists($rootpath . "themes/$theme/stdhead.php") || !file_exists($rootpath . "themes/$theme/stdfoot.php") || !file_exists($rootpath . "themes/$theme/template.php"))
$theme = $default_theme;
return $theme;
}
function stdhead($title = "", $msgalert = true) {
global $CURUSER, $SITE_ONLINE, $FUNDS, $SITENAME, $DEFAULTBASEURL, $ss_uri, $tracker_lang, $default_theme, $rootpath;
if (!$SITE_ONLINE)
die("Site is down for maintenance, please check back again later... thanks<br />");
header ("Content-Type: text/html; charset=" . $tracker_lang['language_charset']);
header ("X-Powered-by: TBDev Yuna Scatari Edition - http://bit-torrent.kiev.ua");
header ("X-Chocolate-to: ICQ 7282521");
header ("Cache-Control: no-cache");
header ("Pragma: no-cache");
if ($title == "")
$title = $SITENAME .(isset($_GET['yuna'])?" (".TBVERSION.")":'');
else
$title = $SITENAME .(isset($_GET['yuna'])?" (".TBVERSION.")":''). " :: " . htmlspecialchars_uni($title);
/*if (isset($_GET['styleid']) && $CURUSER) {
$styleid = $_GET['styleid'];
if (is_numeric($styleid)) {
sql_query("UPDATE users SET stylesheet = $styleid WHERE id=" . $CURUSER["id"]) or sqlerr(__FILE__, __LINE__);
header("Location: $DEFAULTBASEURL/");
//$CURUSER["stylesheet"] = $styleid;
} else {
die("Сука, ты чего ломаешь?");
}
}*/
$ss_uri = select_theme();
if ($msgalert && $CURUSER) {
$res = sql_query("SELECT COUNT(*) FROM ".TABLE_MESSAGES." WHERE receiver = " . $CURUSER["id"] . " AND unread='yes'") or die("OopppsY!");
$arr = mysql_fetch_row($res);
$unread = $arr[0];
}
require_once($rootpath . "themes/" . $ss_uri . "/template.php");
require_once($rootpath . "themes/" . $ss_uri . "/stdhead.php");
} // stdhead
function stdfoot() {
global $CURUSER, $ss_uri, $tracker_lang, $queries, $tstart, $query_stat, $querytime, $rootpath;
$ss_uri = select_theme();
require_once($rootpath . "themes/" . $ss_uri . "/stdfoot.php");
if ((DEBUG_MODE || isset($_GET["yuna"])) && count($query_stat)) {
foreach ($query_stat as $key => $value) {
print("<div>[".($key+1)."] => <b>".($value["seconds"] > 0.01 ? "<font color=\"red\" style=\"cursor: default\" title=\"Query optimization is recommended. Time performance exceeds the norm.\">".$value["seconds"]."</font>" : "<font color=\"green\" style=\"cursor: default\" title=\"The request does not need optimization. Time execution allowable.\">".$value["seconds"]."</font>" )."</b> [$value[query]]</div>\n");
}
print("<br />");
}
}
function genbark($x,$y) {
stdhead($y);
print("<h2>" . htmlspecialchars_uni($y) . "</h2>\n");
print("<p>" . htmlspecialchars_uni($x) . "</p>\n");
stdfoot();
exit();
}
function httperr($code = 404) {
$sapi_name = php_sapi_name();
if ($sapi_name == 'cgi' OR $sapi_name == 'cgi-fcgi') {
header('Status: 404 Not Found');
} else {
header('HTTP/1.1 404 Not Found');
}
exit;
}
function gmtime() {
return TIMENOW;
}
function logincookie($id, $passhash, $updatedb = 1, $expires = "") {
my_setcookiee(COOKIE_PREFIX . "uid", $id, $expires, false);
my_setcookiee(COOKIE_PREFIX . "pass", md5($passhash.COOKIE_SALT), $expires, false);
if ($updatedb)
sql_query("UPDATE ".TABLE_USERS." SET last_login = ".TIMENOW." WHERE id = $id");
}
function logoutcookie() {
//my_unsetcookiee(COOKIE_PREFIX . "uid");
my_unsetcookiee(COOKIE_PREFIX . "pass");
my_unsetcookiee("mybbuser");
my_unsetcookiee("sid");
if (my_getuid($uid)) {
$time = TIMENOW;
$lastactive = $time-900;
sql_query("UPDATE ".TABLE_PREFIX."users SET lastactive = ".sqlesc($lastactive).", lastvisit = ".sqlesc($time)." WHERE uid = ".sqlesc($uid));
}
}
function loggedinorreturn($nowarn = false) {
global $CURUSER, $DEFAULTBASEURL;
if (!$CURUSER) {
header("Location: $DEFAULTBASEURL/login.php?returnto=" . urlencode(basename($_SERVER["REQUEST_URI"])).($nowarn ? "&nowarn=1" : ""));
exit();
}
}
function deletetorrent($id) {
global $torrent_dir;
sql_query("DELETE FROM ".TABLE_TORRENTS." WHERE id = $id");
sql_query("DELETE FROM ".TABLE_BOOKMARKS." WHERE id = $id");
sql_query("DELETE FROM ".TABLE_SNATCHED." WHERE torrent = $id");
foreach (array(TABLE_PEERS, TABLE_FILES, TABLE_COMMENTS, TABLE_RATINGS) as $x)
sql_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 = "<td class=\"pager\"> Page </td><td class=\"pagebr\"> </td>";
$mp = $pages - 1;
$as = "<b>«</b>";
if ($page >= 1) {
$pager .= "<td class=\"pager\">";
$pager .= "<a href=\"{$href}page=" . ($page - 1) . "\" style=\"text-decoration: none;\">$as</a>";
$pager .= "</td><td class=\"pagebr\"> </td>";
}
$as = "<b>»</b>";
if ($page < $mp && $mp >= 0) {
$pager2 .= "<td class=\"pager\">";
$pager2 .= "<a href=\"{$href}page=" . ($page + 1) . "\" style=\"text-decoration: none;\">$as</a>";
$pager2 .= "</td>$bregs";
}else $pager2 .= $bregs;
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[] = "<td class=\"pager\">...</td><td class=\"pagebr\"> </td>";
$dotted = 1;
continue;
}
$dotted = 0;
$start = $i * $rpp + 1;
$end = $start + $rpp - 1;
if ($end > $count)
$end = $count;
$text = $i+1;
if ($i != $page)
$pagerarr[] = "<td class=\"pager\"><a title=\"$start - $end\" href=\"{$href}page=$i\" style=\"text-decoration: none;\"><b>$text</b></a></td><td class=\"pagebr\"> </td>";
else
$pagerarr[] = "<td class=\"highlight\"><b>$text</b></td><td class=\"pagebr\"> </td>";
}
$pagerstr = join("", $pagerarr);
$pagertop = "<table class=\"main\"><tr>$pager $pagerstr $pager2</tr></table>\n";
$pagerbottom = "$count items in $i pages<br /><br /><table class=\"main\">$pager $pagerstr $pager2</table>\n";
}
else {
$pagertop = $pager;
$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 = sql_query("SELECT COUNT(*) AS c, torrent, seeder FROM ".TABLE_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 = sql_query("SELECT COUNT(*) AS c, torrent FROM ".TABLE_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, $redaktor = "comment") {
global $CURUSER, $avatar_max_width;
$count = 0;
foreach ($rows as $row) {
if ($row["downloaded"] > 0) {
$ratio = $row['uploaded'] / $row['downloaded'];
$ratio = number_format($ratio, 2);
} elseif ($row["uploaded"] > 0) {
$ratio = "Inf.";
} else {
$ratio = "---";
}
if ($row["last_access"] > TIMENOW - 300) {
$online = "online";
$online_text = "".$tracker_lang['online']."";
} else {
$online = "offline";
$online_text = "".$tracker_lang['offline']."";
}
print("<table class=maibaugrand width=100% border=1 cellspacing=0 cellpadding=3>");
print("<tr><td class=colhead align=\"left\" colspan=\"2\" height=\"24\">");
if (isset($row["username"]))
{
$title = $row["title"];
if ($title == ""){
$title = get_user_class_name($row["class"]);
}else{
$title = htmlspecialchars_uni($title);
}
print(":: "
." <a name=comm". $row["id"]." href=userdetails.php?id=" . $row["user"] . " class=altlink_white><b>". get_user_class_color($row["class"], htmlspecialchars_uni($row["username"])) . "</b></a> ::"
.($row["donor"] == "yes" ? "<img src=pic/star.gif alt='Donor'>" : "") . ($row["warned"] == "yes" ? "<img src=\"/pic/warned.gif\" alt=\"Warned\">" : "") . "\n")
." Uploaded: ".mksize($row["uploaded"]) ." :: Downloaded: ".mksize($row["downloaded"])." :: Ratio: <font color=\"".get_ratio_color($ratio)."\">$ratio</font> :: ";
} else {
print("<a name=\"comm" . $row["id"] . "\"><i>[Anonymous]</i></a>\n");
}
$avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars_uni($row["avatar"]) : "");
if (!$avatar){$avatar = "pic/default_avatar.gif"; }
$text = format_comment($row["text"]);
if ($row["editedby"]) {
$text .= "<p><font size=1 class=small> ".$tracker_lang['functions_lastedited']." <a href=userdetails.php?id=".$row["editedby"]."><b>".$row["editedbyname"]."</b></a> at ".get_date_time($row["editedat"])."</font></p>\n";
}
print("</td></tr>");
print("<tr valign=top>\n");
print("<td style=\"padding: 0px; width: 5%;\" align=\"center\"><img src=$avatar width=\"$avatar_max_width\"><br>User Status:<br><img src=\"pic/buttons/button_".$online.".gif\" alt=\"".$online_text."\" title=\"".$online_text."\" style=\"position: relative; top: 2px;\" border=\"0\"> </td>\n");
print("<td width=100% class=text>");
print("$text</td>\n");
print("</tr>\n");
print("<tr><td class=colhead align=\"center\" colspan=\"2\">");
print"<div style=\"float: left; width: auto;\">"
.($CURUSER ? " [<a href=\"".$redaktor.".php?action=quote&cid=$row[id]\" class=\"altlink_white\">Reply</a>]" : "")
.($row["user"] == $CURUSER["id"] || get_user_class() >= UC_MODERATOR ? " [<a href=".$redaktor.".php?action=edit&cid=$row[id] class=\"altlink_white\">Edit</a>]" : "")
.(get_user_class() >= UC_MODERATOR ? " [<a href=\"".$redaktor.".php?action=delete&cid=$row[id]\" class=\"altlink_white\">Delete</a>]" : "")
.($row["editedby"] && get_user_class() >= UC_MODERATOR ? " [<a href=\"".$redaktor.".php?action=vieworiginal&cid=$row[id]\" class=\"altlink_white\">Original</a>]" : "")
.(get_user_class() >= UC_MODERATOR ? " IP: ".($row["ip"] ? "<a href=\"usersearch.php?ip=$row[ip]\" class=\"altlink_white\">".$row["ip"]."</a>" : "Unknow" ) : "")
."</div>";
print("<div align=\"right\">Added: ".get_date_time($row["added"])." GMT</td></tr>");
print("</table><br>");
}
}
function searchfield($s) {
return preg_replace(array('/[^a-z0-9]/si', '/^\s*/s', '/\s*$/s', '/\s+/s'), array(" ", "", "", " "), $s);
}
function genrelist() {
$ret = array();
$res = sql_query("SELECT id, name FROM ".TABLE_CATEGORIES." ORDER BY sort ASC");
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, $tracker_lang;
$r = round($num * 2) / 2;
if ($r < 1 || $r > 5)
return;
return "<img src=\"$pic_base_url$r.gif\" border=\"0\" alt=\"".$tracker_lang['rating'].": $num / 5\" />";
}
function torrenttable($res, $variant = "index") {
global $pic_base_url, $CURUSER, $use_wait, $use_ttl, $ttl_days, $tracker_lang;
if ($use_wait && $CURUSER && get_user_class() < UC_VIP) {
$gigs = $CURUSER["uploaded"] / (1024*1024*1024);
$ratio = (($CURUSER["downloaded"] > 0) ? ($CURUSER["uploaded"] / $CURUSER["downloaded"]) : 0);
if ($ratio < 0.5 || $gigs < 5) $wait = 48;
elseif ($ratio < 0.65 || $gigs < 6.5) $wait = 24;
elseif ($ratio < 0.8 || $gigs < 8) $wait = 12;
elseif ($ratio < 0.95 || $gigs < 9.5) $wait = 6;
else $wait = 0;
}
print("<tr>\n");
// sorting by MarkoStamcar
$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)));
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'] == "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 ($link7 == "") { $link7 = "desc"; }
if ($link8 == "") { $link8 = "desc"; }
if ($link9 == "") { $link9 = "desc"; }
if ($link10 == "") { $link10 = "desc"; }
?>
<td class="colhead" align="center"><?=$tracker_lang['type'];?></td>
<td class="colhead" align="left"><nobr><a href="browse.php?<? print $oldlink; ?>sort=1&type=<? print $link1; ?>" class="altlink_white"><?=$tracker_lang['name'];?></a> / <a href="browse.php?<? print $oldlink; ?>sort=4&type=<? print $link4; ?>" class="altlink_white"><?=$tracker_lang['added'];?></a></nobr></td>
<?
if ($wait)
print("<td class=\"colhead\" align=\"center\">".$tracker_lang['wait']."</td>\n");
if ($variant == "mytorrents")
print("<td class=\"colhead\" align=\"center\">".$tracker_lang['visible']."</td>\n");
?>
<td class="colhead" align="center"><a href="browse.php?<? print $oldlink; ?>sort=2&type=<? print $link2; ?>" class="altlink_white"><img alt="<?=$tracker_lang['browse_orderbyfiles'];?>" border="0" src=/themes/<?=$CURUSER["theme"];?>/images/files.gif></a></td>
<td class="colhead" align="center"><a href="browse.php?<? print $oldlink; ?>sort=3&type=<? print $link3; ?>" class="altlink_white"><img alt="<?=$tracker_lang['browse_orderbycomments'];?>" border="0" src=/themes/<?=$CURUSER["theme"];?>/images/comments.gif></a></td>
<? if ($use_ttl) {
?>
<td class="colhead" align="center"><?=$tracker_lang['ttl'];?></td>
<?
}
?>
<td class="colhead" align="center"><a href="browse.php?<? print $oldlink; ?>sort=5&type=<? print $link5; ?>" class="altlink_white"><?=$tracker_lang['size'];?></a></td>
<td class="colhead" align="center"><a href="browse.php?<? print $oldlink; ?>sort=7&type=<? print $link7; ?>" class="altlink_white"><img alt="<?=$tracker_lang['browse_orderbyseed'];?>" border="0" src=/themes/<?=$CURUSER["theme"];?>/images/seeders.gif></a></td>
<td class="colhead" align="center"><a href="browse.php?<? print $oldlink; ?>sort=7&type=<? print $link10; ?>" class="altlink_white"><img alt="<?=$tracker_lang['browse_orderbyleech'];?>" border="0" src=/themes/<?=$CURUSER["theme"];?>/images/leechers.gif></a></td>
<?
if ($variant == "index" || $variant == "bookmarks")
print("<td class=\"colhead\" align=\"center\"><a href=\"browse.php?{$oldlink}sort=9&type={$link9}\" class=\"altlink_white\">".$tracker_lang['uploadeder']."</a></td>\n");
if ((get_user_class() >= UC_MODERATOR) && $variant == "index")
print("<td class=\"colhead\" align=\"center\"><a href=\"browse.php?{$oldlink}sort=10&type={$link10}\" class=\"altlink_white\">".$tracker_lang['browse_changed']."</td>");
if ((get_user_class() >= UC_MODERATOR) && $variant == "index")
print("<td class=\"colhead\" align=\"center\">".$tracker_lang['delete']."</td>\n");
if ($variant == "bookmarks")
print("<td class=\"colhead\" align=\"center\">".$tracker_lang['delete']."</td>\n");
print("</tr>\n");
print("<tbody id=\"highlighted\">");
if ((get_user_class() >= UC_MODERATOR) && $variant == "index")
print("<form method=\"post\" action=\"deltorrent.php?mode=delete\">");
if ($variant == "bookmarks")
print ("<form method=\"post\" action=\"takedelbookmark.php\">");
while ($row = mysql_fetch_assoc($res)) {
$id = $row["id"];
print("<tr".($row["sticky"] == "yes" ? " class=\"highlight\"" : "").">\n");
print("<td align=\"center\" style=\"padding: 0px\">");
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/cats/" . $row["cat_pic"] . "\" alt=\"" . $row["cat_name"] . "\" />");
else
print($row["cat_name"]);
print("</a>");
}
else
print("-");
print("</td>\n");
$dispname = $row["name"];
$thisisfree = ($row[free]=="yes" ? "<img src=\"pic/freedownload.gif\" title=\"".$tracker_lang['golden']."\" alt=\"".$tracker_lang['golden']."\">" : "");
print("<td align=\"left\">".($row["sticky"] == "yes" ? "".$tracker_lang['ulpoad_sticky'].": " : "")."<a href=\"details.php?");
if ($variant == "mytorrents")
print("returnto=" . urlencode($_SERVER["REQUEST_URI"]) . "&");
print("id=$id");
if ($variant == "index" || $variant == "bookmarks")
print("&hit=1");
print("\"><b>$dispname</b></a> $thisisfree\n");
if ($variant != "bookmarks" && $CURUSER)
print("<a href=\"bookmark.php?torrent=$row[id]\"><img border=\"0\" src=\"pic/bookmark.gif\" alt=\"".$tracker_lang['bookmark_this']."\" title=\"".$tracker_lang['bookmark_this']."\" /></a>\n");
print("<a href=\"download.php?id=$id&name=" . rawurlencode($row["filename"]) . "\"><img src=\"pic/download.gif\" border=\"0\" alt=\"".$tracker_lang['download']."\" title=\"".$tracker_lang['download']."\"></a>\n");
if ($CURUSER["id"] == $row["owner"] || get_user_class() >= UC_MODERATOR)
$owned = 1;
else
$owned = 0;
if ($owned)
print("<a href=\"edit.php?id=$row[id]\"><img border=\"0\" src=\"pic/pen.gif\" alt=\"".$tracker_lang['edit']."\" title=\"".$tracker_lang['edit']."\" /></a>\n");
if ($row["readtorrent"] == 0 && $variant == "index")
print ("<b><font color=\"red\" size=\"1\">[New]</font></b>");
print("<br /><i>".get_date_time($row["added"])."</i>");
if ($wait) {
$elapsed = floor((TIMENOW - $row["added"]) / 3600);
if ($elapsed < $wait) {
$color = dechex(floor(127*($wait - $elapsed)/48 + 128)*65536);
print("<td align=\"center\"><nobr><a href=\"faq.php#dl8\"><font color=\"$color\">" . number_format($wait - $elapsed) . " h</font></a></nobr></td>\n");
} else
print("<td align=\"center\"><nobr>".$tracker_lang['no']."</nobr></td>\n");
}
print("</td>\n");
if ($variant == "mytorrents") {
print("<td align=\"right\">");
if ($row["visible"] == "no")
print("<font color=\"red\"><b>".$tracker_lang['no']."</b></font>");
else
print("<font color=\"green\">".$tracker_lang['yes']."</font>");
print("</td>\n");
}
if ($row["type"] == "single")
print("<td align=\"right\">" . $row["numfiles"] . "</td>\n");
else {
if ($variant == "index")
print("<td align=\"right\"><b><a href=\"details.php?id=$id&hit=1&filelist=1\">" . $row["numfiles"] . "</a></b></td>\n");
else
print("<td align=\"right\"><b><a href=\"details.php?id=$id&filelist=1#filelist\">" . $row["numfiles"] . "</a></b></td>\n");
}
if (!$row["comments"])
print("<td align=\"right\">" . $row["comments"] . "</td>\n");
else {
if ($variant == "index")
print("<td align=\"right\"><b><a href=\"details.php?id=$id&hit=1&tocomm=1\">" . $row["comments"] . "</a></b></td>\n");
else
print("<td align=\"right\"><b><a href=\"details.php?id=$id&page=0#startcomments\">" . $row["comments"] . "</a></b></td>\n");
}
$ttl = ($ttl_days*24) - floor((TIMENOW - $row["added"]) / 3600);
if ($ttl == 1)
$ttl .= " ".$tracker_lang['hour']."";
else
$ttl .= " ".$tracker_lang['hours']."";
if ($use_ttl)
print("<td align=\"center\">$ttl</td>\n");
print("<td align=\"center\">" . mksize($row["size"]) . "</td>\n");
print("<td align=\"center\">");
if ($row["seeders"]) {
if ($variant == "index") {
if ($row["leechers"]) $ratio = $row["seeders"] / $row["leechers"]; else $ratio = 1;
print("<b><a href=\"details.php?id=$id&hit=1&toseeders=1\"><font color=" .
get_slr_color($ratio) . ">" . $row["seeders"] . "</font></a></b>\n");
} else
print("<b><a class=\"" . linkcolor($row["seeders"]) . "\" href=\"details.php?id=$id&dllist=1#seeders\">" .
$row["seeders"] . "</a></b>\n");
} else
print("<span class=\"" . linkcolor($row["seeders"]) . "\">" . $row["seeders"] . "</span>");
print(" </td><td align=center> ");
if ($row["leechers"]) {
if ($variant == "index")
print("<b><a href=\"details.php?id=$id&hit=1&todlers=1\">" .
number_format($row["leechers"]) . ($peerlink ? "</a>" : "") .
"</b>\n");
else
print("<b><a class=\"" . linkcolor($row["leechers"]) . "\" href=\"details.php?id=$id&dllist=1#leechers\">" .
$row["leechers"] . "</a></b>\n");
} else
print("0\n");
print("</td>");
if ($variant == "index" || $variant == "bookmarks")
print("<td align=\"center\">" . (isset($row["username"]) ? ("<a href=\"userdetails.php?id=" . $row["owner"] . "\"><b>" . get_user_class_color($row["class"], htmlspecialchars_uni($row["username"])) . "</b></a>") : "<i>(unknown)</i>") . "</td>\n");
if ($variant == "bookmarks")
print ("<td align=\"center\"><input type=\"checkbox\" name=\"delbookmark[]\" value=\"" . $row[bookmarkid] . "\" /></td>");
if ((get_user_class() >= UC_MODERATOR) && $variant == "index") {
if ($row["moderated"] == "no")
print("<td align=\"center\"><font color=\"red\"><b>".$tracker_lang['no']."</b></font></td>\n");
else
print("<td align=\"center\"><a href=\"userdetails.php?id=$row[moderatedby]\"><font color=\"green\"><b>".$tracker_lang['yes']."</b></font></a></td>\n");
}
if ((get_user_class() >= UC_MODERATOR) && $variant == "index")
print("<td align=\"center\"><input type=\"checkbox\" name=\"delete[]\" value=\"" . $id . "\" /></td>\n");
print("</tr>\n");
}
print("</tbody>");
if ($variant == "index" && $CURUSER)
print("<tr><td class=\"colhead\" colspan=\"12\" align=\"center\"><a href=\"markread.php\" class=\"altlink_white\">".$tracker_lang['mark_as_read']."</a></td></tr>");
//print("</table>\n");
if ($variant == "index") {
if (get_user_class() >= UC_MODERATOR) {
print("<tr><td align=\"right\" colspan=\"12\"><input type=\"submit\" value=\"".$tracker_lang['delete']."\"></td></tr>\n");
}
}
if ($variant == "bookmarks")
print("<tr><td colspan=\"12\" align=\"right\"><input type=\"submit\" value=\"".$tracker_lang['delete']."\"></td></tr>\n");
if ($variant == "index" || $variant == "bookmarks") {
if (get_user_class() >= UC_MODERATOR) {
print("</form>\n");
}
}
return $rows;
}
function hash_pad($hash) {
return str_pad($hash, 20);
}